iOS逆向工程(一):APP砸壳

首先得准备一部已经越狱过的iPhone,并且安装好OpenSSH和cycript插件

步骤:

  1. 下载 https://github.com/stefanesser/dumpdecrypted/archive/master.zip
  1. 解压然后cd到这个目录,执行make命令,目录下就会多出一个dumpdecrypted.dylib文件,这个就是等会要用的砸壳工具
  1. 确保手机和电脑处于同一局域网内,使用ssh命令连接手机 (命令:ssh root@ + IP地址)
    例如 ssh [email protected]
    接着输入密码,默认密码是alpine,输入完成后就可以通过命令控制手机了
    iOS逆向工程(一):APP砸壳_第1张图片
  1. 选定你要砸壳的目标。将后台的程序都关闭掉只打开要砸壳的APP,这样便于稍后在系统进程中寻找目标。接下来使用ps -e命令查看所有进程信息
    iOS逆向工程(一):APP砸壳_第2张图片
    这里会将所有的系统进程罗列出来,其中就会包含我们的目标APP进程信息(笔者以优酷APP为例,这里显示的都是APP的包名,不过基本和APP本身的名称相近,很快就可以找到)
  1. 利用cycript工具来勾住我们的目标进程,执行cycript -p + 进程名称或ID,需要注意的是执行此命令时目标APP要处于前台开启状态
  1. 执行脚本代码获取目标APP的沙盒路径,脚本代码:[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
    这样我们就可以看到沙盒路径了
  1. 新开一个命令窗口,使用scp命令将之前编译好的dumpdecrypted.dylib文件拷贝至目标APP的沙盒目录下(命令:scp 原文件地址 目标地址)(这里也可以使用其他文件管理工具直接进行拷贝)
    scp /Volumes/CHENHAO/develop/dumpdecrypted.dylib [email protected]:/var/mobile/Containers/Data/Application/477D8997-B73E-4B16-8649-3C12F7F11CF5/Documents/dumpdecrypted.dylib
    iOS逆向工程(一):APP砸壳_第3张图片
  1. 回到刚才连接手机的命令窗口,ctrl + z 退出附加进程模式,cd 到目标APP的沙盒目录下
    cd /var/mobile/Containers/Data/Application/477D8997-B73E-4B16-8649-3C12F7F11CF5/Documents/
  1. 使用砸壳命令进行砸壳
    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/347416AC-B8AD-491A-AC27-D226717C829F/Youkui4Phone.app/Youkui4Phone
    iOS9.3.2以上的版本在执行此命令时可能会出现kill9的错误,这时需要先执行一下su mobile然后再执行砸壳命令。执行完毕后可以用ls命令列出文件夹下所有文件,Youkui4Phone.decrypted 就是我们想要的砸壳后的二进制文件
    iOS逆向工程(一):APP砸壳_第4张图片
  1. 回到刚才拷贝文件的窗口,使用scp命令将砸壳后的文件拷贝出来(这里同样可使用文件管理工具直接拷贝)
    scp [email protected]:/var/mobile/Containers/Data/Application/477D8997-B73E-4B16-8649-3C12F7F11CF5/Documents/Youkui4Phone.decrypted /Volumes/CHENHAO/develop/Youkui4Phone.decrypted

    iOS逆向工程(一):APP砸壳_第5张图片

  2. 最后一步了,使用class-dump获取头文件信息
    导出所有头文件class-dump -H /Volumes/CHENHAO/develop/Youkui4Phone.decrypted
    也可以将所有头文件内容合并到一个.m文件内class-dump --arch arm64 /Volumes/CHENHAO/develop/Youkui4Phone.decrypted > /Volumes/CHENHAO/develop/Youkui4Phone.m

    iOS逆向工程(一):APP砸壳_第6张图片

你可能感兴趣的:(iOS逆向工程(一):APP砸壳)