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 root@10.1.1.168)默认密码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 root@10.1.1.168(这里的服务器是手机)
初始密码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 root@127.0.0.1 -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。

喜欢就请点个赞👍~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335