鑫郁飞

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 453|回复: 0

任鸟飞谈逆向----《梦三国》字符串突破口以及跳回游戏领空

[复制链接]

管理员

Rank: 9Rank: 9Rank: 9

阅读权限
200
积分
109503
精华
71
主题
156
帖子
176
分享
0
日志
0
在线时间
57 小时
最后登录
2018-7-19
注册时间
2016-11-22
听众
0
收听
0
发表于 2017-12-11 20:40:14 | 显示全部楼层 |阅读模式
微信公众号 任鸟飞逆向
在逆向很多数据的时候
无论是PC端还是移动端,我们都会借用到字符串去当突破口
今天只是说说PC端的字符串突破口,移动端下个月忙完手里的工作,分享给大家,我们系统来谈
游戏里面的人物名称,物品名称,怪物名称,任务名称,各种描述实际上都可以当成我们逆向数据的突破口,因为他们也是对象下的一个属性。
方案一,找到字符串地址,在附近地址找其他属性,追任意属性的来源即相当于追了字符串,移花接木
我们知道,包括我们自己写结构的时候也一样,有时候对象的属性是字符串的指针,那么我们逆向也一样,如果周围没有其他属性,我们可以选择CE去扫描存放该字符串指针的地址,再去周围看看是否存放的我们想要的其他属性
方案二,直接对字符串下访问断点,追其来源
往往会断到非游戏领空,那么我们就需要去堆栈中寻找一下来源
有的同学,习惯在CE中查看访问该地址的代码,然后拿到这些访问代码,再到OD中去分析,这种方法在找字符串突破口的时候是行不通的
原因?你拿到的所有代码都是字符串的处理代码,到OD中下断就断,那么多的字符串同时访问的代码,下条件断也是会卡死的,那就根本断不到我们想要的字符串了.
正确的方法应该是,扫描到地址以后,在od 中dd该地址 然后直接对其下断,断到访问代码,然后在堆栈中找到其来源  继续追踪即可
下图是梦三国追字符串的例子
从堆栈直接返回到   第一次出现的位置  继续追
而现在上图断的位置是非游戏领空,是所有字符串都会进行访问的
通过堆栈跳回游戏领空,跟追正常数据一样了
在堆栈窗口右键查找,输入我们要追的字符串地址,CTRL+l 查找下一个,直到最后一个,也就是第一次出现的位置
回复

使用道具 举报

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

本版积分规则

QQ|鑫郁飞网络科技有限公司 ( 渝ICP备16011958号-1 )

GMT+8, 2018-7-21 00:19 , Processed in 0.074244 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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