美文网首页iOSiOS Blog工具安装
iOS逆向工程(简单利用"dumpdecrypted&

iOS逆向工程(简单利用"dumpdecrypted&

作者: ForestSen | 来源:发表于2016-06-07 10:37 被阅读14797次

    一、前提介绍

    1,有些从 APPStore 商店下载安装的APP 默认都被苹果加了一层壳,加了壳后我们就无法使用dump导出头文件等其它操作,多亏了大神给我们提供了工具Dumpdecrypted让我们能够砸了这个壳。

    编译后的Dumpdecrypted工具的下载地址:
    https://github.com/DaSens/Crack-file

    使用的脚本下载地址
    https://github.com/DaSens/Theos-Script

    二、总结步骤

    1,设备中打开需要砸壳的APP。
    2,SSH连接到手机,找到ipa包的位置并记录下来。
    3,Cycript附加到进程,找到App的Documents文件夹位置并记录下来。
    4,拷贝dumpdecrypted.dylib 到App的Documents 的目录。
    5,执行砸壳后,并拷贝出砸壳后的文件,然后完成。
    以上就是步骤了,其实很简单,下面进行演示砸腾讯视频的壳:

    第一步:分别找到两个地址:
    需要用到的命令:

    1, ssh root@10.10.245.208 (iP地址为设备的iP地址)
    2, ps -e       (查看进程)
    3, cycript -p  (附加进程)
    4, [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
                                              inDomains:NSUserDomainMask][0]
    

    演示:

    ```

    第二步:拷贝dumpdecrypted.dylib 到App的Documents的目录:
    需要用到的命令:

    scp ~/dumpdecrypted.dylib root@10.10.242.107:/var/mobile/Containers/Data/Application/2B4C6281-C015-4FF3-A8EC-5E5C7554D447/Documents 利用Scp命令进行拷贝)
    

    第三步:执行砸壳:
    进入到 Documents 目录下,然后进行砸壳:
    需要用到的命令:

    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/
    Application/BFED82A3-3238-4F41-B797-C1CB584CBE05/qqlive.app/qqlive
    

    演示:


    然后就会生成.decrypted的文件,这个就是砸壳后的文件。我们接下来就可以对他做操作了,比如导出头文件。

    第四步:测试Dump出头文件
    演示:

    dump如果没有出现东西,可以确定下当前的处理器,加相应参数
    如: --arch armv7

    ./class-dump --arch armv7 /Users/zhangdasen/Downloads/Theos-Script-master/TogetherInvest.decrypted -H -o /Users/zhangdasen/Downloads/Theos-Script-master/kk

    其他型号使用相对应的 4(armv7),4s(armv7),5(armv7),5s(arm64),6(arm64),6s(arm64)

    .

    参考资料:
    书籍:iOS应用逆向工程 第二版
    网站:http://bbs.iosre.com/

    相关文章

      网友评论

      • hhy_082510:大神,知道沙盒目录名是怎么命名的吗
      • 開汧吣伈_7819:说没有路径呢 11.31
      • Refusing:手机要怎么root呢
        ForestSen:@Refuse_self 11.2 还可以
        Refusing:@Forest_Sen 已经升级到11.0了 是不是就没有希望了 找了一段时间 没有找到合适的越狱包
        ForestSen:@不变的称号 越狱,PP助手等,看看OS版本具体是多少10.2还行,太高目前应该还不可以。
      • 塔罗师_Michael:我找不到对应的 APP 名称怎么办呢? 比如飞猪
        塔罗师_Michael:非常感谢你的回复 ,找到对应的了 不过现在遇见了 Killed: 9 的问题 在解决,这东西一步一个坑,烦人。
        ForestSen:@塔罗师Martin 有可能是拼音或者英文名,可以注意下。引用是保证一定设备上有的,如果还找不到,可以用PP助手,辅助一下
      • 阙笙:在iOS9.3上, DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/89C61871-125C-4633-B423-AC1A5089A73D/WhatsApp.app/WhatsApp
        这一步会kill 9。
        解决:1.su mobile 2.DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/89C61871-125C-4633-B423-AC1A5089A73D/WhatsApp.app/WhatsApp
      • hhy_082510:cycript - p 1823
        cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
        inDomains:NSUserDomainMask][0]
        #"file:///var/root/Documents/"
        我找沙盒路径的时候发现不对。这个楼主有遇到过吗?给我的感觉就像沙盒没有出来一样
        ForestSen:解决了吗
      • SuperRoot:进入root后

        iPhone:~ root# ps -e
        -sh: ps: command not found

        大神,什么原因
        ForestSen:@ForestSen adv-cmds
        ForestSen:需要安装下
      • 行走的乌鸦:ssh怎么连iPhone的?(未越狱):heart_eyes:
        ForestSen:@coderDB 未越狱不行吧
      • a05eff4c5c63:dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
        dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'
        没有签证 ?? ios10.2 ,这个楼主遇到过没
        ForestSen:@演不完的冬天 先排除下是不是上面说的两个问题,如果不是的话,那么我应该就没遇到过了,你可以去http://bbs.iosre.com/ 论坛发下问,看看有没有遇到的。
        a05eff4c5c63:@_品味生活_ dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
        dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'


        Abort trap: 6 这就是全部错误。没有errno
        ForestSen:@演不完的冬天 errno=1 还是but wrong architectur ?
        《 errno=1 》的话检查下dumpdecrypted.dylib 文件你放在了哪个路径下,是不是路径不对。
        《 but wrong architectur 》 的话,应该是 dumpdecrypted.dylib与待砸App可执行文件的处理器架构不匹配。
      • ab926f172c6c:最后classdump那个./TheosScript.sh是哪个软件,可以直接拉文件,不用自己输入?
        ForestSen:@One_2f74 dumpdecrypted 你放到了哪个目录下,是不是document目录下
        ab926f172c6c:@_品味生活_ 我还想问一下Dumpdecrypted这个是要求xcode中默认sdk同使用的越狱设备一样的是吗?我现在用10.0.1的机子,然后xcode你默认是ios9.2的,显示dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
        dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'。不知道是不是这个原因,也找不到地方下xcode中的sdk
        ForestSen:@One_2f74 不是软件,是个小脚本,就几行命令,我记得文章里我有链接
      • 难却却:好厉害!
      • 偌上:最后一步 砸出头文件。怎么做。没有你哪个1.sh啊
        偌上:@品味_生活 谢谢
        ForestSen:@偌上 https://github.com/DaSens/Theos-Script
      • 89c52936642e:楼主:我砸开酷狗后头文件没有一个怎么回事?有遇到过吗?
      • yejunmou:你好 你的终端怎么设置的啊
        ForestSen:@yejunmou 我的终端怎么了,和平常的不一样吗
      • 我只是个仙:砸壳之后可以重签名吗
        kefeike:@我只是个仙 经试验,砸壳后,重签名成功
      • lhjzzu:你好,当执行DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/
        Application/BFED82A3-3238-4F41-B797-C1CB584CBE05/qqlive.app/qqlive 后,出现 Killed: 9 这是什么原因?
        89c52936642e:@lhjzzu 我用PP 助手PC版的,然后有个修复闪退后就好了
        XPorter:@lhjzzu http://blog.csdn.net/hk_5788/article/details/52425519,看这个
      • Easy_VO:我也砸出来了,可是全是.h文件,怎么分析啊
        Easy_VO:@品味_生活 :kissing_heart:受教了
        ForestSen:@Easy_逝殤 逆向破解非这么简单, 砸壳导出头文件只是基本的步骤。如果说这些.h文件作用,简单可以说,比如你想寻找一个APP的方法,你就可以根据头文件导入xcode,搜索相应的关键词,或者载入IDE,根据头文件寻找相应方法内存地址,等等,非一两句能说清,如果你想详细学习逆向开发,可以参考《iOS应用逆向工程+第2版》这本书,或者去http://bbs.iosre.com/论坛参考相关资料。由于最近忙,没有发布新文章,可能最近忙完了也会更新相关的教程吧。
      • 6eeebdf65572:请问楼主,砸壳只要是越狱的iOS设备就可以了是吧,也就是说不一定要iPhone,iPad也可以的对吧?
        ForestSen:@MonsterSong 是的 ,你说的没错
      • 黄花菜先生:dyld: could not load inserted library 'dumpdecrypted.dylib' because image not found

        第三步的时候,报这个错,求解!!!
        ForestSen:@不会凉的黄花菜 先测试下,class-dump 其他的app是否出现这个问题,反复测试,如果真是只是这个app无法class dump的话,那么我也再帮你看看。
        黄花菜先生:@品味_生活 谢谢,我自己的失误,是这个原因,已经解决了。可是碰到了新的问题,在class-dump的时候,碰到了新的问题。bogon:~ MAC_CaiWanhong$ class-dump -H /Users/zero/Desktop/逆向/LianjiaNG.decrypted -o /Users/zero/Desktop/Head
        2016-07-12 10:59:18.467 class-dump[841:15417] Error: Cannot find offset for address 0x580000000100bcd8 in stringAtAddress: 我在iosre看到一篇帖子说是项目中可能用到了swift,http://bbs.iosre.com/t/xue-xi-yong-dumpdecryptedgei-appza-ke-suo-yu-dao-de-wen-ti/813,不知道你是否对此有研究?
        ForestSen:@不会凉的黄花菜 拷贝dumpdecrypted.dylib 到App的Documents 的目录 这一步做了吗
      • 黑心小皮袄:配图不错,引人入胜。
        ForestSen:@黑心小皮鞭 感谢
      • 以技术之名:手机未越狱可以执行砸壳吗?
        白尔樱溪:肯定可以砸 用 frida 集成到app的framework里面去
        以技术之名:@品味_生活 嗯,好的,谢谢
        ForestSen:@Flying_Einstein 应该是不可以的,因为砸壳必须在手机上进行砸壳,如果未越狱,是无法把dumpdecrypted上传上去,并且开启SSH 进行砸壳的,所以说最好有一个能够越狱的设备。

      本文标题:iOS逆向工程(简单利用"dumpdecrypted&

      本文链接:https://www.haomeiwen.com/subject/dbhddttx.html