如何使用 Python 替换 PE 文件中的指令?

问题描述

我想用相同长度的语义等效指令替换 PE 映像的代码 (.text) 部分中的汇编指令。一个例子是用“sub -5”替换“add 5”,当然我有比这更详细的计划。

我发现 LIEF 非常适合在 PE 文件中处理更高级别的功能,并且可以为您提供代码段数据的转储。这似乎同样适用于 pefile 库。不过,除非我遗漏了一些东西,否则它们似乎不是处理单个指令的好工具。

目标是执行一些初始反汇编和循环指令,以便找到有趣或需要的指令(例如,上面的 add 指令)。然后我宁愿不必弄清楚所有的操作码并手动生成字节。如果可能的话,我会寻找一些对开发人员更友好的东西来为你计算它(例如,this.intr = 'add' 和 this.op1 = '5')。理想情况下,它不会在更改后尝试重新组装整个部分......这可能会导致其他差异发生,我的用例要求这个单独的指令是从位级角度来看的唯一更改。同样,这个想法是我只会选择长度相等的语义等效指令,这将允许这种情况发生而无需从头开始重新组装。

我如何使用 Python 做这样的事情?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)