1. 程式人生 > >[原始碼和文件分享]記憶體快速搜尋遍歷

[原始碼和文件分享]記憶體快速搜尋遍歷

背景

相比很多人都用過記憶體搜尋軟體 Cheat Engine 吧,它裡面提供了強大程序記憶體搜尋功能,搜尋速度很快,搜尋結果也很精確。我之前對記憶體搜尋也稍微專研了一下,是因為當時需要寫一個小程式,那個小程式的功能就是可以搜尋出指定程序指定值的記憶體地址,這個CE就能做,只不過是要在自己的程式裡實現記憶體的搜尋。

記憶體的遍歷搜尋,說難也不難,說容易也不容易。因為你可以做得比較簡單,也可以做得比較完美,這主要是在搜尋效率上的區別而已。簡單的搜尋方法就是直接暴力搜尋記憶體,直接從0地址搜尋到0x7FFFFFFF地址處,因為低 2GB 程序空間是使用者空間。然後,匹配值就可以了。難點的,就是過濾掉一些記憶體地址,不用搜索。例如,程序載入基址之前的地址空間,就可以不用搜索等等,以此來縮小搜尋的範圍,提升搜尋效率。

本文就是對記憶體遍歷實現快速搜尋,當然,這肯定不會是最快的搜尋方式,只是相對的快速。我們也是通過載入基址,以及記憶體空間地址資訊,縮小搜尋的範圍,提升搜尋效率。現在,就把實現過程整理成文件,分享給大家。


參考文件和完整的文件和原始碼下載地址:

https://www.write-bug.com/article/1797.html