首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >运行时的iOS补丁程序指令

运行时的iOS补丁程序指令
EN

Stack Overflow用户
提问于 2012-11-28 13:42:35
回答 3查看 2.7K关注 0票数 22

如何在应用程序运行时修改各个汇编指令?

我有一个移动基板调整,我正在为现有的应用程序编写。在调整的构造函数(MSInitialize)中,我需要能够在应用程序的代码中重写单独的指令。我的意思是,在应用程序的地址空间中可能有多个我希望修改的位置,但在每个实例中,只需要修改一条指令。我已经为应用程序禁用了ASLR,并且知道要打补丁的指令的确切内存地址,并且我有新指令的十六进制字节(作为char[],但这并不重要,如果需要可以更改)。我只需要弄清楚如何执行更改。

我知道iOS使用数据执行保护(DEP)来指定可执行内存页面不能也是可写的,反之亦然,但我知道在越狱设备上可以绕过这一点。我还知道iDevices使用的ARM处理器有一个指令缓存,需要更新以反映变化。然而,我甚至不知道从哪里开始做这个。

所以,为了回答这个肯定会被问到的问题,我没有尝试任何东西。这并不是因为我懒惰,而是因为我完全不知道如何才能做到这一点。任何帮助都将不胜感激。

编辑:

如果它有任何帮助,我的最终目标是将其用于挂接App Store应用程序的移动底层调整中。以前,为了修改这个应用程序,人们必须首先破解它来解密应用程序,这样二进制文件才能被修补。我想让人们不必破解应用程序,因为这会导致盗版,而我强烈反对盗版。我不能正常使用移动底层,因为所有的工作都是在C++中完成的,而不是Objective-C,而且应用程序被剥离了,没有留下任何符号来使用MSHookFunction

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13598571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档