如何在不同的 IDA 上引用相同的调用

逆向工程 艾达 地址 抵消
2021-06-27 15:50:05

当我在 IDA 中打开一个 .exe 文件时,每次我都会得到不同的函数地址,因为每次我都会得到不同的基地址偏移量。

因此,如果我用 IDA 打开一个 .exe 文件并想告诉朋友“看看 sub_8876”,由于偏移量不同,他无法这样做。

什么是解决方案?

2个回答

你们中的一个(或两个)可以只是重新设置程序的基础,并且应该将所有地址显示为相同。如果你想让他变基他的计划是一样的你,找出你的基址(滚动到你的顶部.exeText View),然后让你的朋友去到编辑- >段- >程序衍合...并在提示时让他输入你的基本地址。

或者,您都可以重新绑定到相同的基地址,例如0x10000000.

实际上,您说解决方案是什么:使用偏移量。您可以使用以下 IDA Python 获取该函数、全局或任何函数的偏移量:

Python> hex(here() - idaapi.get_imagebase()) 0x38a0aL

它从光标下的地址中减去数据库的基地址。然后,您可以告诉您的朋友偏移量,她/他将不得不转到数据库的开头(只需按几次“主页”键),按“g”键并输入 +0xGIVENOFFSET(注意+在开始)去你想指向她/他的功能。