效率工具
- iTerm2 代替默認(rèn)的Terminal,提供了很多高級設(shè)置,例如自動補(bǔ)全,高亮等(https://iterm2.com/)
- oh-my-zsh:可以自定義主題,Git顯示,Tab補(bǔ)全等(https://github.com/robbyussell/on-my-zsh)
- Go2Shell:從Finder終端打開并自動切換到當(dāng)前目錄(http://zipzapmac.com/go2Shell)
- autojump:從終端快速進(jìn)行目錄跳轉(zhuǎn)和切換(https://github.com/wting/autojump)
- Alfred:快速打開軟件,自定義腳本執(zhí)行(https://www.alfredapp.com)
實(shí)用工具
- Homebrew:Mac OS的包管理工具,可以快速安裝各種工具
- Cakebrew:Homebrew的界面管理工具
- libimobiledevice:提供了很多能與iOS交互的工具,例如端口映射查看日志(https://github.com/libimobiledevice)
- tree:用于查看當(dāng)前目錄結(jié)構(gòu)數(shù)的命令行工具,通過brew install tree 安裝
- 010Editor:二進(jìn)制編輯分析工具(https://www.sweetscape.com/010editor)
逆向工具
- jtool:查看文件結(jié)構(gòu),代碼簽名(http://www.newosxhook.com/tools/jtool.html)
- capstone :多平臺,多架構(gòu)支持的反匯編框架(http://www.capstone-engine.org/)
- Keystone:將匯編指令轉(zhuǎn)換為Hex機(jī)器碼(https://github.com/keystone-engine/keystone)
- radare2:一款開源代碼的逆向工程平臺(https://github.com/radare/radare2).
- mobiledevice:安裝app包或者ipa包(https://github.com/imkira/mobiledevice)
iOS系統(tǒng)架構(gòu)
在越獄設(shè)備上,可以借助文件系統(tǒng)查看工具瀏覽系統(tǒng)的文件目錄,具體如下:
- Mac平臺
- iTools(http://pro.itools.cn/mac/
- iFunBox(http://www.i-funbox.com/
- iOS平臺
- iFile(通過Cydia安裝)
也可以登錄手機(jī)使用linux命令ls -l 命令查看系統(tǒng)中的所有文件目錄及其屬性。如果要訪問越獄設(shè)備的文件系統(tǒng),則要先打開Cydia。安裝Apple File Conduit "2",也可以使用iFunBox查看越獄設(shè)備的文件系統(tǒng),打開iFunBox,單擊左側(cè)的"文件系統(tǒng)",則可以看到iOS的系統(tǒng)架構(gòu) - /Application:存放所有系統(tǒng)App和來自Cydia的App,不包括從App Store下載的App
- Develop:供開發(fā)者使用
- Library:系統(tǒng)資源,用戶設(shè)置。例如Logs是系統(tǒng)日志,Ringtones是系統(tǒng)自帶鈴聲,Launch Daemons是啟動程序,比較重要的目錄是/Library/MobileSubstrate,里面存放了所有基于Cydia Substrate的插件(需要在Cydia中安裝CydiaSubstrate)
- System:系統(tǒng)的重要組成部分
- /System/Library/Frameworks 和/System/Library/PrivateFrameworks 里面是系統(tǒng)中各種公開的和未公開的framework
- /System/Library/CoreServices/SpringBoard.app 是桌面管理器,是用戶和系統(tǒng)直接交互的部分
- /System/Library/PerferenceBundles 里面存放的是系統(tǒng)中的一些設(shè)置項
- User:用戶目錄:是指指向/var/mobile
- /User/Media/ 里面存放的是相冊等
- /User/Library/ 里面存放的是短信,郵件等
- bin:存放用戶二級制文件,例如mv ls等
- dev:設(shè)備描述文件,每個設(shè)備在/dev目錄下都有一個對應(yīng)的文件
- etc:存放系統(tǒng)腳本,hosts配置,SSH配置文件等,實(shí)際指向/private/ext
- sbin:存放系統(tǒng)二進(jìn)制文件,例如reboot,mount等
- usr:用戶工具和程序。/usr/include中存放C頭文件,/usr/lib中存放庫文件
-var :一些經(jīng)常改動的文件,包括keychains,臨時文件,從Appstore下載的應(yīng)用