【实践】如何无限畅享游戏金币——开心水族馆篇
本帖最后由 tree_fly 于 2015-7-3 12:55 编辑iOS8.4发布了,一场关于越狱风波的争论、厮杀,愈演愈烈!江湖的事我们就不提了,静静研究研究技术吧。今天的主题是如何无限畅享游戏金币之开心水族馆篇,本文旨在介绍常见的逆向工具的简单使用。
这款游戏发行好久了,孩子们总是痴迷着,总说“又没钱了”,现实中的屌丝实难一夜高富帅,游戏中的……
0x1 工具
iPhone,Mac;
Clutch,Cycript,Hopper Disassembler,class-dump,
0x2 分析
来个游戏截图,这里显示着金币数量:50662,我们的任务是找到增加金币的方法,看看游戏使用什么类什么方法来实现。
0x3 获取ipa
ssh连接到iphone,使用Clutch工具,首先查看app的bundleID:
Clutch -i
找到了,他是:com.happyelements.HappyFishCN
开始脱壳获取ipa文件
Clutch -d com.happyelements.HappyFishCN
提示破解成功,导出文件。
tree-flys-iPhone:~ root# Clutch -d com.happyelements.HappyFishCN
Dump |<ARMDumper: 0x17dd8200> armv7 <Binary: 0x17e64240, executable: Happy Fish> 32bit dumping: arch armv7 offset 16384
Dump |<ARMDumper: 0x17dd8200> armv7 <Binary: 0x17e64240, executable: Happy Fish> to MH_PIE or not to MH_PIE, that is the question
Dump |<ARMDumper: 0x17dd8200> armv7 <Binary: 0x17e64240, executable: Happy Fish> ASLR slide: 0x13000
Finished dumping binary <Binary: 0x17e64240, executable: Happy Fish> armv7 with result: 1
DONE: /private/var/mobile/Documents/Dumped/com.happyelements.HappyFishCN-iOS5.1.1-(Clutch-2.0 RC2).ipa
0x4 解压IPA获取主程序 HappyFish使用XX助手复制ipa到Mac,解压后可得主程序。
0x5 反汇编工具(Hopper Disassembler)获取详细信息
这里才是真正需要分析的地方,尝试搜索常见的关键词,比如:getCoin,发现有个FishUserInfoProxy类引人注意:
使用Class-dump工具导出头文件,打开FishUserInfoProxy.h文件,看到一些很性感的东西,是不?
关于Coin,有几个方法:getCoin,setCoin,addCoin等,待会逐一测试。
0x6 功能测试
tree-flys-iPhone:~ root# ps -c -A ;获取HappyFish程序的PID cycript -p10241
使用choose获取到我们需要的类,
尝试改变Coin值试试:
cy# var F = choose(FishUserInfoProxy)[0]#"<FishUserInfoProxy: 0x1c38ffc0>" cy# [F getCoin]50662cy# [F addCoin:10000]cy# [F getCoin]60662 cy# [F addCoin:10000]cy# [F getCoin]70662
这里还有setLoveValue(爱心值),setExperience(经验值),setShellTickets(轴卷数)等。。。。
小伙伴们,期待你的测试哦!快速升级啥的都不是个事喽 ~\(≧▽≦)/~
看看界面变化了没有?
,
上传数据试试,没有报错,看来服务器没有验证金币这一块。
0x7 Tweak
来个吉利金币数量:888888888
当然,带个配置开关那是极好了。
疏漏太多,抛砖引玉,希望更多的人热爱iOS,热爱逆向。
好了,越狱圈又出新闻了,看微博去了。
tree_fly/P.Y.G
2015-07-02
牛犇~~
前排学习 牛叉,感谢分享了,顶起来 前来支持楼主了 数据还能联网同步吗 liusu277 发表于 2015-7-3 09:19
数据还能联网同步吗
恩,服务器不验证金币。
膜拜一下楼主,谢谢楼主分享。 好东西,值得收藏,谢谢分享。
请问用代码如何附加进程,如何hook函数呢?有完整的代码吗? tree_fly 发表于 2015-7-3 12:47
恩,服务器不验证金币。
感觉现在游戏更新了,现在金币是存在服务器上的。一买东西,就会提示。