我有一个签名的 mac 应用程序,但我没有该应用程序的源代码。我知道一些汇编指令的地址位置,我需要更改这些指令以使这个应用程序以某种方式工作。所以我正在尝试编写一个补丁程序,它应该能够读取原始 mac 应用程序的程序集并更改这些地址并生成没有签名的新 mac 应用程序。
这个修补程序应该是一个独立的 mac 应用程序。修补程序应修补原始应用程序并生成修改后的应用程序。
我怎样才能做到这一点?我只需要一些指导来编写这个修补程序。
我有一个签名的 mac 应用程序,但我没有该应用程序的源代码。我知道一些汇编指令的地址位置,我需要更改这些指令以使这个应用程序以某种方式工作。所以我正在尝试编写一个补丁程序,它应该能够读取原始 mac 应用程序的程序集并更改这些地址并生成没有签名的新 mac 应用程序。
这个修补程序应该是一个独立的 mac 应用程序。修补程序应修补原始应用程序并生成修改后的应用程序。
我怎样才能做到这一点?我只需要一些指导来编写这个修补程序。
这有几个方面:
更新:
要自动进行磁盘修补,可以使用一种非常简单的方法,该方法基于一些模式匹配和一些启发式方法:
以上所有内容都足以(希望)适应版本更改并确保您在正确的位置进行更改。这样的修补程序可以很容易地用 Python 编码。对于反汇编,您可以使用具有 Python 绑定的Capstone库。
考虑到这一点,你填写 make OSX 抱怨这个修补的应用程序,因为它不会再被签名。