-3

我有 foo.exe,它使用了一些 Windows API 函数。我想获取这些函数的内存地址,我该怎么做?我可以使用任何可用的软件吗?

请注意,我正在寻找非编程方式来做到这一点。

谢谢

4

2 回答 2

3

我正在寻找非编程方式来做到这一点。

要么这是不可能的,要么没有任何意义。可能两者兼而有之。

您会看到,为了调用 Windows API 函数之一,程序必须从包含感兴趣函数的 DLL 中导入它。这要求将 DLL 加载到该程序进程的地址空间中。而且因为每个进程都有自己的地址空间,每个进程都有自己唯一的 DLL 实例(或副本)。这意味着 DLL 提供的函数的“内存地址”在每个进程中都是不同的。

以非编程方式检索这些信息是没有意义的。即使你得到它,它对你也没有任何好处。

如果你编辑你的问题来解释你希望完成什么,我可能会提供更好的建议,而不是仅仅询问你已经确定的方法。

于 2013-03-26T03:52:22.580 回答
2

对于加载 DLL 的每个进程,导出函数的地址可能不同。该GetProcAddress功能可以告诉您它们对您的流程有什么作用。

于 2013-03-26T02:42:00.250 回答