zoukankan      html  css  js  c++  java
  • IOS逆向-砸壳笔记

    本人ios10.3.1 iphone6越狱机。
    方案三个。


    方案一、dumpdecrypted.dylib

    1. ssh到越狱机上,看WeChat可执行文件在哪。

    # ps aux|grep WeChat // 需要运行一下微信
    mobile 33539 0.0 5.4 1556320 54512 ?? Ss 9:56AM 4:03.60 /var/containers/Bundle/Application/803BCF43-5FC1-4A35-90CC-7E47C4C7307E/WeChat.app/WeChat
    2. ssh到越狱机上,看其Documents目录在哪。

    # cycript -p WeChat  // 貌似得点一下iphone里的微信,不然会卡住。
    cy# NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]
    @"/var/mobile/Containers/Data/Application/CDA3D8B1-CBEE-4A35-B2A6-2FB733540511/Documents"
    3. mac下,下载:dumpdecrypted 并make出dumpdecrypted.dylib。 然后把dumpdecrypted.dylib用scp拷到iphone的上面步骤2的目录下。(实操中在~目录下也成了.)
    4. 砸壳:
    # DYLD_INSERT_LIBRARIES=/var/mobile/Containers/Data/Application/CDA3D8B1-CBEE-4A35-B2A6-2FB733540511/Documents/dumpdecrypted.dylib /var/containers/Bundle/Application/803BCF43-5FC1-4A35-90CC-7E47C4C7307E/WeChat.app/WeChat
    注:实操中dumpdecrypted.dylib放~目录也成了,即:DYLD_INSERT_LIBRARIES=~/dumpdecrypted.dylib ....
    砸壳成功后,会在当前目录下生成砸壳后的的文件 WeChat.decrypted。
    注:此方法 解密(砸壳)的仅这个WeChat.app/WeChat 。并不是整个WeChat.app。
    5. 遇到的问题:
    dyld: could not load inserted library ‘dumpdecrypted.dylib’ because no suitable image found. Did find: dumpdecrypted.dylib: required code signature missing for ‘dumpdecrypted.dylib’
    解决方法,mac下:
    ## 列出可签名证书
    # security find-identity -v -p codesigning
    ## 选一个证书为dumpecrypted.dylib签名
    # codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib
    然后把签名后的dumpdecrypted.dylib拷到iphone上。重复步骤4.
    6. 怎么证明砸出来的WeChat.decrypted是成功解密(脱壳)了的?
    把WeChat.decrypted拷到mac上,然后

    # otool -l WeChat.decrypted | grep -B 2 crypt
    WeChat.decrypted:
    --
    cmd LC_ENCRYPTION_INFO_64
    cmdsize 24
    cryptoff 16384
    cryptsize 59817984
    cryptid 0                     // <--- 0表示解密成功。1表示未成功

    7. 顺便:在mac下借助 class-dump ,把脱壳文件dump出所有的OC头文件:

    # ./class-dump -s -S -H ./WeChat.decrypted -o ./headers


    方案二、frida 

    0. 这玩意,他是分两个端安装的。。mac端要装,iphone那也要装。相当于是mac下通过命令请求ios端脱壳...
    1. mac下要安装:https://www.frida.re/docs/installation/
    2. iOS下要安装:https://www.frida.re/docs/ios/
    然而我这一步就失败了,Cydia下添加源,屡次失败。
    (补充链接,以后能添加源了再瞧。。https://www.jianshu.com/p/cfe852110e8a)

    方案三、直接去pp助手下载越狱应用。通常就是脱壳了的ipa。

  • 相关阅读:
    树莓派系统Raspbian安装小结
    树莓派安装centos 7系统
    Ubuntu下安装SSH服务
    使用xUnit为.net core程序进行单元测试(4)
    使用xUnit为.net core程序进行单元测试(3)
    使用xUnit为.net core程序进行单元测试 -- Assert
    使用xUnit为.net core程序进行单元测试(1)
    用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api
    asp.net core 2.0 查缺补漏
    "软件随想录" 读书笔记
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/9889976.html
Copyright © 2011-2022 走看看