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