首页
社区
课程
招聘
[原创]旅行青蛙破解分析从内存到存档再到改包
发表于: 2018-1-31 19:39 22319

[原创]旅行青蛙破解分析从内存到存档再到改包

2018-1-31 19:39
22319

最近朋友圈里出现了一款日本的游戏,十分火爆,于是忍不住想去破解看看。分析后发现这个游戏的破解并不难,但是可以多种思路进行,是个很好的学习样本,于是决定写一篇文章分享给初学者们。

本文分三个方向进行破解分析,分别为 内存修改,存档修改,apk修改。文章涉及的修改较为简单,主要目的是给大家提供多元的分析思路,接下来我们一个一个来进行具体分析。

所使用样本为 旅行青蛙 1.0.4版本(目前最新版本)。 链接:https://pan.baidu.com/s/1dSqHK6 密码: qmvg


目录

0x1.内存修改 → GG修改器修改数值,需root

0x2.存档修改 → 存档十六进制修改,无需root;原创apk用于修改存档,无需root

0x3.apk修改   → Unity3D游戏脚本修改,无需root

0x4.总结         → 文章整体思路和方向概况


正文


0x1.内存修改

思路:这个方式是用在已经root的手机上,也就是我们接触比较多的修改器通过搜索来确认关键数值的内存地址,然后将其修改,达到破解目的。

工具:GG修改器 / 需要ROOT权限


因为比较简单,这部分尽量简要讲。

打开GG修改器和游戏,进游戏后查看当前三叶草数量,GG修改器附加游戏进程,并搜索该数量。


    


附加后我们进行搜索,搜索37这个数值。


    


搜索结果比较多,我们需要筛选,回到游戏使用三叶草买东西,数值变化为27,然后我们搜索27来确认三叶草数量的内存地址。


    


修改最终搜索到的值为27000,回到游戏就可以看到三叶草数量已经变化。


    


其他物品及抽奖券等数量均可用该方式修改,请大家自己尝试。

这种方式非常方便,但是有个弊端就是需要我们有ROOT权限,对于目前大部分安卓手机来讲,ROOT权限的获取越来越难,接下来我们来分析不需要ROOT权限的两种修改方法。


0x2.存档修改

思路:通过存档文件分析和修改完成关键数值修改

工具:十六进制编辑器


单机游戏都会有存档,旅行青蛙当然也不例外,我们按照常规路径去找一下,发现游戏的存档都在Tabikaeru.sav文件中,路径请看图:




我们使用十六进制编辑器将其打开,编辑器可以用PC端的也可以用手机端的,自行选择。

打开后我们根据目前的三叶草数量27000进行搜索,27000的十六进制为0x6978,所以我们在十六进制文件中可以进行hex搜索,搜索 69 78 或 78 69。

(通常在十六进制中的数值都是倒序记录,比如0x6978会保存为 78 69,在旅行青蛙1.0.1版本的存档中就是这么保存的,不过在1.0.4版本的存档中,已经变为了正序,即69 78)



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-1-11 19:33 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (30)
雪    币: 861
活跃值: (683)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
2018-1-31 19:50
0
雪    币: 1380
活跃值: (1626)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
2018-1-31 20:25
0
雪    币: 144
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
,这个也需要修改?
2018-1-31 21:46
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
zylyy [em_2],这个也需要修改?
只是作为一个学习样本,不针对游戏本身
2018-1-31 21:55
0
雪    币: 5676
活跃值: (1303)
能力值: ( LV17,RANK:1185 )
在线值:
发帖
回帖
粉丝
6
不错
2018-1-31 23:16
0
雪    币: 171
活跃值: (549)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
能分析照片是怎么生成的吗
2018-2-1 08:49
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
ying爵 能分析照片是怎么生成的吗
没具体分析,可以从GetTmpPicture、LoadPicture、ChangePicture这几个method入手看一下。
知乎上关于游戏逻辑的分析 https://www.zhihu.com/question/68733553/answer/305463907
2018-2-1 09:44
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
ying爵 能分析照片是怎么生成的吗
知乎上有把程序逆向的,说的很清楚,制作者在游戏内有路线设计,明信片也是这样
2018-2-1 10:44
0
雪    币: 268
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
下了app-debug.apk,没改成功
2018-2-1 19:30
0
雪    币: 102
活跃值: (94)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
关于0x2.存档修改的一点疑问
不root怎么修改其他APP里的数据?物理机中一般都不允许吧?
W/System.err: java.io.FileNotFoundException: /storage/emulated/0/Android/data/jp.co.hit_point.tabikaeru/files/Tabikaeru.sav: open failed: EACCES (Permission denied)
2018-2-1 21:06
0
雪    币: 10791
活跃值: (4427)
能力值: ( LV12,RANK:404 )
在线值:
发帖
回帖
粉丝
12
思路清晰,分析到位
2018-2-1 21:13
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
试试
2018-2-1 21:57
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
川幽 下了app-debug.apk,没改成功
游戏版本升级到1.0.4再修改,如果版本没有错,退出游戏后修改试下
2018-2-1 22:18
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
15
Deeppanda 关于0x2.存档修改的一点疑问不root怎么修改其他APP里的数据?物理机中一般都不允许吧?W/System.err: java.io.FileNotFoundException: /storage/ ...
只是对文件管理器中的存档文件进行编辑修改,并不需要root,一种可能是没有给应用sd卡文件读写权限,另一种可能是游戏版本并非1.0.4,因为旧版本的存档文件名跟新版本不同
2018-2-1 22:21
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
2018-2-1 22:44
0
雪    币: 3550
活跃值: (2912)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
学习了,感谢感谢
2018-2-2 11:10
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
确实没成功。。而且全盘搜索都没搜到那个文件。。
2018-2-2 12:06
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
19
super面包 确实没成功。。而且全盘搜索都没搜到那个文件。。
1.0.1版本存档名字不是这个,1.0.4存档名字才是这个,目测你安装版本并非1.0.4
2018-2-2 13:00
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
是1.04,才从应用宝上下载的
2018-2-2 13:48
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
最后改apk那个,测试了下改getCloverPoint没有效果,要改Assembly-CSharp.dll->  {}-  ->  CloverFarm  ->  cloverDataFormat.point  =  10000.    不过感谢提供这个教学
2018-2-2 14:39
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
22
厉害
2018-2-2 15:03
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
23
wx_Fly_569111 最后改apk那个,测试了下改getCloverPoint没有效果,要改Assembly-CSharp.dll-> {}- -> CloverFarm -> cloverDataFor ...
getCloverPoint的效果是数量产生变化是增加三叶草,不是直接改数量
2018-2-2 15:15
0
雪    币: 1694
活跃值: (253)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
24
super面包 是1.04,才从应用宝上下载的
按路径查看下有存档了再用吧,帖子里的apk就是改的存档文件
2018-2-2 15:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
厉害  如果游戏是联网的  也能用这个思路修改吗  服务器会不会通过呢
2018-2-5 15:26
0
游客
登录 | 注册 方可回帖
返回
//