做为一个刚步入逆向之路的新手, 借着网上的资料对逆向工程有一个简单的学习, 在这里把我本人学习的最新成果带给你们, 以帮助更多的人, 少走弯路, 本人遇到了不少坑, 查阅了不少资料, 因此有不懂的地方能够私聊我, 我会尽本身的努力来帮助你们.
架构
首先给你们看看我Demo的正常效果: 默认view的颜色时白色, 当我点击Red 就变成红色, 点我点击Green就变成绿色.而后我把这个项目安装到越狱的手机上, 本人的越狱手机是8.3系统iPhone5s.
app
安装后我感受这样感受颜色太单一了很差看, 在不改变原demo代码的状况下, 咱们就要使用逆向工程, 实现对view随机色.框架
首先使用Theos建立Tweak工程, 这里就不介绍怎么配置工具了, 网上有不少资料, 若是有不懂的能够问我.ssh
1.使用终端cd到你想要存放工程的目录, 输入命令 nic.pl 建立Theos工程, 这里我直接放在了用户目录下了.iphone
2.这里咱们选择第11个模板, 因此直接输入11, 按回车.工具
3.而后会让你输入一些信息 (项目名字) (包id) (做者名字) (要hook的应用的id) (最后一个直接回车使用默认的就行, 意思是要kill的进程, 也能够写咱们要hook的app的二进制文件名字)学习
4.而后查看咱们建立的工程, 一共4个文件, 若是你的没有这4个文件, 那么你就可能建立错了模板. 这4个文件的做用我不作过多描述, 网上都有介绍.code
5. 配置工程和编写想要实现的随机色代码. 大致说一下什么意思 , 默认的makefile文件是这样的cdn
都是默认的配置不须要更改只须要加入 :
blog
THEOS_DEVICE_IP=192.168.1.101 右面的ip是手机的ip地址, 经过这个能够实现直接安装到手机
ARCHS = armv7 arm64 手机的架构 默认这样写就行了
TARGET = iphone:lastest:8.0 表示支持的手机系统版本, 最小8.0
Demo_FRAMEWORKS = UIKit 导入的框架
而后就是编写咱们想实现的代码:
这就是咱们实现的随机色的代码, 很简单有木有. Tweak.xm使用Xcode打开.
6. 到这里全部的工程配置和代码编写就完成了, 下一步咱们就要把工程安装到手机上, 而后实现随机色. 首先cd到咱们工程目录, 而后执行 make package install 安装咱们的项目.
随后就是这样的界面, 意思就是编译加打包不一样的架构, 而后输入ssh的密码, 这里要输入2次, 一次是编译, 一次是打包安装, 而后你就能够看到你的手机重启了, 这时再去以前安装的Demo看看是否是给你就变成了随机色.
舒适提示: 不用这种安装方式也能够经过把deb文件拖到手机中, 直接经过iFile安装. deb文件就在工程的packages文件夹下.