C語言C+.+學到什麼程度可以寫遊戲輔助?
一、先說一下寫一個外掛需要什麼條件
1、熟練的C語言知識
目前的外掛大部分都是用BC或者是vc寫的,擁有熟練的C語言知識是寫外掛的基本條件
2、具有很強的彙編基礎 一般遊戲都不可能有原代碼的,必須*反彙編或者跟蹤的辦
法來探索其中的機理 ,所以有強的彙編基礎也是必不可少的條件
3、熟練掌握跟蹤和調試的工具
有了上面2個條件後,掌握一些工具也是很有必要的
跟蹤的工具。
如果你不具有上面的條件,還是先把基礎打好,再來寫外掛吧,一分耕耘,一分收穫,天下沒有白掉的餡餅的
二、寫外挂面臨的基本技術問題
1、修改進程的執行代碼 要修改進程的執行代碼,要先取得進程的ID,如果是由外掛程序啟動,返回值里就有進程ID,如果不是的話,需要用findwindow找到窗口句柄,再用GetWindowProcessID取得進程ID,取得進程ID以後,就可以用writeprocessmemory來修改進程的執行代碼了,使程序按照我們的意願來執行,石器外掛里的不遇敵、寸步遇敵就是用這樣的方法來實現的
2、截獲外掛發送和接收的封包
除了通過修改代碼來實現的功能以外,很多的功能都是通過修改封包來實現的,要修改封包,首先要能截獲它。
第一步是要跟蹤出發和收的位置,至於怎麼跟蹤,我以後會提到,找到位置以後,有2個辦法,一是在那個位置加一個jmp語句,跳到你的處理函數位置,處理完後,再跳回來,這種方法要求比較高,需要處理好很多事情,另一種辦法是往那個位置寫條能造成例外的指令,比如int 3,然後用DebugActiveProcess調試遊戲進程,這樣每當遊戲執行到那個位置的時候,就會停下來,到外掛程序裡面去,等外掛程序處理完以後,用ContinueDebugEvent 繼續運行程序。
(還記得被殭屍支配的恐懼嗎?)
然而在程序員眼裡,不存在的啊
(在程序員眼裡都是這樣的)
無限小心心,錯了是無限陽光。
如果你想學習C/C++可以來這個群,首先是六九六,中間是三九九,最後是二一零,裡面有大量的學習資料可以下載,有問題也可以諮詢我。
給植物加上主角光環(加攻擊)
(還有被地雷包圍的恐慌)
玩過初級的都會有種很驕傲的感jio
聽說初級最快的掃雷只需要1秒.
然而在程序員眼中,什麼難度都是1秒好吧?
TAG:里奧De計算機 |