- OpenSSH:给外界提供一个通过 ssh 接入 iOS 的途径。
- Cydia Substrate:防止插件闪退和卡顿。
- Cycript:通过-p参数attach到运行的进程上,从而进入该软件的运行时环境。
- adv-cmds:如果不想出现报错 -sh: ps: command not found,还是装一下吧。
- ssh root@iOS设备IP地址 192.168.X.X(自己的网址)
- passwd root
- passwd mobile)
解决方案:
- cd ~/.ssh
- rm known_hosts
- cd /Library/MobleSubstrate/DinamicLibraries
- ls -l /Library
- root# ls -l /Library/RHRevealLoader
- cd /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries
- scp libReveal.dylib root@192.168.X.X:/Library/MobileSubstrate/DynamicLibraries/
然后惯例,还是输入密码 :修改后的密码(反正不是 alpine)。
搞定了这个,才可以在 reveal 中查看到想翻阅的 app。
使用 Theos:
地址:https://github.com/theos/theos
在一系列安装之前,先装好Homebrew。地址: http://brew.sh/
安装dpkg(打包) ldid(注入)
- brew install dpkg ldid
- brew install --HEAD hbang/repo/deviceconsole
- curl https://ghostbin.com/ghost.sh -o /usr/local/bin/ghost
- chmod +x /usr/local/bin/ghost
- git clone --recursive https://github.com/theos/theos.git
- cd 打算安装的文件夹
- git remote set-url origin https://github.com/theos/theos.git
- git pull origin master
- git submodule update --init --remote
- cd 打算安装的文件夹
- cd theos文件
- $THEOS/bin/nic.pl
- $THEOS/bin/nic.pl
[1.] iphone/activator_event
[2.] iphone/application_modern
[3.] iphone/cydget
[4.] iphone/flipswitch_switch
[5.] iphone/framework
[6.] iphone/ios7_notification_center_widget
[7.] iphone/library
[8.] iphone/notification_center_widget
[9.] iphone/preference_bundle_modern
[10.] iphone/tool
[11.] iphone/tweak
[12.] iphone/xpc_service
使用tweak
* Project Name (required): 工程名字
* Package Name [com.yourcompany.myhome]: bundle identifier
* Author/Maintainer Name [***]:作者是谁
* [iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]:要钩的程序的bundle identifier(可以使用iFunBox来查找到info.plist文件)
* [iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]:-
此时打算安装的文件夹中就会出现4个文件,
修改Makefile
处理器架构看情况,比如苹果4 的话就是armv7,机器对指令集的支持是向下兼容的(算了,还是列出来吧)
armv6
- iPhone
- iPhone2
- iPhone3G
- 第一代和第二代iPod Touch
armv7
- iPhone4
- iPhone4S
armv7s
- iPhone5
- iPhone5C
arm64
- iPhone5S
- iPhone6
- iPhone6s
TARGET = iphone:lastest:7.0
导入框架
工程名_FRAMEWORKS = UIKit
设置THEOS_DEVICE_IP环境
THEOS_DEVICE_IP = IP 地址
效果如图:
配置完毕后,打开Tweak.xm,到底处写:
%hook 打算 hook 的类
hook 的方法
%end
如果想钩其他的程序 :myHome.plist可以用于修改bundle identifier
写完代码后,在终端中进行
- 编译:make
- 打包:make package
- 安装:make package install
- 清除:make clean
在执行 make。
(参考《iOS 应用逆向工程》一书,并向参考的其他博客博主致以谢意。)