安卓逆向工具的使用(三)

特別提醒:本文僅供學習交流之用,如用于其他用途概不負責!!!
1.?安卓調試工具

?常用的安卓調試工具包括IDEA、IDA和JEB,這幾款軟件均可對安卓反編譯的smali代碼進行調試。由于IDA、IDEA、JEB調試原理不同,同時不同的調試工具可突破的反調試限制有所不同。因此,在安卓逆向的過程中,這幾款軟件可能均會用到。關于JEB的安裝和使用教程參考之前的文章安卓逆向工具的使用(二)。
1.1?IDEA調試工具
IDEA是一款java語言的集成開發(fā)工具軟件,它也常用于逆向工程的代碼調試。
第一步,下載IDEA的軟件壓縮包,下載鏈接放在文末,解壓壓縮包到本地,雙擊idea的可執(zhí)行文件進行配置,等待安裝資源的加載和驗證。

第二步,修改安裝路徑,注意這里最好使用英文字母,不要使用空格、中文和特殊字符串,依次點擊“next”、“next”、“install”進入到下一步,等待安裝完成后,點擊“finish”按鈕。
?

第三步,將下載好的“resources-cn.jar”的漢化包移動到安裝路徑下的lib文件夾中,以便使用漢化版的IDEA調試代碼。
第四步,從安裝路徑的bin文件夾下找到“idea.exe”的可執(zhí)行文件,雙擊“idea.exe”打開IDEA軟件。此時打開軟件即為中文版的IDEA軟件。

?第五步,打開軟件之后,需將smali插件導入,使其可以調試smali代碼。這里需要點擊“Configure”的配置選項,選擇“插件”按鈕進行點擊,然后點擊“Install plugin from disk”選項,選擇本地的“smalidea-0.0.3.zip”插件導入。導入之后點擊“!idea.restart.action!”選擇重啟軟件使插件生效。


1.2?IDA調試工具
IDA調試工具是一款支持多種文件格式的交互式逆向工具,它具有強大的功能和復雜的操作邏輯。在安卓逆向中,除了使用該軟件進行動態(tài)調試之外,另外一個用途是使用32位的IDA調試工具將ARM匯編代碼轉換成C代碼,方便進行逆向分析。
第一步,下載IDA的軟件壓縮包,下載鏈接放在文末,解壓壓縮包到本地。然后雙擊其中IDA的可執(zhí)行文件進行安裝。
?

第二步,依次點擊“next”按鈕和選擇“I accept the agreement”選項,然后再次點擊“next”按鈕,進入到安裝python的界面,勾選之后再次點擊“next”,會進入到輸入密碼的界面。
這里建議聯(lián)系正規(guī)廠商購買獲取密碼,也可從網上尋找已經購買過的密碼。完成密碼輸入之后,再次點擊“next”。接著需要選擇軟件安裝路徑,最后勾選創(chuàng)建桌面圖標的選項,點擊“Install”和“Finish”按鈕完成安裝。

2.?安卓輔助工具
2.1?apkhelper輔助工具
apkhelper可幫助安卓逆向分析的工作者快速查看apk的相關信息,例如包名、應用名、權限、證書等,也是安卓逆向中經常用到的分析工具。
第一步,下載apkhelper的可執(zhí)行文件,下載鏈接放在文末,雙擊之后可直接運行。
第二步,將測試apk拖拽至apkhelper界面,軟件會自動解析該apk的相關信息。

?2.2?apk查殼輔助工具
為保護apk源碼,安卓apk的開發(fā)人員通常會對apk進行加殼處理。如果仍需要對apk的代碼進行審計分析,首先要檢測apk是否加殼,同時還需要研判出加殼的類型,以便針對特定的殼類型進行脫殼處理,在此基礎上獲得源代碼。
第一步,下載apk查殼輔助工具的可執(zhí)行文件,下載鏈接放在文末,雙擊之后可直接運行。
第二步,將測試apk拖拽至apk查殼輔助工具界面,軟件會自動解析該apk的加殼信息。目前該軟件支持了娜迦、梆梆、愛加密、通付盾、360加固、百度加固、阿里加固、騰訊加固、盛大加固、瑞星加固等多個大廠的加殼檢測分析。

?
2.3安卓模擬器
安卓模擬器的用途主要有兩個,第一是輔助安卓逆向人員動態(tài)調試apk中的源代碼,相當于將apK放在安卓虛擬機中執(zhí)行來調試源代碼邏輯;第二個,對app進行抓包分析,以間接輔助逆向app的源碼邏輯。主要介紹雷電模擬器和逍遙模擬器的安裝配置。
(1)雷電模擬器
雷電模擬器的優(yōu)點是動態(tài)調試smali代碼比較穩(wěn)定,對apk修改之后無需重簽名也可安裝,缺點是安裝較慢。
第一步,進入雷電模擬器官網(https://www.ldmnq.com/?n=6000&bd_vid=8082348050981726524),將exe安裝包文件下載到本地。
第二步,雙擊下載好的安裝包文件,點擊“瀏覽”按鈕修改存儲路徑文件夾,最后點擊“立即安裝”。
?

第三步,稍等片刻,待完成安裝之后,點擊“立即體驗”的按鈕,進行相關配置。完成安裝之后,在桌面會增加兩個圖標“雷電模擬器”和“雷電多開器”。通過“雷電多開器”可以新建多個系統(tǒng)版本的安卓模擬器。新建安卓模擬器的目的一方面是針對特定的apk做處理,抓包時確保一個相對“純凈”的環(huán)境;另一方面是可以滿足特定apk的系統(tǒng)版本需求。打開雷電模擬器之后,可在“設置-關于平板電腦”中查看模擬器的系統(tǒng)版本。

?

(2)逍遙模擬器
逍遙模擬器的優(yōu)點是安裝apk速度快,同時支持xposed框架;缺點是jeb調試經常無法找到模擬器,動態(tài)調試不如雷電模擬器穩(wěn)定。
第一步,進入逍遙模擬器官網(http://www.xyaz.cn/index-360.html?bd_vid=7731446826040989926),將exe安裝包文件下載到本地。
第二步,雙擊下載好的安裝包文件,勾選“同意用戶協(xié)議”,點擊“立即安裝”按鈕,這里也可點擊“自定義”選項按鈕進行自定義安裝。

第三步,等待安裝完成之后,點擊“開始使用”按鈕打開逍遙模擬器。
(3)對模擬器的功能進行測試
假設對測試樣例的apk源代碼進行修改,將某apk文件的后綴改成壓縮包.zip的形式,通過壓縮軟件打開,并修改任意源碼。此時,如果想將修改后的apk文件安裝到模擬器中有三個方案:第一,對apk進行重簽名,如果apk本身存在簽名校驗,此方案失敗,還需要修改簽名校驗的代碼邏輯。重簽名的教程參考之前的文章安卓逆向工具的使用(二)。第二,使用幸運破解器破解系統(tǒng)核心。第三,將apk安裝到雷電模擬器中,可直接安裝,無需任何操作。如果模擬器成功配置,將測試的樣例apk拖拽至模擬器界面中,會在自動安裝。
?
本文工具鏈接:https://pan.baidu.com/s/14w-EaWsBoKFxGlT5wdEhkw
提取碼:jqcq