我試圖通過讓手柄並打印其值設置爲獲得在C++的過程的起始地址。我試圖通過作弊引擎獲得蜘蛛紙牌的起始地址,它給了我「300905A4D」(目前就是這樣)。我嘗試每次我重新編譯和運行程序時,從C++的HANDLE獲取不同的地址?
HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid)
而且每次我重新啓動我的C++程序的時候給了我一個不同的號碼/地址。我把蜘蛛紙牌始終處於運行狀態,並騙引擎一直給我相同的起始地址,但是當我打印
cout << &pHandle;
我的C++程序每次都帶給我不同的數字。我在這裏做錯了什麼?另外,我的C++代碼工作正常。我可以寫信給記憶和所有這些,我只是想知道爲什麼我沒有得到Cheat Engine給我的同一個地址,以及爲什麼每次都是不同的地址。
可能由於[地址空間佈局隨機化(http://en.wikipedia.org/wiki/Address_space_layout_randomization)功能。 – Blastfurnace 2012-07-19 19:50:03
問題是? – 2012-07-19 19:52:54
問題是我需要Cheat Engine以某種方式獲取地址作爲指針引用的起始地址。看,有一個值可以保證玩家所做的「移動」數量。該數字後面有一個指針,可以通過ANOTHER指針訪問(這將是靜態指針)。該指針是通過獲取過程中的基地址,如果它是不同的,甚至每一次,如果是完全一樣的方法(即從未關閉/重新啓動程序),它應該保持不變。我需要我的程序能夠獲取該地址,以便我能夠獲得指示。 – ZimZim 2012-07-19 20:08:13