如何在Windows上调用ELF函数

时间:2014-07-28 14:27:50

标签: c++ windows elf

我试图手动反转ELF文件的一些游戏功能(libGame.so)但它们太长而且我得到了很多错误,所以我想如果在Windows中调用那些函数是可行的,因为处理器是x86 。我试图恢复的功能是:

  

CDecryptBaseClass :: decrypt(void * ptr,u32 lenght);

我一直在寻找,我只是找到了如何调用DLL函数,也许有一些hack将ELF作为DLL运行...

1 个答案:

答案 0 :(得分:2)

理论上你可以这样做,正如Andrew Medico所说的那样。将二进制文件加载到内存中,解析ELF文件,以某种方式解析所有外部引用,找到要调用的函数的地址,然后跳转到它。但是这有两个问题,第一个问题是它不仅仅是逆向工程功能。第二,快速搜索网络显示您可能从Android游戏中获取libgame.so。大多数Android设备使用ARM CPU,因此机器代码不会与您的x86 CPU兼容。

然而,这为您的问题提供了一种可能的解决方案。创建一个简单的Android应用程序,加载libgame.so并为您解密。使用Google提供的Android模拟器及其开发工具包来运行该应用程序。