gpt4 book ai didi

c++ - 如何在Linux/Mac上调用特定的EXE函数

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:15 24 4
gpt4 key购买 nike

我确定是否可以,但我想调用 Linux/Mac 上 exe 文件中定义的函数:

0x421ff0 @@my_func_doing_stuff@Initialize 4

基本上我想添加尚未实现的命令行支持,并且 UI 是一种无用的拖放操作。

注意:我无权访问该文件的源。

我一直在使用 wine、objdump、uncc(试图再次将其转换为 C)以及使用 pefile、SWIG 和 ctypes 的 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可以调用具体的函数。

有现成的解决方案吗?

最佳答案

您可以use winelib to load and link with the binary (因为您需要 wine 来提供可用的 ABI),但请记住,这会有效地将您的应用程序转变为 Wine 应用程序。

关于c++ - 如何在Linux/Mac上调用特定的EXE函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com