找回密码
 注册帐号
查看: 3613|回复: 8

[编程思路] 老丝路的背包基址查找(方法)

[复制链接]
发表于 2012-11-24 15:10:26 | 显示全部楼层 |阅读模式
很多朋友都在问背包基址的查找问题,下面发个我查找的过程,希望对大家有帮助

背包基址查找

1、用CE查找第一格的背包物品数量,得到下面的程序段
EAX=0000000F
EBX=092E82FC
ECX=00000000
EDX=00000000
ESI=14DD81FC
EDI=092E7F64
EBP=14DD81FC
ESP=0012FB70
EIP=0053C0BC

Probable base pointer =092E82FC

0053c0aa - mov [ebx+00000098],edx
0053c0b0 - mov eax,[ebp+0000009c]
0053c0b6 - mov [ebx+0000009c],eax
0053c0bc - mov ecx,[ebp+000000a0]
0053c0c2 - mov [ebx+000000a0],ecx

说明+9c是背包物品数量的偏移
2、关掉CE,打开OD,用CTRL+G,跳到上面找到的地址0053c0b6
3、在这个位置下断,并改变这一格背包物品的数量
4、发现背包的地址是EBX
5、到这个函数的头部下断,并返回上一层,得到以下结果:
0074A2D0    8B1CB9          mov ebx,dword ptr ds:[ecx+edi*4]
说明edi是背包的格数(从0开始)
6、接下来查找ecx的值,往上移动可以看到
0074A2B2    8B8E A0030000   mov ecx,dword ptr ds:[esi+0x3A0]
得到1个偏移3A0 再往上可见
0074A26C    8BF1            mov esi,ecx
7、接下来查找ecx
由于这个函数体内不能查找到ecx的来历,所以到函数头下断继续返回
返回后地道ecx的值是0bb1c034
8、从函数头下断一步步跟到esi的值出现。得到以下程序段:
00918D0B    8B0D 2CA52601   mov ecx,dword ptr ds:[0x126A52C]
00918D11    E8 AA09F1FF     call sro_clie.008296C0
00918D16    8BC8            mov ecx,eax
00918D18    E8 53C6E1FF     call sro_clie.00735370
这个CALL的返回值就是要找的ECX的值0bb1c034
所以要从这个CALL查eax的值
9、进入这个CALL00735370
0073539D    8B86 C0070000   mov eax,dword ptr ds:[esi+0x7C0]
这个偏移是7C0
10、查esi的来历
在此处不能下断,所以返回上一层地址00918D11
下断后重新跟入这个CALL,单步执行到0073539D    8B86 C0070000   mov eax,dword ptr ds:[esi+0x7C0]
这里后在寄存器窗口得到ESI的值是12BC37C4
用二进制查找发查找esi的值
a、在od的命令栏输入 dd [0126A52C]
b、在地址栏用右键选择“查找”---“二进制字串”
C、在最下面的框内输入C4 37 BC 12(esi值双位反过来,即从地位到高位查找)
d、得到的地址与[0126A52C]值比较相差710
11、于是得到背包的基址是[[[[[0126A52C]+710]+7C0]+3A0]+背包格数*4]

发表于 2012-11-24 18:02:41 | 显示全部楼层
学习了,呵呵,感谢!我可以找到 [[[xxxxxx+7c0]+3A0]+n*4]+ xx,只是没有想到最初的偏移 710是怎么来的,呵呵。
回复 支持 反对

使用道具 举报

发表于 2012-11-24 19:55:01 | 显示全部楼层
有这么复杂么
回复 支持 反对

使用道具 举报

发表于 2012-11-24 22:13:44 | 显示全部楼层
7c0 前面好像还有另外一种偏移方式,不过我找不来。
回复 支持 反对

使用道具 举报

发表于 2012-11-24 23:35:42 | 显示全部楼层
ce 找出  数量 地址

用OD  下断   单步    看谁改了值   一路往上找  就能找到  7c0

12BC37C4  这值  是 某call的  返回值   下断就知道了
回复 支持 反对

使用道具 举报

发表于 2012-11-26 12:07:14 | 显示全部楼层
谢谢高手啊!学习了!!
回复 支持 反对

使用道具 举报

发表于 2012-11-27 16:57:22 | 显示全部楼层
围观楼主                     
回复 支持 反对

使用道具 举报

发表于 2012-12-1 10:02:44 | 显示全部楼层
哦,这方法不错
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2013-8-5 00:44:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

QQ|Archiver|手机版|小黑屋|依人网络官方网站 ( 陕ICP备19025998号-1 )

GMT+8, 2024-4-20 11:49 , Processed in 0.048350 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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