2013-03-26 141 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