Android应用APP脱壳笔记
[TOC]
天下游 模拟定位技术点简析
通过代码分析初步猜测模拟定位用到的几处技术点:
- 获取了Root权限
- 通过反射获取
android.os.ServiceManager对应的函数getServiceaddServicesCache com.txyapp.ipc.ITxySystemServerService- 自定义了
TxyWiFiTxyCellTxyLocationTxyMoveStatus类,猜测支持模拟基站,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.dexGDA提示“文件打开失败,请确认文件是否正常或者被占用”classes.dex_7541924.dex能正常解析出来. 是APP对应的正确代码
参考网址
- [原创]360加固成功脱壳-『Android安全』-看雪安全论坛
- [原创]分享一个360加固脱壳模拟器(2017/07/17更新)-『Android安全』-看雪安全论坛
- 记一次APP脱壳重打包过程 - 『移动安全区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
- IDEA动态调试安卓应用的方法分享 - 『移动安全区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
Android应用APP脱壳笔记的更多相关文章
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- android模块化app开发笔记-2插件间布局文件共享
android编程时布局文件,图片资源等都是放在同一个文件夹下,这样照成一个问题就是我们想重用UI布局文件和图片时就还需要其分离这些资料,相信大部分android程序员都遇到过这样的问题,其痛苦程度不 ...
- Android APP性能测试笔记(一)
Android APP性能测试笔记(一) (1)工具使用 Android Studio GT, root的真机 (2)记录apk大小(对比竞品) 使用Android Studio导入需要测试 ...
- Android APP开发笔记
环境搭建 windows系统上需要以下软件: android SDK -- app开发工具包, 开发运行环境(包括SDK管理工具,和虚拟设备管理). JDK -- java 开发工具包, 负责app代 ...
- Android开发——Kotlin开发APP使用笔记
之前一直使用java来开发Android项目,学了新的kotlin语言,前来试一试,并说一下kotlin对Android的一些功能增强 创建项目 我使用的是Android Studio3.0+,所以默 ...
- Android 高级UI设计笔记07:RecyclerView 的详解
1. 使用RecyclerView 在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...
- Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话 ...
- Android菜鸟的成长笔记(13)——异步任务(Async Task)
原文:[置顶] Android菜鸟的成长笔记(13)——异步任务(Async Task) Android的UI线程主要负责处理用户的事件及图形显示,因此主线程UI不能阻塞,否则会弹出一个ANR(App ...
随机推荐
- ansible管理window
设置window以支持远程执行命令======================================= 升级powershell到3.0+-------------------------- ...
- Html5+CSS
1. 内联样式是为元素添加样式的最简单有效的方式,但是更易于维护的方式是使用层叠样式表CSS(Cascading Style Sheets). <style> 选择器 {属性名称: 属性 ...
- jboss启动时java VM参数设置
jboss服务器中jvm参数的设置: 在$JBOSS_HOME/bin下的run.sh里面存在这么一个设置: # Force IPv4 on Linux systems since IPv6 does ...
- POJ 3537:Crosses and Crosses(Multi-Nim)
[题目链接] http://poj.org/problem?id=3537 [题目大意] 在一个1*n的方格纸上下棋,谁先连三子谁就赢了,问必胜的是谁. [题解] 我们发现对于一个n规模的游戏.在i位 ...
- 【贪心】【multiset】 Codeforces Round #401 (Div. 2) B. Game of Credit Cards
对第一个人的排序,然后从小到大处理,对第一个人的每枚卡片,从第二个人的卡片中选择一个大于等于它的最小的,否则选择一个当前剩下的最小的,这样可以保证负场最少. 如果选择的改成大于它的最小的,就可以保证胜 ...
- 【状压DP】旅行商问题
给定一张带权有向图,要求从顶点0出发,经过每个结点恰好一次后再返回0,求边权和的最小值. 2<=n<=15 0<=d(i,j)<=1000 样例 5 80 1 30 3 41 ...
- 【动态规划】【最长上升子序列】【贪心】bzoj1046 [HAOI2007]上升序列
nlogn求出最长上升子序列长度. 对每次询问,贪心地回答.设输入为x.当前数a[i]可能成为答案序列中的第k个,则若 f[i]>=x-k && a[i]>ans[k-1] ...
- python3 开发面试题(创建表结构)6.9
纯sql语句写出: '''设计 图书管理系统 表结构: - 书 - 书名 - 作者 - 姓名 - 出版社 - 出版社名称 - 地址 一本书只能由一家出版社出版 --> 多对一(书对出版社) 一本 ...
- [Android]--RadioGroup+RadioButton实现底部导航栏
RadioGroup+RadioButton组合方式打造简单实用的底部导航栏 代码块: <?xml version="1.0" encoding="utf-8&qu ...
- 【MySQL笔记】数据定义语言DDL
1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] ...