请问如何动态修改二进制?

我逆向个程序,把原app里的几句指令修改成了NOP。
现在想不修改原app,想在在插件里,tweak.xm里修改这几条指令。
网上查了下,找到指令的地址通过_dyld_register_func_for_add_image(_register_func_for_add_image);
应该可以,那么怎么修改呢?

动态修改二进制还做不到吧?只能做函数和参数级的修改

内存Patch可以的

extern mach_executable_header【好像是这名字】+mach_vm_protect就可以了

  • _dyld_get_image_header(0) 取到基址
  • mach_vm_protect 修改可写
  • mach_vm_write / memcpy 写入新指令
  • mach_vm_protect 还原
1 Like

谢谢大佬回复:grinning:

谢谢大佬回复

谢谢大佬回复,嗯嗯,我来看下,非常感谢

混迹论坛辣么久,一直默默地学习大佬,默默地膜拜大佬,这次大佬都给我回贴了,好激动,好高兴:grinning:继续抓紧学习。

你这个技术看上去好厉害,是不是不懂汇编的菜鸟就没办法玩了

我也是菜鸟啊,很菜。继续学习

我也是菜鸟啊,很菜。继续学习

大佬好调皮啊

感谢大佬提供方法

大佬 能加个 QQ 指导下学习方向吗:rofl:

vm_protect 对于模拟器可生效,真机上会crash

非越狱设备内核不允许

感谢回复~