011 吃药call功能分析和代码编写
生活随笔
收集整理的這篇文章主要介紹了
011 吃药call功能分析和代码编写
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 定位吃藥call
- 代碼編寫
定位吃藥call
在編寫自動(dòng)吃藥功能之前還需要兩個(gè)數(shù)據(jù),一個(gè)是吃藥的功能call,另一個(gè)是當(dāng)前的背包遍歷,我們先來找吃藥call。
首先來到明文封包c(diǎn)all頭部
吃藥讓斷點(diǎn)斷下
返回上一層,這一層是明文的發(fā)包c(diǎn)all,繼續(xù)返一層到功能call
這里就是我們需要的吃藥call。接著來分析call的參數(shù)
選擇吃第7個(gè)藥品
這個(gè)call的參數(shù)比較簡單
吃藥call代碼如下
| 48:8BC8 | mov rcx,rax | 基地址 | 45:8B4E 08 | mov r9d,dword ptr ds:[r14+0x8] | 物品ID | 44:8BC7 | mov r8d,edi | 物品在背包的第幾個(gè)格子 | 8B95 18020000 | mov edx,dword ptr ss:[rbp+0x218] | 1 | E8 303DE5FF | call 0x7FF64CE19280 | 吃藥call代碼編寫
#define EatDrug 0xD39280 //吃藥//吃藥call 傳入物品ID和格子序號 void Fn_EatDrug(DWORD dwID, DWORD index) {GameCall4(g_PublicRcx,1,index,dwID,g_GameAddr+ EatDrug); }封裝一個(gè)物品ID和格子序號的參數(shù)即可,然后調(diào)用測試
//吃藥call void MainWnd::OnBnClickedButton10() {Fn_EatDrug(0x12D, 9); }實(shí)際效果:
找到了吃藥call,下一節(jié)我們來完成背包遍歷數(shù)據(jù)的查找,然后就可以開始寫自動(dòng)吃藥功能了。
Github:https://github.com/TonyChen56/GameReverseNote
完整代碼:https://download.csdn.net/download/qq_38474570/79498815
everseNote
總結(jié)
以上是生活随笔為你收集整理的011 吃药call功能分析和代码编写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 010 自动技能的设计和实现
- 下一篇: 012 背包二叉树遍历分析和代码编写