美文网首页
dumpdecrypted砸壳

dumpdecrypted砸壳

作者: KinKen | 来源:发表于2018-11-09 11:03 被阅读0次

    一、原理

    动态注入可执行文件Mach-o,从内存dump出解密的内容

    github : dumpdecrypted

    二、编译dumpdecrypted

    cd到目录 make 得到一个dumpdecrypted.dylib

    PS:后面注入过程出现一个问题:


    因为没有签名dylib,注入失败

    解决方案:
    列出可签名证书

    security find-identity -v -p codesigning

    为dumpecrypted.dylib签名

    codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib

    三、砸壳(解密)

    1.定位目标应用的可执行文件

    手机退出其他应用,只打开目标应用(以微信为例),电脑ssh到手机,使用ps -e(ps命令需要手机安装插件adv-cmds)命令查看进程:


    定位微信进程

    2.获取应用沙盒目录Documents

    动态库注入解密需要写到同一目录下,而应用存在沙盒中,通过BundleID调用私有API获取Documents目录:
    cat /var/containers/Bundle/Application/BE4C2082-083B-4DE4-924D-EDCA98EB1701/WeChat.app/Info.plist | grep CFBundleIdentifier -A 1

    获取bundleID

    3.调用私有API获取沙盒Documents目录

    新建iOS工程,在目标应用设备上运行

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        NSString *bundleID = @"com.tencent.xin";
        NSURL *dataURL = [[NSClassFromString(@"LSApplicationProxy") performSelector:@selector(applicationProxyForIdentifier:) withObject:bundleID] performSelector:@selector(dataContainerURL)];
        NSLog(@"%@",[dataURL.absoluteString stringByAppendingString:@"/Documents"]);
        return YES;
    }
    

    控制台输出:
    2018-11-08 23:13:26.751557 decrypt[623:18364] file:///private/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents
    对应Documents目录:
    /var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents

    4.复制dylib到Documents目录并进行解密

    • 在dumpdecrypted.dylib目录下打开终端,复制dylib使用以下命令(自行修改不同参数):
      scp ./dumpdecrypted.dylib root@192.168.10.170:/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents

    • ssh到手机端解密
      1.cd /var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents
      2.DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/BE4C2082-083B-4DE4-924D-EDCA98EB1701/WeChat.app/WeChat

      dump出解密文件
    • 解密文件就在Documents目录,拷贝出来玩耍吧
      Mac端:
      scp root@192.168.10.170:/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents/WeChat.decrypted ~/desktop

    • 查看解密文件


      cryptid为0表示未加密

    上述操作比较原始,后面会有更快的砸壳方法,庆哥的改版dumpdecrypted(试过一遍没搞懂),庆哥推荐使用 frida-ios-dump,传送门:使用frida-ios-dump快速通过越狱设备砸壳

    相关文章

      网友评论

          本文标题:dumpdecrypted砸壳

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