逆向笔记
搜周围单位数,会跟到
dd [[[0x633DFC]]+0xc3c00]+8 这里是数量
那么猜测
dd [[[0x633DFC]]+0xc3c00] 是对象
通过查阅发现 [[[[[0x633DFC]]+0xc3c00]+4]+i*4] 就是一个单位 i是数量
0x634ed8 貌似是背包的开始地址
下面是没确定的
eax 物品ID 随机传送石eax=0xBA D9 f8 每个背包格子是 1f 的结构 这里是背包
[634ed8]+(1f*i*4) i从0开始
[0x634ed8] 物品 首地址 这个物品是快捷键1 开始 工6个
005A8560 A1 D84E6300 mov eax,dword ptr ds:[0x634ED8] ; 关键点
005A8565 803CB8 00 cmp byte ptr ds:[eax+edi*4],0x0 这里是物品名称
-----------------------
005BB984 66:817C82 19 10>cmp word ptr ds:[edx+eax*4+0x19],0x2710 ; 这里是id +0x19
0076C33D 67 08 00 00 g.. 这个是回收包宝箱
0076C3B9 FB 00 00 00 ?..? 这个是毒药
0076C435 01 04 00 00 .. 随机传送石
0076C4B1 84 08 00 00 ?..` 武器新手的那把
0076C52D F2 03 00 00 ?..? 盟重传送石
-----------------------
便利地面物品 地面物品数量下手
0056503F A1 B04D6300 mov eax,dword ptr ds:[0x634DB0]
00565044 8B00 mov eax,dword ptr ds:[eax]
00565046 8B58 08 mov ebx,dword ptr ds:[eax+0x8]
[[634db0]]+8 是地面物品数量
[[634db0]]猜测是地面对象
[[[634db0]]+4] 进去看 猜测这里就是地面列表的首地址了
[[[[634db0]]+4]] +0坐标x +4坐标y +c是物品id +11是名字 // 检查+0是否等于0 就不用继续便利了。
------------------------------------------------------------------
call bp send, 堆栈向上, 功能call 一般集中在一起, 所以和 发包 组包 call 地址跳转比较远, 一直向上跟发现 地址跳跃比较大,那说明功能call就就在上面几层就是了。通过nop 就可以测试出
物品使用call
00608FCD E8 063C0000 call KTFXDEEG.0060CBD8 ; 入口
-------------------------------------------------
走路
面向
7 0上 1 ecx是x 坐标
6左 2右
5 4下 3
006066BD E8 FE600000 call KTFXDEEG.0060C7C0 ; 跑路2
push 栈
0012FEAC 00000007 ... 面向
0012FEB0 00000008 ... y坐标
-------------------------------------------------
喊话call
[EDX] 是内容
0056294A E8 1D9A0A00 call KTFXDEEG.0060C36C ; 喊话1