逆向的知識很久沒用了你画,準備梳理下
一铁孵、工具
Cydia 不解釋
iFunBox方便查看iPhone文件
SSH和OpenSSH
SSH的通信過程
1、建立安全連接
2晃琳、客戶端認證(SSH2可以基于密碼的客戶端認證,每次使用賬號密碼認證;也可以基于密鑰的客戶端認證卫旱,免密碼)
3人灼、數(shù)據(jù)傳輸
建立安全連接
密鑰登錄認證
22端口說明
iPhone默認是使用22端口進行SSH通信,采用的是TCP協(xié)議
端口就是設(shè)備對外提供服務(wù)的窗口顾翼,每個端包都有個端口號(范圍是0-~65535投放, 共2^16個)
有些端口號是保留的,已經(jīng)規(guī)定了用途适贸,比如
21端口提供FTP服務(wù)
80端口提供HTTP服務(wù)
22端口提供SSH服務(wù)(可以查看/etc/ssh/sshd config的Port字段)
更多保留端口號:https://baike.baidu.com/item/%E7%AB%AF%E5%8F%A3%E5%8F%B7/10883658#4
通過wifi進行SSH登錄
手機權(quán)限權(quán)限有 root# 和mobile$
登錄 ssh root@10.1.1.193手機ip地址
root : 最高權(quán)限用戶$HOME是/var/root
mobile:普通權(quán)限賬戶灸芳,只能操作一些普通文件 ,不能操作系統(tǒng)級別的文件拜姿,$HOME是/var/mobil
通過USB進行SSH登錄
usbmxd的使用1
下載usbmuxd工具包(下載v1.0.8版本 烙样,主要用到里面的一個python腳本:tcprelay.py)
下載地址
1、將iPhone的22端口(SSH端口)映射到Mac本地的10010端口
~/Document/iOS/usbmuxd zy$ python tcprelay.py -t 22:10010
Forwarding lacal port 10010 to remote port 22
2蕊肥、連接本地服務(wù)ip地址映射的端口如10010端口
localhost 谒获、127.0.0.1
~zy ssh root@localhost -p 10010
~root#
SSL和OpenSSL
Cycript
reveal層級(東西南北)
Reveal是一款調(diào)試iOS程序UI界面的神器
官網(wǎng):https://revealapp.com
建議下載至少Reveal4版本壁却,支持USB連接調(diào)試批狱,速度快。低版本的只能WiFi連接調(diào)試
需要環(huán)境配置
iPhone上安裝Reveal Loader
不要安裝其他源的版本展东,有可能不支持新版Reveal
安裝完Reveal Loader后赔硫,打開【設(shè)置】,選擇需要調(diào)試的APP
找到Mac的Reveal中的RevealServer文件盐肃,覆蓋iPhone的/Library/RHRevealLoader/RevealServer文件
選擇USB方式開始調(diào)試
二爪膊、逆向流程
1.界面分析
Cycript. Reveal
2.代碼分析
對Mach-0文件的靜態(tài)分析
MachoView、 class-dump砸王、 Hopper Disassembler惊完、ida等
class-dump-H ~/Desktop/recipe -o ~/Desktop/recipeHeaders
3.動態(tài)調(diào)試
對運行中的APP進行代碼調(diào)試
debugserver, LLDB
4.代碼編寫
注入代碼到APP中
必要時還可能需要重新簽名、打包ipa