2011-06-20 28 views
2

好吧,可以說我有一個整數。 當我執行程序時,該整數得到一個地址。地址查詢

有道理。

但是,這裏有很多程序。讓我們看看,當創建任何遊戲黑客時,讓我們說掃雷我發現數據存儲的位置和改變它。

但是...那個黑客,那只是改變一些地址的簡單黑客攻擊......每臺計算機和每個時間都有效。

問題是,數據每次都得到相同的地址。 而在我的電腦上,現在有大約30個exe正在運行。 其他程序不需要該地址嗎?如果他們想要這個地址?爲什麼黑客每次都在工作?爲什麼其他程序不需要這個相同的地址?它的工作原理是什麼?

回答

2

爲了克服多任務操作系統中的這個問題,每個應用程序都可以獲得自己的虛擬尋址空間(32位機器上爲4GB)。

這是一個很好的article涵蓋了這個問題。

您的「黑客」可能使用類似OpenProcess的方式找到進程並使用WriteProcessMemory編輯內存。這就是爲什麼它適用於「所有」機器。

2

基本上,你需要閱讀約virtual memory。虛擬內存的目的是抽象出物理地址空間,併爲每個進程(即每個應用程序)提供自己的「虛擬」地址空間,這可以避免你描述的問題。

1

如果您的掃雷程序破解包含操作存儲在指定靜態地址中的數據,則無法在每臺計算機上運行。程序內存分配取決於操作系統。

+0

然後解釋爲什麼遊戲黑客可以在每臺計算機上運行?編輯:你的意思是Windows 7的黑客將在Windows 7上工作,但不是另一個操作系統? – Foresp

+0

是和不是。它有可能Windows 7將爲類似的應用程序分配相同的地址..但即使這不太可能。我懷疑遊戲黑客就是這樣工作的。他們可能通過使用流程來找到他們需要的地址。 –