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

在逆向很多数据的时候

无论是PC端还是移动端,我们都会借用到字符串去当突破口

今天只是说说PC端的字符串突破口,移动端下个月忙完手里的工作,分享给大家,我们系统来谈

游戏里面的人物名称,物品名称,怪物名称,任务名称,各种描述实际上都可以当成我们逆向数据的突破口,因为他们也是对象下的一个属性。

方案一,找到字符串地址,在附近地址找其他属性,追任意属性的来源即相当于追了字符串,移花接木

我们知道,包括我们自己写结构的时候也一样,有时候对象的属性是字符串的指针,那么我们逆向也一样,如果周围没有其他属性,我们可以选择CE去扫描存放该字符串指针的地址,再去周围看看是否存放的我们想要的其他属性

方案二,直接对字符串下访问断点,追其来源

往往会断到非游戏领空,那么我们就需要去堆栈中寻找一下来源

有的同学,习惯在CE中查看访问该地址的代码,然后拿到这些访问代码,再到OD中去分析,这种方法在找字符串突破口的时候是行不通的

原因?你拿到的所有代码都是字符串的处理代码,到OD中下断就断,那么多的字符串同时访问的代码,下条件断也是会卡死的,那就根本断不到我们想要的字符串了.

正确的方法应该是,扫描到地址以后,在od中dd该地址 然后直接对其下断,断到访问代码,然后在堆栈中找到其来源 继续追踪即可

下图是梦三国追字符串的例子

从堆栈直接返回到第一次出现的位置继续追

而现在上图断的位置是非游戏领空,是所有字符串都会进行访问的

通过堆栈跳回游戏领空,跟追正常数据一样了

在堆栈窗口右键查找,输入我们要追的字符串地址,CTRL+l查找下一个,直到最后一个,也就是第一次出现的位置

本文来自企鹅号 - 任鸟飞逆向媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

【Go 语言社区】算法课程 第一季 第5节 回文检查

回文概念:大致就是把这个数倒过来念数字还是和原来的一样. 运行结果: 代码: package main import ( "fmt" ) //...

3024
来自专栏算法与数据结构

利用代码计算原码,反码和补码

893
来自专栏算法与数据结构

利用代码计算原码,反码和补码

最近复习到数字逻辑的时候,看到的这一章节,想去上网找个计算器转换下,结果没有...

692
来自专栏Python区块链

想到阿里巴巴从事Python吗?年薪300K不是梦!

作为Python工程师,进入大公司是开启职业新起点的关键,在阿里巴巴面试Python工程师的题目和经历,希望对广大Python工程师的求职者有一个帮助。

1576
来自专栏IMWeb前端团队

H5活动宣传页通用布局技术解决方案

本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 一般来说,活动宣传页都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是...

1915
来自专栏灯塔大数据

每周学点大数据 | No.68 Hadoop 实践案例——等值连接

No.68 Hadoop 实践案例——等值连接 Mr. 王 :我们再来看看另一个非常常见的例子。很多时候,我们关心的数据来自多个表。比如在某学校的教务系统中,有...

40610
来自专栏IT派

真疯了!Java 9 还没会用,Java 10 就要来了!

2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,随后,Oracle发言人Donald Smith在他的博客中确认了这一消息。该决定将在...

3687
来自专栏IT派

那些神奇的一行 Python 代码

Python 这门语言非常的有趣,不仅可以做高大上的人工智能、大数据、机器学习。还可以用来做 Web、爬虫。还有其它很多的应用。今天我就给大家展示下一行 Pyt...

1064
来自专栏精讲JAVA

Gof设计模式之工厂模式(四)

定义 工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式...

1748
来自专栏IMWeb前端团队

Tetris Game / 俄罗斯方块 JavaScript/TypeScript源码

Tetris Game / 俄罗斯方块 浏览器兼容 ie8+, chrome, firefox ... 小时候穷,买不起游戏机,现在用js写一个来弥补一下童...

17810

扫码关注云+社区