當(dāng)前位置:首頁(yè) > IT技術(shù) > 移動(dòng)平臺(tái) > 正文

iOS應(yīng)用逆向與安全-專欄總目錄(持續(xù)更新)
2021-08-08 17:33:31

?

文章目錄

  • 引言
  • 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)用逆向與安全》專欄的索引。
文中的藍(lán)字都是超級(jí)鏈接,點(diǎn)擊進(jìn)入即可

  • 本專欄的整體大綱模塊

1、快速上手部分:基本概念、環(huán)境搭建、常用逆向分析工具的原理及使用(Cliclick、cycript)
2、正向知識(shí)儲(chǔ)備:類的結(jié)構(gòu)、app簽名、Mach-o、hook
3、案例實(shí)戰(zhàn):ASO、轉(zhuǎn)換淘口令
4、安全保護(hù):網(wǎng)絡(luò)加密傳輸、動(dòng)態(tài)保護(hù)、代碼混淆

I、概述

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ǔ)備

類的結(jié)構(gòu)、app簽名、Mach-o、hook

1.4.1 hook

  • 【使用substrate及runtime進(jìn)行hook】定時(shí)檢測(cè)app是否開啟
%new
- (void)checkHeart
{
	//定時(shí)檢測(cè)微信是否開啟
    [[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è)備、打開某個(gè)程序
  • iOS逆向:lua代碼實(shí)現(xiàn)解鎖和打開特定app的代碼、tweak 實(shí)現(xiàn)自動(dòng)解鎖以及打開特定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、引申話題:轉(zhuǎn)換淘口令機(jī)器人的實(shí)現(xiàn)流程(涉及逆向)
IV、 安全保護(hù)

iOS應(yīng)用安全-專欄總目錄(持續(xù)更新)

iOS應(yīng)用逆向與安全-專欄總目錄(持續(xù)更新)_iOS安全

see also

?

本文摘自 :https://blog.51cto.com/i

開通會(huì)員,享受整站包年服務(wù)立即開通 >