我确定是否可能,但我想调用 Linux/Mac 上的 exe 文件中定义的函数:
0x421ff0 @@my_func_doing_stuff@Initialize 4
基本上我想添加未实现的命令行支持,并且 UI 是一种无用的拖放。
注意:我无权访问文件的来源。
我一直在使用 pefile、SWIG 和 ctypes 玩 wine、objdump、uncc(试图再次将其转换为 C)和 Python:
#!/usr/bin/python
from ctypes import *
import pefile, sys
pe = pefile.PE('my_file.exe')
print pe.dump_info()
my_exe = cdll.LoadLibrary('./my_file.exe')
但没有成功。
错误:
OSError: ./my_file.exe: invalid ELF header
提醒我在没有仿真的情况下无法在 Linux 下调用任何 Windows 功能?
所以我正在寻找其他一些解决方案。可能通过在wine下模拟或调试它可以以某种方式完成。但我不确定是否有任何 API 可以调用特定函数。
有没有现成的解决方案?