49

iOS进阶之逆向工程(越狱、砸壳、反编译)

 4 years ago
source link: https://www.tuicool.com/articles/FnYrUf2
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

背景

这篇文章只是个人记录,是如何一步一步从越狱一部手机到反编译一个APP,故不作为教材文章,仅供参考。

第一步、越狱

关于越狱看 这篇文章 足以,这里简单对这篇文章做下记录:

1、用苹果手机自带的Safari浏览器打开app.ignition.fun

2、进去后点击中间的按钮

3、点击Jailbreaks

4、点击Jailbreaks进去后拉倒最后点击Pwn20wnd

5、点击GET然后点安装

6、去设置信任证书,如果无法信息,卸载重新下载

7、打开刚才安装的unc0ver APP

8、点击「Jailbreak」按钮,越狱过程可能会重启三次,每次重启后再打开unc0ver APP点击Jailbreak按钮。

9、出现Cydia后代表越狱成功

注:如果越狱过程中,卡住OTA问题上,请到设置->存储管理里删除已经下载好的系统文件,如果删除了还是不行的话,请自行谷歌或者百度, 我因为有部专门测试手机,我选择了直接重置手机。懒得去找其他办法了。

第二步、砸壳

这里选择一键砸壳工具frida-ios-dump

frida-ios-dump 下载地址

1、先安装frida

首页安装pip,打开终端,执行以下命令(如果已安装请跳过)

sudo easy_install pip

其次,执行以下命令安装frida

sudo pip install frida-tools

如果安装报以下错误,

Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.

执行以下命令,

sudo pip install frida –upgrade –ignore-installed six

然后重新执行,

sudo pip install frida-tools

2、使用你的越狱手机,启动 Cydia,安装frida插件

软件源 Sources-> 编辑 Edit(右上角)-> 添加 Add(左上角)-> 输入 https://build.frida.re%EF%BC%8C%E9%80%9A%E8%BF%87%E5%88%9A%E6%89%8D%E6%B7%BB%E5%8A%A0%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%BA%90%E5%AE%89%E8%A3%85 frida 插件。

3、通过USB链接手机和电脑

具体如何链接ssh这里 有篇文章 , 我这里做简单记录:

1、在手机上打开 Cydia ,搜索 openssh 并安装

2、在Mac终端执行 brew install libimobiledevice
3、完成第二步后执行 iproxy 2222 22 ,进行端口转换,此时终端界面显示 waiting for connection

4、打开新的终端执行 ssh -p 2222 [email protected] , 这时候可能会出现 The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established. ECDSA key fingerprint is SHA256:+0hOqiykO/N5kh9p+mYk2pb+2MAb5Q1DkFK9tTCZ7TU. Are you sure you want to continue connecting (yes/no)? . 输入yes后按回车,此时会提示你输入手机的root密码,默认密码是:alpine ,然后之前的那个 waiting for connection 终端窗口,就显示连接成功了。

4、执行 frida-ps -U 查看手机上安装的app

新开一个终端,执行 frida-ps -U 即可在终端显示已安装app

5、cd到已经下载的 frida-ios-dump 目录,执行以下命令安装依赖库 sudo pip install -r requirements.txt --upgrade

6、开始砸壳

终端执行以下命令

./dump.py app名称

这里的app名称为在手机桌面上显示的名称,砸壳完成后,会在frida-ios-dump目录里生成一个已砸壳的ipa文件,即可脱壳的app。

7、判断是否砸壳

判断是否砸壳,进入app目录- otool -l WeChat | grep crypt

安装 MonkeyDev、Reavl、 Hopper

安装 MonkeyDev

安装 Reveal

安装 Hopper Disassemble


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK