登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 6|回复: 0

棋牌游戏详细分析---存银子Call

[复制链接]

2

主题

9

回帖

18

积分

新手上路

积分
18
发表于 昨天 21:49 | 显示全部楼层 |阅读模式
这个游戏存银子Call,从银子数量变化去找已经晚了,使用之前搜索字符串,或者模块间调用Call,全部下断,然后不停地取消断点,逐步逼近,就会找到
图片1.jpg
ClientCo.PropCore::CPropClient::SendMsg_SaveMoney, 这个函数就很明显,你可以直接到DLL导出函数查到
图片2.jpg

这里下断,你会发现这个就是点击存银子时候就会立即被断下来
mov     eax, dword ptr [esi+1334]
push    eax
这里eax就是你要存的银子数量,很简单
但是还有个参数就是ecx是由edi得到的,
mov     ecx, edi
这个就相当麻烦了
鼠标点击0046A068发现提示
图片3.jpg
所以我们跟踪跳转
图片4.jpg
发现来到了函数头
图片5.jpg
这里下断然后再点击存银子按钮,发现断下后,是由MFC71U调用的
图片6.jpg
所以这里就比较麻烦了,只能一步一步跟踪,看EDI的值到底是怎么来的
单步运行
图片7.jpg

你会发现,进入这个Call的时候,ECX已经被赋值
跟踪到下图就会发现
图片8.jpg
图片9.jpg
所以存银子CallECX是由EDI得到,而EDI是由上图
mov     edi, dword ptr [esi+474]
add     edi, 534
所以ecx = [esi + 474] + 534 (注意这里是地址)

所以关键是要找到函数头那里的ECX的来源
在函数头下断被断下来的寄存器如下
图片10.jpg
发现这里找ECX的来源用OD也好,用CE也好,根本无法获得具体来源,最终只好在数据窗口来到ECX值的内存下硬件写入DWORD,看这个值是如何写入到030E0A10的
图片11.jpg
经过半天测试,发现点击 图片21.jpg 时候会断下
图片12.jpg
在堆栈里返回上第二层Call
图片13.jpg
来到
图片14.jpg 这个函数往上翻,找到函数头下断,关掉保险箱窗体,重新点击file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml13512/wps16.png,断到函数头,看堆栈发现还是MFC71U调用此函数
图片15.jpg
此时寄存器为
图片16.jpg
上图中间,ECX会赋值给ESI,发现这个ECX为0308BD88眼熟
之前找坐下Call也会出现这个
图片17.jpg
所以上面红色标记的0308BD88应该就是牛牛大厅的主窗体对象指针了,而存银子窗体应该是大厅主窗体的子窗体。
单步运行到下图
图片18.jpg
运行到00441D1A时候出现mov     ecx, dword ptr [esi+286C]
此时ECX正好就是上面要找的030E0A10
而下面的
mov     dword ptr [esi+286C], edi
也会把窗体指针保存在mov     dword ptr [esi+286C]里面
所以由此可知道存银子Call的那个Ecx参数如下
图片19.jpg
注意参数是地址,而不是值哦
图片20.jpg
发现游戏必须先创建一次存银子窗体,这个存银子Call参数Ecx才有效,不然直接调用游戏崩溃
附上我找的CE表

Dd [5030cc]
00467EB8    8B86 34130000   mov eax,dword ptr ds:[esi+0x1334]
00467EBE    50              push eax
00467EBF    8BCF            mov ecx,edi
00467EC1    90              nop
00467EC2    E8 19B67F02     call ClientCo.PropCore::CPropClient::Sen>





例:
Push 钱
Mov ecx,0x0
call 02C634E0
=
234e0+client的基址:
转载说明:以下文章来源于shou8shou.cn







您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|断点社区 |网站地图

GMT+8, 2025-7-28 09:44 , Processed in 0.114364 second(s), 22 queries , Yac On.

Powered by XiunoBBS

Copyright © 2001-2025, 断点社区.

快速回复 返回顶部 返回列表