iOS越狱逆向环境搭建

1.需要一台越狱的iPhone手机

最好是完美越狱的,越狱比较简单,直接下载爱思助手或者是PP助手都可以一键越狱,爱思助手支持的iOS版本要高些。如果手机桌面上有Cydia就表示越狱成功了。


图片1.png

打开Cydia有可能会出现无法访问网络的情况


IMG_0304.PNG

这时候就需要下载 【乐网】 打开全局拦截!
IMG_0305.PNG

2.Cydia添加源

http://apt.25pp.com/
http://apt.saurik.com
http://cydia.angelxwind.net/
http://apt.thebigboss.org/repofiles/cydia

3.手机安装(由于手机版本问题有些插件不支持,找到相同功能插件就可以了)

Apple File Conduit "2"

可以访问整个iOS设备的文件系统
类似的补丁还有:afc2、afc2add


图片2.png
AppSync Unified

可以绕过系统验证,随意安装、运行破解的ipa安装包

图片4.png
Filza File Manager

可以在iPhone上自由访问iOS文件系统
类似的还有iFile、File Browser


IMG_0306.PNG
PP助手

可以下载很多应用


图片3.png
OpenSSH

使用OpenSSH远程登录手机:
1.SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下
2.Mac的终端输入ssh 账户名@服务器主机地址(ssh [email protected])默认密码alpine
登录成功后就可以使用终端命令行操作iPhone
3.退出登录命令是exit

图片7.png
vim

在终端编辑文件内容


图片13.png
adv-cmds

ps命令是process status的缩写,使用ps命令可以列出系统当前的进程
列出所有的进程ps –A
搜索关键词 ps –A | grep 关键词

图片17.png
Cycript

可以用来探索、修改、调试正在运行的Mac\iOS APP
http://www.cycript.org/manual/
cycript -p 进程ID 或者 cycript -p 进程名称
常用:

  • Application对象:UIApp
  • 已加载的所有OC类 :ObjectiveC.classes
  • 用内存地址获取对象:#内存地址
  • 查看对象的所有成员变量:*对象
  • 递归打印view的所有子控件(跟LLDB一样的函数):view.recursiveDescription().toString()
  • 筛选出某种类型的对象:choose(UIViewController)
    choose(UITableViewCell)

封装的脚本https://github.com/CoderMJLee/mjcript

图片16.png
Reveal Loader

Reveal是一款调试iOS程序UI界面的神器
https://revealapp.com

1.安装完Reveal Loader后,打开【设置】->【Reveal】选择需要调试的App,选择需要调试的APP
2.找到Mac的Reveal中的RevealServer文件,覆盖iPhone的/Library/RHRevealLoader/RevealServer文件
3.重启SpringBoard或者重启手机
重启SpringBoard:killall SpringBoard
重启手机:reboot

IMG_0307.PNG
Clutch

脱壳工具
https://github.com/KJCracks/Clutch
1.下载最新的Release版: https://github.com/KJCracks/Clutch/releases
2.建议去掉版本号,改名为Clutch
3.将Clutch文件拷贝到iPhone的/usr/bin目录
4.如果在iPhone上执行Clutch指令,权限不够,赋予“可执行的权限”
chmod +x /user/bin/Clutch
列出已安装的APP:Clutch -i
输入APP序号或者Bundle Id进行脱壳操作:Clutch -d APP序号或BundleId

dumpdecrypted

脱壳工具
https://github.com/stefanesser/dumpdecrypted/
1.下载源代码,然后在源代码目录执行make指令进行编译,获得dylib动态库文件
2.将dylib文件拷贝到iPhone上(如果是root用户,建议放/var/root目录)
3.终端进入dylib所在的目录
4.使用环境变量DYLD_INSERT_LIBRARIES将dylib注入到需要脱壳的可执行文件(可执行文件路径可以通过ps -A查看获取)
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可执行文件路径
.decrypted文件就是脱壳后的可执行文件

在使用过程中,可能会遇到以下错误
could not load inserted library 'dumpdecrypted.dylib' because no suitable image found......
原因:对dylib所在的文件夹权限不够解决方案:将dylib放在用户所在文件夹,比如
如果是root用户,请将dylib放在/var/root目录
如果是mobile用户,请将dylib放在/var/mobile目录

通常情况下
通过Cydia安装的安装包是deb格式的(结合软件包管理工具apt)
通过PP助手安装的安装包是ipa格式的
如果通过Cydia源安装deb失败可以先从网上下载deb格式的安装包然后将deb安装包放到/var/root/Media/Cydia/AutoInstall
重启手机,Cydia就会自动安装deb

4.使用OpenSSH远程登录手机

wifi登陆

SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下
终端输入ssh 账户名@服务器主机地址
例如ssh [email protected](这里的服务器是手机)
初始密码alpine
退出登录命令是exit
登录成功后就可以使用终端命令行操作iPhone

SSH - 基于密钥的客户端认证

1.在客户端生成一对相关联的密钥
终端命令ssh-keygen
生成的公钥:~/.ssh/id_rsa.pub
生成的私钥:~/.ssh/id_rsa
2.把客户端的公钥内容追加到服务器的授权文件(~/.ssh/authorized_keys)尾部
ssh-copy-id root@服务器主机地址
需要输入root用户的登录密码
ssh-copy-id会将客户端~/.ssh/id_rsa.pub的内容自动追加到服务器的~/.ssh/authorized_keys尾部
这个过程不影响mobile用户,只解决了root用户的登录问题
如果配置了免密码登录后,还是需要输入密码,需要在服务器端设置文件权限
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

通过USB进行SSH登录

Mac上有个服务程序usbmuxd(它会开机自动启动),可以将Mac的数据通过USB传输到iPhone
/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd

1.下载usbmuxd工具包(下载v1.0.8版本,主要用到里面的一个python脚本:tcprelay.py)
https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz

2.将iPhone的22端口(22端口提供SSH服务)映射到Mac本地的10010端口
cd ~/Documents/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010(不一定非要10010端口,只要不是保留端口就行)要想保持端口映射状态,不能终止此命令行
端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了

3.新开一个终端
ssh root@localhost -p 10010
ssh [email protected] -p 10010(127.0.0.1本机虚拟网卡的IP地址)
usbmuxd会将Mac本地10010端口的TCP协议数据,通过USB连接转发到iPhone的22端口
远程拷贝文件也可以直接跟Mac本地的10010端口通信
scp -P 10010 ~/Desktop/1.txt root@localhost:~/test
将Mac上的~/Desktop/1.txt文件,拷贝到iPhone上的~/test路径

4.由于每次都需要输入ssh root@localhost -p 10010太麻烦,可以在当前用户文件夹下建立usb.sh和login.sh脚本

usb.sh

cd ~
vim usb.sh
插入python ~/Documents/iOSReverse/tools/usbmuxd/tcprelay.py -t 22:10010(tcprelay.py的文件路径)
保存退出esc ->:-> wq

login.sh

cd ~
vim login.sh
插入ssh -p 10010 root@localhost
保存退出esc ->:-> wq

现在可以直接执行sh usb.sh,sh login.sh就可以了

5.mac安装

1.iFunBox

文件管理系统

2.PP助手

自由安装海量APP

3.Reveal

建议下载至少Reveal4版本,支持USB连接调试,速度快

4.MachOView

Macho文件浏览器

5.Hopper Disassembler 4

二进制反编译工具

差不多越狱环境配置完毕了,现在可以在iFunBox里面看到iphone里面的文件,并在PP助手上上下载APP。

喜欢就请点个赞~

你可能感兴趣的:(iOS越狱逆向环境搭建)