SmaliViewer是一款功能強大的apk分析軟件,這款軟件可以對apk文件的源代碼進行分析,還能對apk文件進行逆向。軟件可以采用多種方法來對疑似樣本進行篩選判定,如證書信息,敏感SP號碼信息,Android Manifest的權(quán)限信息,函數(shù)流程圖(CFG),字串表,資源文件信息,敏感行為信息,動態(tài)行為等等綜合進行判定。
安裝方法:
運行環(huán)境:
需裝java 1.7及以上版本。
安裝方法:
下載SmaliViewer.Zip包,解壓在指定安裝目錄打開SmaliViewer文件夾。
啟動方法:
windows系統(tǒng)下點擊SmaliViewer.bat運行程序;Linux下點擊SmaliViewer.sh運行程序。第一次運行程序,需同意《用戶使用協(xié)議》。
使用教程:
3.1 界面工作區(qū)
工作區(qū)被劃分為四個區(qū)域,看到下面的圖片:
1- 菜單和工具欄。
2- 主工作區(qū)。
3- 操作日志和狀態(tài)顯示區(qū)。
4- 類結(jié)構(gòu)顯示區(qū)。
5- 成員列表顯示區(qū)
3.2 載入apk
SV的核心目的在于使APK分析更加簡便,因此在使用方法上,也格外便捷:載入APK的方式主要有三種:
1- 通過File菜單的Open按鈕,然后選擇需要打開的apk 2- 直接將需要分析的apk拖入指定區(qū)域 3- 通過歷史路徑直接打開,
載入成功后,可以通過菜單和工具欄,選擇需要查看的工作窗口。
3.3 工作區(qū)
工作區(qū)通過View菜單以及快捷功能菜單的操作,可以打開以下8種工作窗口,通過這8種工作窗口,向您展示SV對APK的包含深度和廣度的分析結(jié)果:
工作窗口 | 功能描述 |
---|---|
Smali | 可以查看到經(jīng)過SV反匯編的.dex格式文件的Smali代碼信息。 |
Graph | 可以查看到用箭頭表示的函數(shù)調(diào)用關(guān)系信息圖。 |
AndroidManifest | 可以查看APK文件反編譯后的AndroidManifest文件信息 |
String | 可以查看Dex中反編譯的代碼中的字符串信息,并且采用正則表達式,獲取URL信息 |
Resources String | 可以查看resource.asrc文件反編譯的資源文件信息。 |
Certification | 可以查看Apk的證書文件信息 |
Zip View | 可以查看壓縮包內(nèi)的文件信息 |
Note | 可以記錄自己的分析信息 |
Comsearch | 可以對smali代碼內(nèi)進行全局搜索 |
1- 快捷功能鍵,可以快速打開String工作區(qū),Resources String工作區(qū)和Zip View工作區(qū)。 2- Tab目錄,顯示已打開的Tab,并可以通過雙擊或者點擊關(guān)閉圖標來關(guān)閉Tab。 3- 其他Tab可在菜單欄里的View中打開。
3.4 常用功能
Search功能: 在使用SV查看代碼時,可以通過打開Search功能,快速找到自己需要的代碼位置。使用Search時分為Comsearch全局查找和Search當前頁面查找。可以在Options中打開,或者使用快捷鍵。
Comment功能: 在Smali Tab窗口下,為代碼添加注釋,鼠標所在位置,點擊右鍵,便可以打開菜單,選擇Comment功能,添加注釋 Current查看功能: 在smali Tab窗口下,鼠標移動到指定行,點擊右鍵,可以查看當前所在行代碼的class 、Function、line、field信息
跳轉(zhuǎn)功能: 在Manifest Tab窗口下,將鼠標移動到帶有下劃線的代碼內(nèi)容,雙擊左鍵,可以跳轉(zhuǎn)到Smali Tab窗口下的相應(yīng)代碼內(nèi)容。
Vt聯(lián)網(wǎng)分析查看: 通過互聯(lián)網(wǎng)連接到virustotal,進行在線APK分析,點擊快捷功能圖標啟動聯(lián)網(wǎng)分析功能
4 其他特色功能
4.1 查看引用關(guān)系
在類結(jié)構(gòu)的顯示區(qū)的成員列表顯示區(qū),選擇一個方法或者變量,查看右鍵菜單選擇ref to,便可查看該方法的引用關(guān)系,同時引用關(guān)系窗口的上方列表雙擊可以實現(xiàn)跳轉(zhuǎn)。
4.2 Graph圖
在選中成員列表的方法后,打開View中的Graph,可以查看方法內(nèi)代碼的跳轉(zhuǎn)視圖 1- 預(yù)覽視圖,拖動藍色方框,可以變化主工作區(qū)的顯示內(nèi)容
4.3 保存DEX2jar
在Options目錄下選擇保存dex2jar按鈕,可以將apk中的.dex文件另存為.jar格式,保存在原APK文件目錄下,然后可是使用dex2jar_gui等其他軟件打開,查看java代碼。
5 Config設(shè)置
在菜單欄Options目錄下打開Config,設(shè)置的內(nèi)容包括功能顯示風格,和界面顯示風格兩種,在Functions窗口下可以顯示代碼的格式,點擊OK確認選擇。 View窗口下,可以開啟夜間模式,語言模式,還有顯示窗口的字體大小,以及窗口風格,點擊OK確認選擇。