64位游戏找call_网络小游戏怎么修改技能满级,满血?教大家一个很简单的修改方法!...
最近去忙著給小弟培訓,都忘記上來發文章了,剛好小弟找了個小游戲練練逆向數據分析,下面就給大家講講他是怎么做到修改數據后,達到無限滿血,全技能升級完的。
首先介紹幾個概念:
網絡游戲的變態功能的一般實現方式:
逆向數據分析主要去看的就兩個點
1:本地數據
某些網絡游戲將人物的血量,攻擊力,坐標,這些重要數據存在游戲本地的客戶端,當然可能會有一些加密,這樣的游戲可以直接修改內存實現無敵,秒殺,瞬移等變態功能。當然這種網絡游戲并不多見,大多數游戲重要數據都存放在服務器,我們修改內存看到的只是假象。
2:偽造封包
既然是網絡游戲,就肯定要與服務器進行網絡通信,比如我們在游戲里使用技能,就會向服務器發送使用技能封包,喊話就回向服務器發送喊話封包。大多數封包的漏洞都是服務器判斷不嚴謹或者有一些邏輯漏洞造成的,比如,如果游戲服務器并沒有對技能冷卻時間進行判斷,我們直接一直向服務器發送使用技能的封包就可以實現技能無CD的效果,有些網游怪物死亡會向服務器發送怪物死亡的封包,那我們就可以偽造封包向服務器發送達到秒殺怪物的效果。某些射擊網游,玩家朝著敵人射擊時會發送一條封包,我們可以通過玩家和敵人坐標計算精確的值修改這些封包,就可以實現槍槍爆頭等變態功能。還有些游戲剛進副本時會向服務器發送封包增加人物血量攻擊力之類的,我們可以把這條封包找出來,調用游戲發包函數向服務器發送,也可能可以實現倍攻無敵等效果。
大多數網絡游戲通過send或者WSASend發包函數向服務器發送封包,當然現在很多網絡游戲可能會調用更底層的發包函數,或者一些其他處理,導致用od在這些函數上下斷點并不會命中斷點,這種情況我們不在贅述。
為什么要找明文發包call?因為我們在這些系統的發包函數下斷點,斷下看到的數據一般都是加密的 ,所以我們要找到游戲明文的發包函數才能方便分析封包內容。
我們今天討論的重點是某袋西游的封包bug
我們先要找到游戲中的明文發包函數以及分析使用技能的封包內容
這個游戲的發包函數調用過程非常簡單,簡單可以概括為
功能CALL==》組包==》明文發包CALL==》加密等等==》send
我們可以在send頭部下段,在游戲中 做相應的功能動作,斷下時通過棧回朔就可以返回到明文發包call。
我們要找到的是游戲過程中攻擊或攻擊后所發生變化的封包數據如圖所示:
這里只有使用技能才會斷下,我們可以觀察下這個call的參數;
29 00 45 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 42 A3 03 00
經過我們的對比分析,可以分析出
29 00//包頭
45 00 00 00//技能ID
FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01//固定數據
01 42 A3 03 00//如果是選中怪物攻擊的技能,這里就是怪物id,如果不需要選中怪物就攻擊的,就是我們人物自己的id
技能封包分析完了,接下來就需要分析技能遍歷,我們可以繼續ctrl+f9幾次找到技能call,技能call應該有個參數是技能id,分析技能id的來源可能就可以找到技能遍歷;
游戲中顯示的人物只有兩個技能,但是我們在內存中遍歷出17個技能
我們看下最后一個叫月餅的技能,我們在游戲中看不到并且不能使用這個技能,我們調用明文發包call使用這個技能就可以實現無限滿血了。
人物id可以直接在人物對象下觀察到,這里就不再贅述。
那么,我們看看改好的效果如何,被怪打血少了,5秒的冷卻CD直接滿血,都不用買藥了。
游戲修改輕松搞定!!!其實學這個很簡單的,找到數據,修改就可以了。文化要求不高,初中文化都能學會了,又不難。
更多干貨可以關注 公眾號《云技術君》 滿足你想知道的一切技巧,有問必答!
總結
以上是生活随笔為你收集整理的64位游戏找call_网络小游戏怎么修改技能满级,满血?教大家一个很简单的修改方法!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装CCS5时仿真驱动出现问题的解决方法
- 下一篇: DSP:6678开发板NDK网口通信完整