[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对应的正确代码