Bootstrap

50.x86游戏实战-XXX副本内瞬图

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

工具下载:

链接: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里观察日志,下图切换了两次地图

接下里写汇编代码测试

pushad

push 0x30
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1127D60
call eax


push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128550
call eax

push 0x1
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128550
call eax

push 0x2F
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

push 0x125
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128550
call eax

push 0x9D1E
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax


push 0x7292
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax

push 0x89B0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1127EC0
call eax

popad

然后这里要先了解一件事情,游戏的地图的分布是下图的样子,红框圈出来的是副本中的一个场景(地图)

左右是x坐标,上下是y坐标

位置

现在知道这些地图相关的事情之后,就能看懂参数了

pushad

push 0x30
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1127D60
call eax

// 这里的0x2它是地图x的数据
push 0x2
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128550
call eax
// 这里的0x1它是地图y的数据
push 0x1
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128550
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128550
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1128580
call eax
// 入参没用
push 0x0
mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x11285B0
call eax

mov ecx,0x1AEB6E4
mov ecx,[ecx]
mov eax,0x1127EC0
call eax

popad

img

;