飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 8587|回复: 19

[iOS] 【实践】如何无限畅享游戏金币——开心水族馆篇

[复制链接]
  • TA的每日心情
    开心
    2019-3-17 22:44
  • 签到天数: 132 天

    [LV.7]常住居民III

    发表于 2015-7-2 15:13:11 | 显示全部楼层 |阅读模式
    本帖最后由 tree_fly 于 2015-7-3 12:55 编辑

      iOS8.4发布了,一场关于越狱风波的争论、厮杀,愈演愈烈!江湖的事我们就不提了,静静研究研究技术吧。  今天的主题是如何无限畅享游戏金币之开心水族馆篇,本文旨在介绍常见的逆向工具的简单使用
      这款游戏发行好久了,孩子们总是痴迷着,总说“又没钱了”,现实中的屌丝实难一夜高富帅,游戏中的……
      


    0x1 工具
      iPhone,Mac;
      Clutch,Cycript,Hopper Disassembler,class-dump,


    0x2 分析
      来个游戏截图,这里显示着金币数量:50662,我们的任务是找到增加金币的方法,看看游戏使用什么类什么方法来实现。
       QQ20150702-1@2x.png

    0x3 获取ipa
      ssh连接到iphone,使用Clutch工具,首先查看app的bundleID:
    1. Clutch -i
    复制代码


    QQ20150702-2@2x.png
    找到了,他是:com.happyelements.HappyFishCN
    开始脱壳获取ipa文件
    1. Clutch -d com.happyelements.HappyFishCN
    复制代码

    提示破解成功,导出文件。
    1. tree-flys-iPhone:~ root# Clutch -d com.happyelements.HappyFishCN
    2. Dump |  <ARMDumper: 0x17dd8200> armv7 <Binary: 0x17e64240, executable: Happy Fish> 32bit dumping: arch armv7 offset 16384
    3. Dump |  <ARMDumper: 0x17dd8200> armv7 <Binary: 0x17e64240, executable: Happy Fish> to MH_PIE or not to MH_PIE, that is the question
    4. Dump |  <ARMDumper: 0x17dd8200> armv7 <Binary: 0x17e64240, executable: Happy Fish> ASLR slide: 0x13000
    5. Finished dumping binary <Binary: 0x17e64240, executable: Happy Fish> armv7 with result: 1

    6. DONE: /private/var/mobile/Documents/Dumped/com.happyelements.HappyFishCN-iOS5.1.1-(Clutch-2.0 RC2).ipa
    复制代码


    0x4 解压IPA获取主程序 HappyFish使用XX助手复制ipa到Mac,解压后可得主程序。
    QQ20150702-3@2x.png


    0x5 反汇编工具(Hopper Disassembler)获取详细信息
      这里才是真正需要分析的地方,尝试搜索常见的关键词,比如:getCoin,发现有个FishUserInfoProxy类引人注意:
    QQ20150702-4@2x.png

    使用Class-dump工具导出头文件,打开FishUserInfoProxy.h文件,看到一些很性感的东西,是不?
    QQ20150702-5@2x.png


    关于Coin,有几个方法:getCoin,setCoin,addCoin等,待会逐一测试。


    0x6 功能测试
    1. tree-flys-iPhone:~ root# ps -c -A         ;获取HappyFish程序的PID
    复制代码
                 cycript -p  10241
    使用choose获取到我们需要的类,
    尝试改变Coin值试试:

    cy# var F = choose(FishUserInfoProxy)[0]
    #"<FishUserInfoProxy: 0x1c38ffc0>"
    cy# [F getCoin]
    50662
    cy# [F addCoin:10000]
    cy# [F getCoin]
    60662
    cy# [F addCoin:10000]
    cy# [F getCoin]
    70662



    QQ20150702-7@2x.png


    这里还有setLoveValue(爱心值),setExperience(经验值),setShellTickets(轴卷数)等。。。。
    小伙伴们,期待你的测试哦!  快速升级啥的都不是个事喽    ~\(≧▽≦)/~

    看看界面变化了没有?
    QQ20150702-6@2x.png


    上传数据试试,没有报错,看来服务器没有验证金币这一块。


    0x7 Tweak
    来个吉利金币数量:888888888
    QQ20150702-8@2x.png





    当然,带个配置开关那是极好了。


    QQ20150627-1@2x.png








    疏漏太多,抛砖引玉,希望更多的人热爱iOS,热爱逆向。
    好了,越狱圈又出新闻了,看微博去了。


      
    tree_fly/P.Y.G
    2015-07-02


    评分

    参与人数 4威望 +49 飘云币 +89 收起 理由
    chenyw101 + 1 + 1 牛,都开始iphone了啊
    逍遥枷锁 + 8 + 8 感谢发布原创作品!
    creantan + 20 + 40 PYG有你更精彩!
    GGLHY + 20 + 40 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2015-7-2 15:18:24 | 显示全部楼层
    牛犇~~
    前排学习
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    昨天 09:18
  • 签到天数: 2052 天

    [LV.Master]伴坛终老

    发表于 2015-7-2 19:27:44 | 显示全部楼层
    牛叉,感谢分享了,顶起来
    PYG19周年生日快乐!
  • TA的每日心情

    昨天 11:04
  • 签到天数: 1111 天

    [LV.10]以坛为家III

    发表于 2015-7-2 20:09:30 | 显示全部楼层
    前来支持楼主了
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    前天 18:57
  • 签到天数: 1425 天

    [LV.10]以坛为家III

    发表于 2015-7-3 09:19:53 | 显示全部楼层
    数据还能联网同步吗

    点评

    恩,服务器不验证金币。  详情 回复 发表于 2015-7-3 12:47
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-17 22:44
  • 签到天数: 132 天

    [LV.7]常住居民III

     楼主| 发表于 2015-7-3 12:47:27 | 显示全部楼层
    liusu277 发表于 2015-7-3 09:19
    数据还能联网同步吗

    恩,服务器不验证金币。  
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2019-3-1 23:51
  • 签到天数: 559 天

    [LV.9]以坛为家II

    发表于 2015-7-3 23:11:41 | 显示全部楼层
    膜拜一下楼主,谢谢楼主分享。
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2015-8-30 06:26
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2015-7-8 12:37:23 | 显示全部楼层
    好东西,值得收藏,谢谢分享。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 16:52
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-8-24 16:33:47 | 显示全部楼层
    请问用代码如何附加进程,如何hook函数呢?有完整的代码吗?
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2015-8-25 20:00:01 | 显示全部楼层
    tree_fly 发表于 2015-7-3 12:47
    恩,服务器不验证金币。

    感觉现在游戏更新了,现在金币是存在服务器上的。一买东西,就会提示。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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