C語言C++學(xué)到什么程度可以寫游戲輔助?

一、先說一下寫一個外掛需要什么條件

1、熟練的C語言知識

目前的外掛大部分都是用BC或者是vc寫的,擁有熟練的C語言知識是寫外掛的基本條件

2、具有很強(qiáng)的匯編基礎(chǔ) 一般游戲都不可能有原代碼的,必須*反匯編或者跟蹤的辦

法來探索其中的機(jī)理 ,所以有強(qiáng)的匯編基礎(chǔ)也是必不可少的條件

3、熟練掌握跟蹤和調(diào)試的工具

有了上面2個條件后,掌握一些工具也是很有必要的

跟蹤的工具。

如果你不具有上面的條件,還是先把基礎(chǔ)打好,再來寫外掛吧,一分耕耘,一分收獲,天下沒有白掉的餡餅的

二、寫外掛面臨的基本技術(shù)問題

1、修改進(jìn)程的執(zhí)行代碼 要修改進(jìn)程的執(zhí)行代碼,要先取得進(jìn)程的ID,如果是由外掛程序啟動,返回值里就有進(jìn)程ID,

如果不是的話,

需要用findwindow找到窗口句柄,再用GetWindowProcessID取得進(jìn)程ID,取得進(jìn)程ID以后,就可以用

writeprocessmemory來修改進(jìn)程的執(zhí)行代碼了,使程序按照我們的意愿來執(zhí)行,石器外掛里的不遇敵、寸步遇敵

就是用這樣的方法來實現(xiàn)的

2、截獲外掛發(fā)送和接收的封包

除了通過修改代碼來實現(xiàn)的功能以外,很多的功能都是通過修改封包來實現(xiàn)的,要修改封包,首先要能截獲它。

第一步是要跟蹤出發(fā)和收的位置,至于怎么跟蹤,我以后會提到,找到位置以后,有2個辦法,一是在那個位置加一

個jmp語句,跳到你的處理函數(shù)位置,處理完后,再跳回來,這種方法要求比較高,需要處理好很多事情,另一種辦法

是往那個位置寫條能造成例外的指令,比如int 3,然后用DebugActiveProcess調(diào)試游戲進(jìn)程,這樣每當(dāng)游戲執(zhí)行到那個

位置的時候,就會停下來,到外掛程序里面去,等外掛程序處理完以后,用ContinueDebugEvent 繼續(xù)運行程序。

(還記得被僵尸支配的恐懼嗎?↓↓)

然而在程序員眼里,不存在的啊

(在程序員眼里都是這樣的↓↓)

無限小心心,錯了是無限陽光。小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 六二七,零一二,四六四 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!

給植物加上主角光環(huán)(加攻擊)

(還有被地雷包圍的恐慌↓↓)

玩過初級的都會有種很驕傲的感jio

聽說初級最快的掃雷只需要1秒.

然而在程序員眼中,什么難度都是1秒好吧?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容