一、前言
想要學(xué)習(xí)iOS逆向編程
纺腊,沒有幾樣工具怎么可以呢畔咧?當(dāng)然可以不使用工具就能做逆向的大神可以無視跳過此文茎芭。
工欲善其事,必先利其器誓沸,我們先來介紹下接下來需要使用的工具梅桩,這些工具都會提高我們的學(xué)習(xí)以及Mac
電腦的使用效率等等。
對于逆向編程的工具我們分為:1.常用工具拜隧。2.必備工具宿百。
二、常用工具介紹以及安裝配置
說明:常用工具并不是只為了學(xué)習(xí)iOS逆向編程
而安裝洪添,在日常使用Mac
電腦中也可以使用的工具垦页。
好了,廢話不多說了直接介紹工具的安裝和配置干奢。
1.Alfred 智能搜索軟件
Alfred是一款方便的智能搜索軟件痊焊,完全能替代OS X
自帶的Spotlight
的軟件,因為Spotlight
有的功能它都涵蓋忿峻,而且它還能處理Spotlight
之外的事情薄啥,功能非常之強大。
目前最新版本為Alfred 3.2
逛尚,它可以為你節(jié)省時間罪佳,搜索出所有你的請求,非常的快捷方便黑低。Alfred
可以幫助你快速赘艳、方便的打開任意應(yīng)用程序,配合快捷鍵你可以大大提高工作效率克握。
軟件下載具體安裝和配置:Alfred工具安裝教程
2.Go2Shell 軟件
可以直接通過Go2Shell
在Finder
中打開一個當(dāng)前目錄的終端窗口蕾管,不用再使用cd
命令進入到當(dāng)前Finder
位置。
軟件下載具體安裝和配置:Go2Shell工具安裝教程
3.iTerm2 終端利器
iTerm2
是Mac OS
下最好的終端工具菩暗。不喜歡使用系統(tǒng)自帶的Terminal
的朋友掰曾,可以使用iTerm2
來作為Terminal
的替代品,它也是iTerm
的繼任者停团。它適用于macOS 10.10
或更新版本的Mac OS
系統(tǒng)旷坦。
軟件下載具體安裝和配置:iTerm2 工具安裝教程
三、必備工具介紹以及安裝配置
說明:必備工具是為了學(xué)習(xí)iOS逆向編程
而安裝的佑稠,當(dāng)然不排除其他操作也需要使用到這些必備工具秒梅。
1.MonkeyDev
MonkeyDev
是原有iOSOpenDev
的升級,非越獄插件開發(fā)集成神器舌胶!它是Xcode
的一個插件捆蜀,在逆向編程中會使用到MonkeyDev
插件進行創(chuàng)建工程。可以使用Xcode
開發(fā)CaptainHook Tweak
辆它、Logos Tweak
和Command-line Tool
誊薄,在越獄機器開發(fā)插件,這是原來iOSOpenDev
功能的遷移和改進锰茉。只需拖入一個砸殼應(yīng)用呢蔫,自動集成class-dump
、restore-symbol
飒筑、Reveal
咐刨、Cycript
和注入的動態(tài)庫并重簽名安裝到非越獄機器。既支持調(diào)試自己編寫的動態(tài)庫和第三方App
扬霜。又支持通過CocoaPods
第三方應(yīng)用集成SDK
以及非越獄插件定鸟,簡單來說就是通過CocoaPods
搭建了一個非越獄插件商店。
軟件下載具體安裝和配置:MonkeyDev 工具安裝教程
2.Cycript
Cycript
允許開發(fā)人員探討和修改iOS
和Mac OS X
上運行的應(yīng)用程序著瓶。Cycript
是一個理解Objective-C
語法的javascript
解釋器联予,它能夠掛鉤正在運行的進程,能夠在運行時修改應(yīng)用的很多東西材原。關(guān)于Cycript
的命令在文章結(jié)尾處進行描述沸久。
軟件下載具體安裝和配置:Cycript工具安裝教程
Cycript命令
命令 | 效果 |
---|---|
UIApp | 獲取當(dāng)前App的Appdelegate對象 |
UIWindow.keyWindow | 獲取當(dāng)前的keyWindow對象 |
var | 定義一個對象 |
#+內(nèi)存地址 | 得到當(dāng)前內(nèi)存地址的對象 |
*+對象 | 得到對象的所有成員變量 |
choose(UILabel) | 查找當(dāng)前界面的所有UILabel |
四、創(chuàng)建一個iOS逆向編程的工程
創(chuàng)建一個iOS逆向編程
的工程余蟹,進行調(diào)試和查看線上商店的App
的結(jié)構(gòu)卷胯。
具體步驟:
-
1. 打開
Xcode
新建一個工程,選擇MonkeyApp
新建工程威酒。 -
2. 定位到
TargetApp
的路徑下窑睁,將線上商店App
的安裝包拷貝到該目錄下。 -
3. 運行新工程到手機上葵孤,打開
iTerm2
終端担钮。 -
4. 執(zhí)行命令
cycript -r 192.168.31.178:6666
,進入cycript
模式尤仍。 -
5. 使用
Cycript
命令進行查看線上商店的App
的結(jié)構(gòu)箫津。
注意:192.168.31.178
為真機的IP地址,6666
為新工程中配置的端口號
五宰啦、創(chuàng)建一個腳本
創(chuàng)建腳本能節(jié)省我們在終端輸入過長的命令苏遥。
具體步驟:
-
1. 打開
iTerm2
終端,使用cd ~/Desktop
命令定位到桌面赡模。 -
2. 使用
vim login.sh
命令創(chuàng)建一個腳本文件田炭。 -
3. 在
login.sh
腳本文件添加cycript -r 192.168.31.178:6666
命令,保存并退出纺裁。 -
4. 在用戶目錄下創(chuàng)建一個
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
)進行測試腳本環(huán)境是否配置成功。