iOS逆向学习(持续更新)

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啦,这里笔者就不详细说明怎么写啦!

iOS逆向学习(持续更新)_第1张图片
lockScreenH.png

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]

你可能感兴趣的:(iOS逆向学习(持续更新))