首页
社区
课程
招聘
植物大战僵尸植物血量基址怎么查找?哪位大神给个思路啊!!!
发表于: 2013-7-9 12:58 13903

植物大战僵尸植物血量基址怎么查找?哪位大神给个思路啊!!!

2013-7-9 12:58
13903
本人小菜鸟,最近刚刚学习汇编,od的使用,看了郁金香的教程分析植物的大战僵尸的各种基址。
已分析出阳光基址:0x05560+ [[006a9ec0]+0x768];
金币基址:[[006a9ec0]+0x82c]+0x28;
选中植物的基址:[[[006a9ec0]+0x768]+0x138]+0x28;
当分析到植物血量时找到这么一个表达式:[[[[[[[[[0x0B31D008+0x160]+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40。
这个明显不是正确的,与网上别人找的的基址对比了一下,别人是[[[006a9ec0]+0x768]+0xac]+0x40。
求路过的大牛看到这边帖子给个具体的思路,小弟万分感谢!!!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
每个电脑上的地址似乎不同吧
2013-7-9 16:38
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
偏移应该都是有规律的,基址不同版本可能不一样
2013-7-9 17:57
0
雪    币: 41
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是不是那个基址试试就知道了啊   不是的话就配合CE找嘛
2013-7-9 21:01
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
试过了,我找出是正确的,但是重启游戏又不对了
2013-7-10 04:01
0
雪    币: 46
活跃值: (1740)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
阳光和金钱的地址都可以用CE来查找
阳光是:[[006A9EC0]+768]+5560
金钱是:忘了
2013-7-10 09:03
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=cheating;1197270]阳光和金钱的地址都可以用CE来查找
阳光是:[[006A9EC0]+768]+5560
金钱是:忘了[/QUOTE]

阳光和金钱都好找,你找植物血量试试,用ce直接是找不出来的
2013-7-10 12:16
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
当分析到植物血量时找到这么一个表达式:[[[[[[[[[0x0B31D008+0x160]+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40。

首先你的首地址明显就是错误的! 0x0B31D008?    首地址一般都是 0x00开头!
你找错的地方是在第三级偏移!

0x40  --》  0xac --》下一层找错了!重新找下就ok!

结贴吧,零食会员权利太小了!
2013-7-10 17:26
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=MarvelStu;1197516]当分析到植物血量时找到这么一个表达式:[[[[[[[[[0x0B31D008+0x160]+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40。

首先你的首地址明显就是错误的! 0x0B31D008?    首地址一般都是 0x0...[/QUOTE]

这个的确不是基址,所以求教方法,重新找了好多遍,我在od里面往上面跟踪都是跟踪到了同一个位置。我在od里面跟踪记录:
dd [[[[[ebp+0x8c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[ebp+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[[[0B31D164]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[[[ebp+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[[[[esi+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[[[[[ebp+0x160]+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[[[[[0x0B31D008+0x160]+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[[[[[[esi+0x4]+0x160]+0x4]+0x15c]+0x4]+0x15c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
没敢继续跟下去,这样跟下去明显找不到结果。
2013-7-11 00:23
0
雪    币: 3144
活跃值: (243)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=cheating;1197270]阳光和金钱的地址都可以用CE来查找
阳光是:[[006A9EC0]+768]+5560
金钱是:忘了[/QUOTE]

这个是汉化第一版的基址! 你要用的是年度版,就不是这个了! 没有年度版文件所以给不了你年度版的基址! 用CE还是很容易搞定的! 百度文库有很多这个教程!我就是在那上面找的!
2013-7-11 01:18
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=yinjiajin;1197615]这个的确不是基址,所以求教方法,重新找了好多遍,我在od里面往上面跟踪都是跟踪到了同一个位置。我在od里面跟踪记录:
dd [[[[[ebp+0x8c]+0x4]+0x90]+8*0x15c+0x4]+0xac]+0x40
dd [[[[[ebp+0x15c]+0x4]+0x90]+8*0x15...[/QUOTE]

找偏移推荐你用ce工具,你使用od,访问,写入他的地址不止一个!
你拿ce搜看看!

补充一个方法,其实你不需要找偏移,你现在不是搜索到了第一级?然后那句话肯定是  mov xx,[xx+0x40]
你这样,mov应该占用5个字节(具体我记不清了),你首先找一个10个字节的 00 00 00 00这样的地方,或者你用inline hook,也不知道你用什么开发工具,你把这句替换成jmp 00那个地址    00地址写   mov xx,自己要的金钱即可!  然后 jmp 回去  原地址 + 5  ]   如果其他汇编语句被改变,在00 补充上,然后跳回没改的地方,这样也可以的!找偏移不是唯一的方法,活学活用! inject的话,就直接指针操作,如果是外部操作,调用  writeprocess...……写字节形式了!
2013-7-11 08:14
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=MarvelStu;1197636]找偏移推荐你用ce工具,你使用od,访问,写入他的地址不止一个!
你拿ce搜看看!

补充一个方法,其实你不需要找偏移,你现在不是搜索到了第一级?然后那句话肯定是  mov xx,[xx+0x40]
你这样,mov应该占用5个字节(具体我记不清了),你首先找一个10个字节的 00 00 00 00这...[/QUOTE]

我用的开发工具vc6.0,ce,od这几个工具。用od找,的确有很多地方访问、写入那个地址。但是直接用ce找会找出很多结果(有时候会出现几十个),具体你也不知道那个是想要的,我想知道找基址有什么通用方法。你说的我看懂了,还有我想找的是植物血量基址,每种植物的血量不一样,而且种在不同位置的同种植物血量也不一样,你这个方法的确可以达到修改血量,金钱等的效果。但是貌似你这个方法找不到基址
2013-7-12 16:20
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
既然调用修改,就有来源,ce中找 写入该地址 , 用mov 。。。。修改汇编指令,修改当前指令的地方不就是地址?  你向那个地址写入你修改的字节即可啊!

你找到首地址,然后用浮点数类型查看!  你会看到很多你向要的东西!一个个找太麻烦了!你找了半天没发现你找的首地址都是相同的?
2013-7-12 17:00
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我发现了一个奇怪的问题,不知道楼主发现没有,就是阳光的基址找出来应该是4个,而且每个基址+768+5560都等于阳光的值!怎么判断就是006A9EC0这个值而不是其他三个呢?
2018-11-6 11:32
0
游客
登录 | 注册 方可回帖
返回
//