如何转储解压后的 PE 并在直接调用它们时仍然使用 IDA 获取 API 名称?

逆向工程 艾达 调试 蟒蛇 开箱
2021-07-06 04:14:46

所以我有一个可以解压自己并重写入口点等(不是标题)的 PE

我使用 scylla 和 x32dbg 解压它,我将 OEP 设置为之前的 OEP,因为它从那里写入解压的 OEP,并且 IAT 搜索成功

但问题是在转储它并将其加载到 IDA 之后,所以我可以使用反编译器,API 调用就像 MEMORY[address](a , b . c)

我无法使用 IDA 来调试它,因为它在到达 WriteProcessMemory 之前给出了一些错误,我想一些反调试的东西,即使使用 scyllahide 我也无法绕过这些错误,但奇怪的是 x32dbg 没有问题,错误是因为错误内存访问,但不知何故 x32dbg 没有问题!

那么我该如何解决这个问题?我检查了 MEMORY[address] 中的地址,它们实际上是 API 调用的地址,但我猜因为程序是直接使用它们而不是通过 IAT,那么 IDA 无法知道它们是什么,我想一个修复将以某种方式包括那些 dll 在转储的 PE 中的确切地址,但我不知道如何

0个回答
没有发现任何回复~