想调回原函数,要把原函数被覆盖的前几条指令写好
抱歉,是我没搞清楚,把偏移量算错了,上面的提问请忽略哈
@jmpews 请问一下 如果有多个函数需要hook , MachOStaticPatcher 多次使用?
不需要多次使用,一次使用就够了
./MachOStaticPatcher [macho] [地址1] [地址2] ····
0x10046EE4C 0x10046EDC0,这两个函数长什么样,来自于什么段?
这两个函数地址需要是在macho中的物理地址喔
这个MachOStaticPatcher是inline hook,是patch函数的,写参数和返回值避免污染寄存器
指针的话不太合适
1、可信,因为是读二进制里面的指令解析的
2、写不写都行,看你想不想拿参数做事,但返回值最好给,这两个函数还是比较鲁棒
2、 ZzReplace( void *function_address, void *replace_call, void **origin_call)用这个的话你填的是运行时地址
3、运行时hook和Staticpatcher的inline hook不同
3、用Staticpatcher最好写参数,因为怕操作污染寄存器,所以用参数保存
抱歉,不知道我有没有说清楚
我是开源的, 兄弟, 看一下代码.
lipo提取为单架构尝试下,可以自己写个demo测下嘛,
找dSYM就是物理地址了或者我是用hopper看的
如果有符号直接nm都能看到了
如果自己写的demo都不行那再聊
大佬们,问下 monkeyDev里面怎么使用这个libRuntimeSupport.dylib动态库,monkeyDev本身生成的动态库里面用不了这个动态库,有没有办法
MachOStaticPatcher是什么静态Patch吗,可以实现非越狱环境下hook c函数?
被移除了?我运行有问题 segmentation fault