C# winform 魔獸MH全圖制作教程(1): 開發准備工作
一、開發條件:
- Visual Studio 2008
- win xp,win 7,win 2003.
- C# 語言基礎
- 會調試
- 能夠運行游戲:《魔獸爭霸3冰封王座》
- 擁有版本魔獸客戶端版本切換器1.20E,1.24E,1.24D
二、設計思路:
當時做這個程序沒考慮太多,下手直接寫代碼,所以感覺有很多不足,但還是要講下我的設計思路。
首先:
- 把魔獸整個體系看做一個對象,而且它擁有屬性字段如:魔獸版本信息、自身動態內存地址,擴展功能:窗體最大化、視野高度.等等。而且我們要把字段封裝起來(也為了后期制作方便)字段設置為靜態,以便快速獲得信息。
- 無論是全圖,還是改建改窗體,都是在調用系統API:kernel32.dll ,我們使用的接口大部分來自這里。所以你要知道如果失敗了,那么調試時:庫有沒有導入成功、接口方法是否返回了正確的值、傳參是否正確這都將是成功完成功能的關鍵所在。
- 寫內存函數你必須了解。也就是:kernel32.dll。只要知道寫入的內存地址,寫入的值,以及進程,那么你就可以成功的調用,那么這些東西我們該如何獲得呢?
- 要得知游戲的內存地址也就是動態內存地址(基礎+偏移),我們必須能獲得Game.dll的信息,判斷版本也靠它,所以它也是個關鍵。游戲分多個版本,1.20E一般為普通RPG地圖娛樂使用,1.24B,1.24E是目前比較流行的,也是Dota的主流版本,所以如果把1.20E的內存
- 如果你看完以上內容肯定會得出一個結論,也就是我們圍繞在使用的: kernel32.dll <<< WriteProcessMemory <<< 信息 <<< Game.dll 而我們主要做的就是:獲得信息,告知接口。
三、調用結構圖:
結構圖會根據文章進度解析其他參數來源,下一節會介紹基址的獲得方法。
W.je(zlawliet)作品,轉載注明出處:http://www.cnblogs.com/tango/articles/2407816.html