2013-03-26 149 views
-3

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

注意,那我找非编程的方式这样做。

谢谢

回答

2

对于加载DLL的每个进程,导出函数的地址可能不同。 GetProcAddress函数可以告诉你它们对于你的过程是什么。

+0

是的,我知道。我正在寻找非编程方式获取内存地址。 – 2013-03-26 02:56:52

+1

@BillGates:你完全阅读乔纳森的答案吗?除了调用“GetProcAddress”的程序之外,您获得的“内存地址”对于任何内容都是没有意义的。目前还不清楚你想在这里实现什么。 – jamesdlin 2013-03-26 03:10:42

3

我找非编程的方式这样做。

要么这是不可能的或它没有任何意义。可能两者。

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

检索这些信息非编程只是没有任何意义。即使你可以得到它,它不会对你有任何好处。

我可以提供更好的建议,如果你编辑你的问题,解释你希望完成,而不是只是问你已经解决的方法。

+0

谢谢科迪。我正在学习Win Hooks,并且在其中一个使用静态MessageBox地址的教程中写入了他的自定义函数。 我知道这个地址应该每次都会改变,但为了获得一些练习,了解我可以如何手动获取该地址可能是有用的。谢谢! – 2013-03-26 04:14:51

+0

我想不出任何可行的方法......你有链接到教程吗?也许这是暗示你做了别的事情,而你却误解了它。 – 2013-03-26 05:13:26