class-dump,顾名思义,就是用来dump目标对象的class信息的工具。该工具利用Objective-C语言的runtime特性,将存储在Mach-O文件中的头部信息提取出来,并生成对应的.h文件。目前只用拿到oc对象的头文件。
## XXX 表示需要dump的可执行文件,之后介绍怎么获取
## /xxx/xxx/xxx 表示输出路径。
## 其他命令可以参考man
## 此外,该工具只能dump撬壳之后的可执行文件
class-dump -S -s -H XXX -o /xxx/xxx/xxx
Theos是一个越狱开发包,与其他越狱工具相比,其最大的特点就是简单。其底层原理为dyld,可用于运行前注入。手残的可以直接安装mokeydev或者iosopendev。具体安装可参考:https://www.jianshu.com/p/2a2de106dd2e
# 创建工程,建议设置全局变量,用命令行跑
./theos/bin/nic.pl
# nic.pl
调用上面的命令,会出现下面的提示
NIC 2.0 - New Instance Creator ------------------------------
[1.] iphone/application
[2.] iphone/cydget
[3.] iphone/framework
[4.] iphone/library
[5.] iphone/notification_center_widget
[6.] iphone/preference_bundle
[7.] iphone/sbsettingstoggle
[8.] iphone/tool
[9.] iphone/tweak
[10.] iphone/xpc_service
选择9,输出tweak工程,继续
## 项目名字
Project Name (required):kiwihook
## 包名字
Package Name [com.yourcompany.iosreproject]:com.huya.kiwihook
## 作者名字
Author/Maintainer Name [snakeninny]: ysq
## 包名字,需要openssh去ios里面查询,我这里已经知道需要hook的包名字
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]:com.yy.kiwi
## 需要重新启动的进程
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]:kiwi
完成之后看下工程目录,长这个样子:
Makefile
kiwihook.plist
Tweak.x
control
Tweak.x文件为空,control记录着相关信息,plist记录着需要hook的包信息,makefile为make编译脚本。
我们在这个工程下面创建./build.sh,用以自定义安装程序。其内容可参考git工程里面的文件。关于Makefile统一写法,我们可以把Makefile改成如下:
## 需要安装的手机ip,需要保证手机登陆和mac登陆的局域网是同一个。
export THEOS_DEVICE_IP = xxx.xxx.xxx.xxx
## 需要安装的手机端口,有openssh配置或者
#export THEOS_DEVICE_PORT = xxxx
INSTALL_TARGET_PROCESSES = kiwi
include $(THEOS)/makefiles/common.mk
TWEAK_NAME = kiwihook
ARCHS = armv7 arm64
TARGET = iphone:latest:7.0
kiwihook_FILES = Tweak.x
kiwihook_CFLAGS = -fobjc-arc
## 导入公共模块,UIKit
kiwihook_FRAMEWORKS = UIKit
## 导入自定义库
kiwihook_LDFLAGS += hytweak
include $(THEOS_MAKE_PATH)/tweak.mk
之后就可以使用了,执行命令./build.sh。
关于其语法,可自行参考git工程的书籍,iOS应用逆向工程(第2版)这本书。或者网上查询相关tweak资料。
不推荐安装,说句实在话,从界面入手获取到的信息特别有限,特别是音视频开发相关。
安装网址: https://blog.csdn.net/u010953692/article/details/94907317。
需要csdn积分可以找我拿。安装过程会遇到崩溃,网上找一下吧。主要用到的是ida64版本。
快捷键F5可以直接查看反汇编代码,特别方便。其他的就和平时的工具一样,没什么好说的。
安装网址: http://www.i-funbox.com/zh-cn/index.html
需要配合cycript使用,可以用于捞日志,dump流,查看系统文件等。
此外,使用这种工具都需要安装Apple File Counduit "2"这个工具,在手机Cydia->软件源->Cydia/Telesphoreo->系统->Apple File Counduit "2"安装。就可以使用了。
Theos底层工具,如果对Theos底层感兴趣的同学,可以自行研究这个工具,说不定下一个Theos的工具作者就是你。
撬壳工具,对于appshop里面下载的应用,必须通过撬壳才能进行对应的操作。不过即使没有撬壳,也不影响theos的使用,所以不是必须的,只是撬壳后的工具才能用ida,class-dump这类工具。
安装地址:https://www.jianshu.com/p/c26938760ee0
注意,该工具是python3的,需要使用python3来进行撬壳,另外,ios需要安装openssh才能。
其实我没有安装,不过看了大多数hook,这个工具感觉是必备的。
为什么是必须安装呢,没这工具,99%活都干不了,还有1%是Theos的。
安装教程: 直接在Cydia里面搜索cycript,点击安装,就可以使用了。
同样,用于重置dropbear和openssh需要用到,这是由于在ios上写命令行着实恶心。不过也必须要写。同样的,在Cydia里面安装就好了。
手机可使用的命令行工具。同样,在Cydia里面安装就好了。
用于和osx通讯的工具,可参考linux的openssh使用教程,在10.x的ios手机上,只能使用dropbear来进行连接。
9.0~11.0都可以在爱思助手上面一键越狱。不会变砖。
12.0 unc0ver工具,没验证过。
13.0以上 据说变砖头概率巨高,建议别尝试,等之后有一套同一个方案再来尝试也不迟。