免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!
本次游戏没法给
内容参考于:微尘网络安全
工具下载:
链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3
提取码:6tw3
复制这段内容后打开百度网盘手机App,操作更方便哦
上一个内容:49.x86游戏实战-C++实现秒进图
上一个内容把秒进副本写到了C++代码里,接下来开始找在副本内怎么瞬移
打开游戏,然后打开OD并附加到游戏,然后来到公共CALL打断点,然后进入副本,然后在副本内手动移动到其它地图,来触发公共CALL的断点
然后取消断点,然后按CTRL+F9,然后就来到了下图位置
然后看着副本内切换地图它多调用了一个0x11285B0,之前没有HOOK它所以,要把它HOOK掉
HOOK代码
写完代码然后重新生成
重新生成完使用wctool.exe注入我们dll
然后启用HOOK
然后打开Dbgview.exe,然后再次手动切换地图,然后在Dbgview.exe里观察日志,下图切换了两次地图
接下里写汇编代码测试
pushadpush 0x30mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1127D60call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128550call eaxpush 0x1mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128550call eaxpush 0x2Fmov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxpush 0x125mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128550call eaxpush 0x9D1Emov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxpush 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxpush 0x7292mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eaxpush 0x89B0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxmov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1127EC0call eaxpopad
然后这里要先了解一件事情,游戏的地图的分布是下图的样子,红框圈出来的是副本中的一个场景(地图)
左右是x坐标,上下是y坐标
位置
现在知道这些地图相关的事情之后,就能看懂参数了
pushadpush 0x30mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1127D60call eax// 这里的0x2它是地图x的数据push 0x2mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128550call eax// 这里的0x1它是地图y的数据push 0x1mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128550call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128550call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1128580call eax// 入参没用push 0x0mov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x11285B0call eaxmov ecx,0x1AEB6E4mov ecx,[ecx]mov eax,0x1127EC0call eaxpopad