修补二进制文件后如何更新注入调用的地址?

逆向工程 艾达 聚乙烯 修补
2021-06-18 14:01:32

在使用 IDA 分析了一个 dll 文件后,我用另一个调用替换了一个调用。也就是说,替换CALL xxxxCALL ds:yyyy. ds:yyyy已被其他位置引用)。我使用 IDA 修补二进制文件。

但问题是,在执行模块时,ds:yyyy没有根据模块镜像库进行更新,因此地址无效。

我该如何处理这种情况?我也需要修补 reloc 部分吗?谢谢。

1个回答

自己回答吧。它实际上是一个可移植的可执行文件。每次我通过重定位表启动它时,硬编码的地址都会更新。

我通过工具修改了表格,它运行良好。