我有一个打包的可执行文件。为了处理解包,我想提取进程的内存版本,理想情况下,它会回滚到等效的 Mach-O 二进制文件中——这样它就可以在反汇编程序中查看——我不需要解压后的文件才能运行。
存在相同程序的 Windows 版本,并且它也被打包。PE Tool 之类的实用程序使此任务变得简单:您选择进程,然后是模块,然后您有一个解压的二进制文件。
我找不到任何可以在 OS X 端执行此操作的应用程序。我可以想象两种考虑运行时的广泛方法:
当给定进程和模块时,PE 工具可以自动生成二进制文件
尝试将通用内存转储滚动到程序主模块的正确 Mach-O 文件中
我将不胜感激任何关于这几点的建议。尽管我不熟悉它,但我可以使用 OS X 环境。
与通过静态分析解决这个问题有关的建议也将不胜感激