一、前言
想要学习iOS逆向编程
,没有几样工具怎么可以呢?当然可以不使用工具就能做逆向的大神可以无视跳过此文。
工欲善其事,必先利其器,我们先来介绍下接下来需要使用的工具,这些工具都会提高我们的学习以及Mac
电脑的使用效率等等。
对于逆向编程的工具我们分为:1.常用工具。2.必备工具。
二、常用工具介绍以及安装配置
说明:常用工具并不是只为了学习iOS逆向编程
而安装,在日常使用Mac
电脑中也可以使用的工具。
好了,废话不多说了直接介绍工具的安装和配置。
1.Alfred 智能搜索软件
Alfred是一款方便的智能搜索软件,完全能替代OS X
自带的Spotlight
的软件,因为Spotlight
有的功能它都涵盖,而且它还能处理Spotlight
之外的事情,功能非常之强大。
目前最新版本为Alfred 3.2
,它可以为你节省时间,搜索出所有你的请求,非常的快捷方便。Alfred
可以帮助你快速、方便的打开任意应用程序,配合快捷键你可以大大提高工作效率。
软件下载具体安装和配置:Alfred工具安装教程
2.Go2Shell 软件
可以直接通过Go2Shell
在Finder
中打开一个当前目录的终端窗口,不用再使用cd
命令进入到当前Finder
位置。
软件下载具体安装和配置:Go2Shell工具安装教程
3.iTerm2 终端利器
iTerm2
是Mac OS
下最好的终端工具。不喜欢使用系统自带的Terminal
的朋友,可以使用iTerm2
来作为Terminal
的替代品,它也是iTerm
的继任者。它适用于macOS 10.10
或更新版本的Mac OS
系统。
软件下载具体安装和配置:iTerm2 工具安装教程
三、必备工具介绍以及安装配置
说明:必备工具是为了学习iOS逆向编程
而安装的,当然不排除其他操作也需要使用到这些必备工具。
1.MonkeyDev
MonkeyDev
是原有iOSOpenDev
的升级,非越狱插件开发集成神器!它是Xcode
的一个插件,在逆向编程中会使用到MonkeyDev
插件进行创建工程。可以使用Xcode
开发CaptainHook Tweak
、Logos Tweak
和Command-line Tool
,在越狱机器开发插件,这是原来iOSOpenDev
功能的迁移和改进。只需拖入一个砸壳应用,自动集成class-dump
、restore-symbol
、Reveal
、Cycript
和注入的动态库并重签名安装到非越狱机器。既支持调试自己编写的动态库和第三方App
。又支持通过CocoaPods
第三方应用集成SDK
以及非越狱插件,简单来说就是通过CocoaPods
搭建了一个非越狱插件商店。
软件下载具体安装和配置:MonkeyDev 工具安装教程
2.Cycript
Cycript
允许开发人员探讨和修改iOS
和Mac OS X
上运行的应用程序。Cycript
是一个理解Objective-C
语法的javascript
解释器,它能够挂钩正在运行的进程,能够在运行时修改应用的很多东西。关于Cycript
的命令在文章结尾处进行描述。
软件下载具体安装和配置:Cycript工具安装教程
Cycript命令
命令 | 效果 |
---|---|
UIApp | 获取当前App的Appdelegate对象 |
UIWindow.keyWindow | 获取当前的keyWindow对象 |
var | 定义一个对象 |
#+内存地址 | 得到当前内存地址的对象 |
*+对象 | 得到对象的所有成员变量 |
choose(UILabel) | 查找当前界面的所有UILabel |
四、创建一个iOS逆向编程的工程
创建一个iOS逆向编程
的工程,进行调试和查看线上商店的App
的结构。
具体步骤:
-
1. 打开
Xcode
新建一个工程,选择MonkeyApp
新建工程。 -
2. 定位到
TargetApp
的路径下,将线上商店App
的安装包拷贝到该目录下。 -
3. 运行新工程到手机上,打开
iTerm2
终端。 -
4. 执行命令
cycript -r 192.168.31.178:6666
,进入cycript
模式。 -
5. 使用
Cycript
命令进行查看线上商店的App
的结构。
注意:192.168.31.178
为真机的IP地址,6666
为新工程中配置的端口号
五、创建一个脚本
创建脚本能节省我们在终端输入过长的命令。
具体步骤:
-
1. 打开
iTerm2
终端,使用cd ~/Desktop
命令定位到桌面。 -
2. 使用
vim login.sh
命令创建一个脚本文件。 -
3. 在
login.sh
脚本文件添加cycript -r 192.168.31.178:6666
命令,保存并退出。 -
4. 在用户目录下创建一个
CustomShell
文件夹并把login.sh
也拷贝到该文件夹下。 -
5. 打开
iTerm2
终端,使用vim ~/.bash_profile
命令编辑bash_profile
文件。 -
6. 在
bash_profile
文件中添加export CSSHELL=~/CustomShell
和export PATH=$CSSHELL:$CY:$THEOS:$PATH
两行命令,保存并退出。 -
7. 打开
iTerm2
终端,使用cd ~/Document
命令定位到文档目录,使用sh login.sh
(bash login.sh
,source login.sh
,. login.sh
)进行测试脚本环境是否配置成功。