[TOC]
天下游 模擬定位技術點簡析
通過代碼分析初步猜測模擬定位用到的幾處技術點:
- 獲取了Root權限
- 通過反射獲取
android.os.ServiceManager
對應的函數getService
addService
sCache
com.txyapp.ipc.ITxySystemServerService
- 自定義了
TxyWiFi
TxyCell
TxyLocation
TxyMoveStatus
類,猜測支持模擬基站,WiFi,GPS定位,位置移動狀態 .
測試應用脫殼信息
測試時間:2017年8月18日
測試應用1:天下游 v13.1.2(2017年04月01號 16:50 編譯的版本,當下官網最新版本)
測試應用2:DayDao v4.4.2(2017年08月14號 15:54 編譯的版本,360應用市場下載的是360加固)騰訊市場下載的是騰訊加固,這里測試的是360的加固能正常導出
測試結果:成功導出被加固的DEX文件能看到對應的代碼.
360加固脫殼步驟
-
下載 [原創]分享一個360加固脫殼模擬器(2017/07/17更新)-『Android安全』-看雪安全論壇 里分享的虛擬機
armeabi-v7a.zip
-
將其解壓放入
android-sdk\system-images\android-4.4.4\default\armeabi-v7a
里. -
打開Android模擬器管理工具 - 創建新模擬器 - 選擇 對應的版本
API19(armeabi-v7a)
-
運行創建好的模擬器 - 設置 - 開發者選項 - 運行模式 - 修改為ART模式
自動重啟時,會卡死,直接殺掉進程重新啟動模擬器.
重新開機時需要好長的時間十幾二十分鍾才進入桌面. -
裝上加固過的APP - 運行
08-18 03:07:02.090 1934-1934/? I/dex2oat: dex2oat: /data/data/com.xx/.jiagu/classes.oat 08-18 03:07:05.010 1934-1934/? I/dex2oat: harvey:dex file name-->/data/data/com.xx/.jiagu/classes.dex 08-18 03:07:05.130 1934-1934/? I/dex2oat: harvey:write tartget dex file successfull->>/data/data/com.xx/.jiagu/classes.dex_7541924.dex 08-18 03:07:05.130 1934-1934/? I/dex2oat: harvey:dex file name-->/data/data/com.xx/.jiagu/classes2.dex 08-18 03:07:05.140 1934-1934/? I/dex2oat: harvey:write tartget dex file successfull->>/data/data/com.xx/.jiagu/classes2.dex_262720.dex
-
刷新
data/data/{App.PackageName}/.jiagu
目錄,查看是否有還原成功后的 .dex 文件通過 ADB 命令 - 查看目錄文件
adb shell ls -l /data/data/com.txy.anywhere/.jiagu
-rw------- u0_a53 u0_a53 4672748 2017-08-18 03:06 classes.dex -rwx------ u0_a53 u0_a53 7541924 2017-08-18 03:07 classes.dex_7541924.dex -rw-r--r-- u0_a53 u0_a53 25514420 2017-08-18 03:08 classes.oat -rw------- u0_a53 u0_a53 0 2017-08-18 03:06 classes2.dex -rwx------ u0_a53 u0_a53 262720 2017-08-18 03:07 classes2.dex_262720.dex -rwxr-xr-x u0_a53 u0_a53 323264 2017-08-18 03:06 libjiagu.so
通過 ADB 命令 - 將整個目錄導出到 PC
adb pull /data/data/com.txy.anywhere/.jiagu
-
使用
GDA
或JEB
測試打開導出的 .dex 文件classes.dex
GDA提示“文件打開失敗,請確認文件是否正常或者被占用”classes.dex_7541924.dex
能正常解析出來. 是APP對應的正確代碼