ios逆向初识
:happy:最近因为一些项目的需求,需要学习到ios的逆向,因此在此记录一些坑,希望以后回顾或者公开此资料对别人有用
首先解决连接问题,这个在网上都能搜到各种资料,因此在此不累赘说明了
1. 使用usb连接
// 连接真机
# ssh root@localhost -p 2222
2. tweak里面Nic.pl not found问题
首先说明一下情况,当初我按照《IOS应用逆向工程》(第二版)里面的做的时候,发现有点问题,可能版本变更缘故,发现我在使用nic.pl指令的时候会有一个错误
-bash: /opt/theos/bin/nic.pl: No such file or directory
然后我就打算重新安装theos,上网找了很多个文章,博客发现还是不行,休息了几个小时之后我又开始求助google,然后又重新安装了一次theos
git clone --recursive https://github.com/theos/theos.git $THEOS
直接clone下来,发现就直接能用了!!!
然后就愉快的进行下一步编写代码,这里笔者想做一个简单的锁屏输出
这里是一个锁屏的方法,大家可以自己去写一个hook啦,这里笔者就不详细说明怎么写啦!
3. 生成theos项目后的makefile
这里笔者直接贴出我的,因为不知道怎么回事,我通过Wi-Fi连接不了手机,所以笔者使用usb连接的,所以有个端口号,其他步骤笔者就不详细说明了
ARCHS = armv7 arm64
THEOS_DEVICE_IP = localhost
THEOS_DEVICE_PORT = 2222
SDKVERSION = 9.3
TARGET = iphone:clang:9.3:7.0
include $(THEOS)/makefiles/common.mk
TWEAK_NAME = iosREProjecj
iosREProjecj_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec "killall -9 SpringBoard"
4. 使用Cycript来进行hook
这个用法挺简单的,不过笔者在写这个文章的时候,只是一个小菜鸟,还没进行深入研究,只用cycript来控制系统,可能不算是控制吧,只是执行一下一些系统的库。当然,你的手机必须越狱并且安装Cycript,只要运行这两条,你就能看到屏幕会闪黑色!因为这里只是调用了闪屏哦!等以后笔者找到这么有趣的东西再拿出来分享吧!
iPhone:~ root# cycript -p SpringBoard
cy# [[SBScreenFlash mainScreenFlasher] flashColor:[UIColor magentaColor] withCompletionnil]