?
文章目錄
- 引言
- I、概述
- 1.1 基本概念
- 1.2 環(huán)境搭建
- 1.3 常用逆向分析工具的原理及使用
- 1.4 正向知識(shí)儲(chǔ)備
- 1.4.1 hook
- 1.4.2 app簽名
- II iOS逆向進(jìn)階
-
- 2.1.2 模擬鼠標(biāo)點(diǎn)擊
- 2.1.3 LUA
- 2.1.3.1 設(shè)備解鎖
- 2.1.4 分析網(wǎng)絡(luò)數(shù)據(jù)包
- 2.1.5 日志分析
-
- III、案例實(shí)戰(zhàn)
- 3.1 ASO
- 3.2 轉(zhuǎn)換淘口令
- IV、 安全保護(hù)
- see also
- 游戲安全
- other
?
引言本文列出學(xué)習(xí)大綱,同時(shí)也可作為大家學(xué)習(xí)《iOS應(yīng)用逆向與安全》專(zhuān)欄的索引。
文中的藍(lán)字都是超級(jí)鏈接,點(diǎn)擊進(jìn)入即可
- 本專(zhuān)欄的整體大綱模塊
I、概述1、快速上手部分:基本概念、環(huán)境搭建、常用逆向分析工具的原理及使用(Cliclick、cycript)
2、正向知識(shí)儲(chǔ)備:類(lèi)的結(jié)構(gòu)、app簽名、Mach-o、hook
3、案例實(shí)戰(zhàn):ASO、轉(zhuǎn)換淘口令
4、安全保護(hù):網(wǎng)絡(luò)加密傳輸、動(dòng)態(tài)保護(hù)、代碼混淆
iOS應(yīng)用逆向的大致留存
1、獲取應(yīng)用的 ipa 包,解密(如果是越獄應(yīng)用則不需要解密),導(dǎo)出頭文件;
2、使用工具(cycript、Reveal、Cliclick)
3、使用tweakhook、執(zhí)行相關(guān)函數(shù)的輸入輸出以及調(diào)用棧,分析驗(yàn)證關(guān)鍵函數(shù);
4、靜態(tài)分析加動(dòng)態(tài)調(diào)試進(jìn)一步分析關(guān)鍵函數(shù)的實(shí)現(xiàn)邏輯
5、進(jìn)行修改原有流程:案例ASO
1.1 基本概念
1.2 環(huán)境搭建
-
【Theos 的Makefile 指南】Makefile的規(guī)則、deploy 部署腳本、config 文件設(shè)置IP
-
iOS逆向指南之【「配置debugserver」】給debugserver添加task_for_pid權(quán)限
1.3 常用逆向分析工具的原理及使用
1.4 正向知識(shí)儲(chǔ)備
類(lèi)的結(jié)構(gòu)、app簽名、Mach-o、hook
1.4.1 hook
- 【使用substrate及runtime進(jìn)行hook】定時(shí)檢測(cè)app是否開(kāi)啟
%new - (void)checkHeart { //定時(shí)檢測(cè)微信是否開(kāi)啟 [[UIApplication sharedApplication] launchApplicationWithIdentifier:@"com.tencent.xin" suspended:0]; } %end
1.4.2 app簽名
II iOS逆向進(jìn)階- iOS應(yīng)用逆向工程指南:【1、概念2、工具3、逆向理論】
iOS逆向工程,指通過(guò)分析系統(tǒng)的功能、結(jié)構(gòu)、行為,將軟件的技術(shù)實(shí)現(xiàn)或者設(shè)計(jì)細(xì)節(jié)推導(dǎo)出來(lái)的過(guò)程。
- iOS逆向 :【Cycript Useful Command & Powerful private methods】
_ivarDescription
_shortMethodDescription
nextResponder
_autolayoutTrace
recursiveDescription
_methodDescription
-
iOS 逆向【how_to_host_cydia_repo】 批量部署Tweak插件到iOS設(shè)備的方案
-
iOS使用代碼觸發(fā)button的點(diǎn)擊事件:【 [btn sendActionsForControlEvents:UIControlEventTouchUpInside];】及教你找到按鈕action
-
使用ssh config配置文件來(lái)管理ssh連接
-
iOS逆向工具usbMuxd的應(yīng)用:【1、通過(guò)USB方式SSH到iOS越獄設(shè)備2、端口轉(zhuǎn)發(fā)】
2.1.2 模擬鼠標(biāo)點(diǎn)擊
- iOS逆向工具Cliclick:【Mac 模擬鼠標(biāo)點(diǎn)擊工具】
例子(定時(shí)點(diǎn)擊特定位置,來(lái)點(diǎn)擊保證Mac永遠(yuǎn)處于活躍狀態(tài),達(dá)到mac永不不關(guān)閉屏幕的目的)
2.1.3 LUA
-
獲取屏幕坐標(biāo)的方式
-
1、lua腳本工具方法 httpPostJson:【發(fā)起Content-Type 為application/json; charset=UTF-8的請(qǐng)求 】2、使用Lua的協(xié)同程序?qū)崿F(xiàn)生產(chǎn)者-消費(fèi)者
2.1.3.1 設(shè)備解鎖
- iOS逆向:【lua 函數(shù)】解鎖無(wú)密碼的設(shè)備、判斷設(shè)備是否鎖定、鎖定設(shè)備、打開(kāi)某個(gè)程序
- iOS逆向:lua代碼實(shí)現(xiàn)解鎖和打開(kāi)特定app的代碼、tweak 實(shí)現(xiàn)自動(dòng)解鎖以及打開(kāi)特定app(launchApplicationWithIdentifier、unlockUIFromSource)
2.1.4 分析網(wǎng)絡(luò)數(shù)據(jù)包
- iOS逆向抓包工具Charles【應(yīng)用場(chǎng)景:App聯(lián)調(diào)測(cè)試】
- iOS逆向:tcpdump(截獲分析網(wǎng)絡(luò)數(shù)據(jù)包)、Wireshark的原理和基本使用
2.1.5 日志分析
【 iOS設(shè)備日志查看工具syslog和socat】(syslogd to /var/log/syslog)
III、案例實(shí)戰(zhàn)3.1 ASO
- iOS AppStore Search optimize【 ASO項(xiàng)目使用的技術(shù)】目錄(持續(xù)更新)
2、目錄:
3.2 轉(zhuǎn)換淘口令
- 【從app觀察阿里電商的閉環(huán)生態(tài)】1、渠道漏斗公式(渠道 = 流量 x 轉(zhuǎn)化率 x 客單價(jià) x 復(fù)購(gòu)率)2、引申話(huà)題:轉(zhuǎn)換淘口令機(jī)器人的實(shí)現(xiàn)流程(涉及逆向)
iOS應(yīng)用安全-專(zhuān)欄總目錄(持續(xù)更新)
see also?
本文摘自 :https://blog.51cto.com/i