Skip to content

Instantly share code, notes, and snippets.

@shepgoba
Created October 23, 2020 04:04
Show Gist options
  • Save shepgoba/76f42f7809eb18527342d1ef571345a1 to your computer and use it in GitHub Desktop.
Save shepgoba/76f42f7809eb18527342d1ef571345a1 to your computer and use it in GitHub Desktop.
Substrate tweak in arm64 assembly
.extern _objc_getClass
.extern _sel_registerName
.extern _MSHookMessageEx
.section __TEXT,__text,regular,pure_instructions
.align 16
_init:
stp x29, x30, [sp, #-16]!
sub sp, sp, #16
adrp x0, className@page
add x0, x0, className@pageoff
bl _objc_getClass
str x0, [sp, #8]
adrp x0, selName@page
add x0, x0, selName@pageoff
bl _sel_registerName
mov x1, x0
ldr x0, [sp, #8]
adrp x2, new_method@page
add x2, x2, new_method@pageoff
adrp x3, orig_method@page
add x3, x3, orig_method@pageoff
bl _MSHookMessageEx
add sp, sp, #16
ldp x29, x30, [sp], #16
ret
.align 16
new_method:
adrp x8, orig_method@page
add x8, x8, orig_method@pageoff
ldr x8, [x8]
fmov d0, #0.0
br x8
.section __DATA,data
selName:
.asciz "setBackgroundAlpha:"
className:
.asciz "SBDockView"
orig_method:
.quad 0
.section __DATA,__mod_init_func,mod_init_funcs
.p2align 4
.quad _init
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment