關於查找程序入口地址的最簡單方法,一步解決

怎樣找到其他進程入口地址.

網上提供了很多方法,我看了下,都是很複雜,PE太複雜了,直接不學,跳過.

經過olydbg反彙編與調試,我發現了一個簡便的查找程序入口地址的方法,只用一步就行了

不同的程序入口地址不同,但是不同的程序在從硬盤上加載到內存其主線程的堆棧是一樣的.這塊內存記錄了進程的很多信息,其中在堆棧的最後面記錄了程序的入口地址.經過我的一番反彙編和查找,發現者個程序入口地址存在於0x0012FFF8(所有程序的這個內存地址中包含的值,就是程序的入口地址).我們只需要使用API函數 ReadProcessMemory讀取這個地址中的值,就能得到程序的起始這個地址了 

找到進程入口地址中有什麼用

首先.如果想要製作內存搜索工具(用來做外掛的)的話,一般先要找到   入口地址到7FFFFFFF  這塊內存區域中的佔用的內存塊,在這些內存塊中查找數據,避免了搜索內存的無用功.我曾經就做過一個內存搜索+修改工具,用來修改遊戲的,可以說對所有遊戲通用的,但是用VB做的,又沒有什麼好的算法,所以搜索速度好慢.不過勉強還可以用,最大的好處是能過各種網遊的防護程序.

第二個那就是修改程序代碼,我們先在創建一個進程,立即掛起進程.向進程中空白的內存區域寫上自己寫的代碼.然後在程序入口地址加一個Jmp指令,跳轉到我們剛纔寫的代碼處,最後在跳回我們真正的入口地址.這樣就能在進程加載各種防護措施時做各種修改.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章