一退个、先說一下寫一個(gè)外掛需要什么條件
1、熟練的C語言知識(shí)
目前的外掛大部分都是用BC或者是vc寫的调炬,擁有熟練的C語言知識(shí)是寫外掛的基本條件
2语盈、具有很強(qiáng)的匯編基礎(chǔ) 一般游戲都不可能有原代碼的,必須*反匯編或者跟蹤的辦
法來探索其中的機(jī)理 缰泡,所以有強(qiáng)的匯編基礎(chǔ)也是必不可少的條件
3刀荒、熟練掌握跟蹤和調(diào)試的工具
有了上面2個(gè)條件后,掌握一些工具也是很有必要的
跟蹤的工具棘钞。
如果你不具有上面的條件缠借,還是先把基礎(chǔ)打好,再來寫外掛吧宜猜,一分耕耘泼返,一分收獲,天下沒有白掉的餡餅的
二姨拥、寫外掛面臨的基本技術(shù)問題
1绅喉、修改進(jìn)程的執(zhí)行代碼 要修改進(jìn)程的執(zhí)行代碼,要先取得進(jìn)程的ID,如果是由外掛程序啟動(dòng)叫乌,返回值里就有進(jìn)程ID,
如果不是的話柴罐,
需要用findwindow找到窗口句柄,再用GetWindowProcessID取得進(jìn)程ID,取得進(jìn)程ID以后憨奸,就可以用
writeprocessmemory來修改進(jìn)程的執(zhí)行代碼了革屠,使程序按照我們的意愿來執(zhí)行,石器外掛里的不遇敵膀藐、寸步遇敵
就是用這樣的方法來實(shí)現(xiàn)的
2屠阻、截獲外掛發(fā)送和接收的封包
除了通過修改代碼來實(shí)現(xiàn)的功能以外,很多的功能都是通過修改封包來實(shí)現(xiàn)的额各,要修改封包国觉,首先要能截獲它。
第一步是要跟蹤出發(fā)和收的位置虾啦,至于怎么跟蹤麻诀,我以后會(huì)提到痕寓,找到位置以后,有2個(gè)辦法蝇闭,一是在那個(gè)位置加一
個(gè)jmp語句呻率,跳到你的處理函數(shù)位置,處理完后呻引,再跳回來礼仗,這種方法要求比較高,需要處理好很多事情逻悠,另一種辦法
是往那個(gè)位置寫條能造成例外的指令元践,比如int 3,然后用DebugActiveProcess調(diào)試游戲進(jìn)程,這樣每當(dāng)游戲執(zhí)行到那個(gè)
位置的時(shí)候童谒,就會(huì)停下來单旁,到外掛程序里面去,等外掛程序處理完以后饥伊,用ContinueDebugEvent 繼續(xù)運(yùn)行程序象浑。
(還記得被僵尸支配的恐懼嗎?↓↓)
然而在程序員眼里琅豆,不存在的啊
(在程序員眼里都是這樣的↓↓)
無限小心心愉豺,錯(cuò)了是無限陽光。小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六二七趋距,零一二粒氧,四六四 】,無論你是大牛還是小白节腐,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)外盯!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享翼雀!
給植物加上主角光環(huán)(加攻擊)
(還有被地雷包圍的恐慌↓↓)
玩過初級的都會(huì)有種很驕傲的感jio
聽說初級最快的掃雷只需要1秒.
然而在程序員眼中饱苟,什么難度都是1秒好吧?