砸壳 (22)

USB取别名测试

将config文件对照 USB的链接方式, 增加相应的参数, 试一下


image.png

恢复非越狱环境

iOS11以上的越狱

  1. uncOver -> 设置 -> Restore RootFS -> 还原越狱环境
  2. 越狱的手机 -> 还原出厂设置的操作 -> 很容易变砖 -> 推荐上面方法还原到非越狱状态

iOS11以下的完美越狱

  1. 将unjailbreak.sh 拷贝到越狱手机的root用户目录下
  2. 在手机上执行该脚本(设备会重启并且清理干净)-> sh unjailbreak.sh
    unjailbreak

砸壳

软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。

砸壳原理

常用的就是动态砸壳

image.png

下方是动态砸壳的原理: 拿取系统解密过的并且运行到内存中的数据. 因为越狱手机可以拿到root权限, 访问手机的所有进程.


image.png

Clutch

Clutch是由KJCracks开发的一款开源砸壳工具。工具支持iPhone、iPod Touch、iPad,该工具需要使用iOS8.0以上的越狱手机应用。
Clutch
iOS 11以下的完美越狱手机可用.

  1. 下载release版本.
  2. ls -l
    1. file Clutch-2.0.4 -> 胖二进制文件
  3. scp -P 12345 ./Clutch-2.0.4 [email protected]:/var/root/Clutch
    1. 拷贝文件到手机的指定目录
    2. 链接手机 -> ls -l -> 查看Clutch的权限
    3. chmod +x Clutch -> 加个权限
    4. ./Clutch
      1. ./Clutch -i
      2. ./Clutch -d 3 -> 此时需要运行需要砸壳的软件(动态砸壳需要)
  4. ps -A | grep WeChat -> 找到WeChat的MachO文件
    1. scp -P 12345 [email protected]:<上面的微信MachO路径> <要拷贝的路径,例./WeChat> -> 将手机里的微信可执行文件拷贝出来
    2. otool -l WeChat | grep crypt -> cryptid 1 -> 这个字段说明加密, 如果为0则为砸壳成功的包

dumpdecrypted

Github开源工具。 dumpdecrypted这个工具就是通过建立一个名为dumpdecrypted.dylib的动态库,插入目标应用实现脱壳。
dumpdecrypted的Git

DYLD_INSERT_LIBRARIES

  1. 越狱环境下
  2. 生成自己写的framework
  3. scp -r -P 12345 <自己的库.framework> [email protected]:/var/root
  4. ps -A | grep Wechat -> 找到微信的MachO地址
  5. su mobile -> 切换为mobile用户
  6. DYLD_INSERT_LIBRARIES=Inject.framework/Inject 微信的MachO地址
  7. 切换到mobile用户才能插入成功

dumpdecrypted的使用

image.png
  1. iOS 11以下的完美越狱版本
  2. mv dumpdecrypted.dylib /var/mobile/
  3. 切换到mobile用户
  4. 此处注意mobile用户的操作权限文件夹
  5. DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 微信的MachO地址
  6. WeChat.decrypted -> 砸壳后的文件
  7. 将该文件拷贝到Mac
  8. otool -l WeChat.decrypted | grep crypt -> 查看是否加密 -> cryptid 0 -> 砸壳成功

frida-ios-dump

该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件。

frida-ios-dump的Git

frida-ios-dump用法演示

  1. 进入某个自己创建好的文件夹
  2. sh usbConnect.sh -> 加个映射
  3. dump.py 微信

安装

  1. 查看dump.py(在MonkeyDev/bin里) -> 修正相应的顶部python脚本 -> #!/user/bin/env python3
  2. python -V -> 查看python的版本 (注意大写,python大小写敏感)
    1. python3 -V -> 查看python3的版本
    2. brew install python3 -> 安装python3
      1. xcode-select --install -> 有可能需要升级xcode支持, 具体看提示
  3. 或者安装sudo easy_install pip -> 安装pip
    1. pip3 -V -> 查看相应的pip环境版本
    2. 上面的python3 要对应安装pip3 -> sudo easy_install pip3
  4. sudo pip install frida-tools -> 安装frida-tools
    image.png
    1. 如果安装还有其他的问题, 科学上网试试
  5. 手机安装frida
    image.png

详细使用说明

  1. frida-ps -> 可以查看当前电脑的进程
    1. frida-ps -U -> 打印手机的进程 -> 需要USB链接手机
  2. frida -U 微信 -> 可进入手机微信的调试界面(这个不适合做动态调试,可以了解一下)
  3. 下载frida-ios-dump的git库
  4. sudo pip3 install -r requirements.txt --upgrade -> 用相应的pip版本去安装
  5. 直接./dump.py 微信 -> 注意dump.py里面的最上面的python脚本,修改对应的版本
  6. 映射, 因为用到了SSH -> sh usbConnect.sh
    1. 如果用的是WIFI -> vi ./dump.py
    2. 更改里面的端口号和Host
      image.png
    3. 映射成功/WIFI -> ./dump.py 微信

链接手机后中文输入

  1. 链接手机
  2. 资料里面 cat.inputrc
  3. scp -P 12345 .inputrc root@localhost:/var/root/
  4. 断连 -> 重连 -> 就可以输入中文了

你可能感兴趣的:(砸壳 (22))