android 360加固 反编译,[原创]逆向360加固等dex被隐藏的APK
如果遇到apk中的lib文件夹中是这样的
基本没有dex文件可以反编译,这中的dex文件一般都是加密混淆压缩后放在so中啦。
但是软件要想运行就需要解出dex字节码然后加载到手机内存中,这样就可以在软件运行过程中把dex提取出来再使用相应的软件反编译成smail啦,接着就是转成java。
好啦,第一次发帖子,以下就是干货。
首先下载附件中的
gdb.7z.001.rar (2.00 MB)
gdb.7z.002.rar (1.21 MB)
把这两个文件的后缀名去掉使用7zip解压出来二进制文件gdb (大约13MB)
打开安卓虚拟机,把需要逆向的加壳软件安装的虚拟机中,然后启动APK。
1、使用ADB把gdb push到手机中
adb push /home/down/gdb /data/local/tmp/gdb
2、找到需要逆向的apk对应linux的进程pid
adb 中执行
adb shell
top
会显示手机中全部的进程,然后找到进程名字为apk包名的pid (在此假设pid为 482)
3、赋予gdb权限(依次执行以下命令)
adb shell
su
cd /data/local/tmp/
chmod 777 gdb
4、dump进程482的内存
./gdb --pid 482
此时进入了gdb模式
这个时候输入 gcore 会dump到当前目录 /data/local/tmp/core.482
把这个core.482的文件放到安装了.net 3.5 的电脑上(win7默认是可以得)
比如放到以下位置
D:\core.482
5、下载附件中的 DumpAllDEX.7z 解压出文件 DumpAllDEX.exe
运行
就会把所有的dex文件提取到D:\core.482.dex 文件夹中。
6、逐个反编译提取出来的dex文件,直到找到你要逆向的软件dex。这个时候就可以开开心心的转成java看源码啦。
最近做了个微信公众号,要是有觉得这个文章有用的朋友,谢谢关注下呀
DumpAllDEX.exe 为C#写的,源码如下:
static void Main(string[] args)
{
REBEGIN:
Console.WriteLine("请输入gcore出来的文件路径:");
string filepath = Console.ReadLine();
if (!File.Exists(filepath))
{
Console.WriteLine("指定的文件不存在,请输入正确的文件路径\r\n");
goto REBEGIN;
}
new DirectoryInfo(filepath + ".dex").Create();
FileStream fs = new FileStream(filepath, FileMode.Open);
long flen = fs.Length;
BinaryReader br = new BinaryReader(fs);
byte[] bs = br.ReadBytes((int)flen);
fs.Close();
int bsl = bs.Length;
for (int i = 0; i
{
if (bs[i] == 'd' && bs[i + 1] == 'e' && bs[i + 2] == 'x' && bs[i + 3] == 10 && bs[i + 4] == '0' && bs[i + 5] == '3' && bs[i + 6] == '5')
{
string a1 = bs[i + 35].ToString("x2");
string a2 = bs[i + 34].ToString("x2");
string a3 = bs[i + 33].ToString("x2");
string a4 = bs[i + 32].ToString("x2");
string hexlen = a1 + a2 + a3 + a4;
int dexlength = Int32.Parse(hexlen, System.Globalization.NumberStyles.HexNumber);
byte[] dex_tmp = new byte[dexlength];
int h = 0;
for (int j = i; j
{
dex_tmp[h++] = bs[j];
}
File.WriteAllBytes(filepath + ".dex\\" + i + ".dex", dex_tmp);
}
}
Console.WriteLine("所有的DEX文件已经输出到文件夹" + filepath + ".dex\\");
while (true)
{
Console.Read();
}
}
上传的附件:
1.png
(6.23kb,145次下载)
gdb.7z.001.rar
(2.00MB,1776次下载)
gdb.7z.002.rar
(1.21MB,2149次下载)
DumpAllDEX.7z
(2.36kb,1446次下载)
2.png
(3.69kb,112次下载)
android 360加固 反编译,[原创]逆向360加固等dex被隐藏的APK相关推荐
- 【app反编译和逆向打包】
一:反编译 1:反编译代码 JADX(推荐) 具体的安装和使用,推荐看这篇文章吧点这里 dex2jar 和 jd-gui 关键命令: d2j-dex2jar classes.dex ps:将获取到的c ...
- Android程序的反编译对抗研究
转自: http://www.freebuf.com/tools/76884.html 一.前言 对抗反编译是指让apk文件或者dex文件无法正常通过反编译工具,而且有可能导致工具异常或者崩溃,如ap ...
- 小龟视频APP-插件打包-v1.6.x反编译教程及未加固apk包ios最新版文件分享
1.先爆破安卓签名,工具:MT管理器,百度自行下载 2.搜索getcertsign(一般在285之间都能看到)如下图: 3.添加return-void 然后保存返回回到首页进行APK签名,就ok了 这 ...
- Android混淆、反编译基础教程
Android混淆.反编译基础教程 Android APK混淆 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理. 根据 SDK 的版本不同 ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- android studio防止反编译,防反编译利器-Android studio混淆代码压缩apk包体积
前言 打包混淆对初学者小冷来说是很抗拒的,刚开始我只是知道在build.gradle文件 minifyEnabled下设置为true,可是proguard-rules.pro文件里面什么都没有,就这样 ...
- APP加固反编译技术对比
代次 第一代 第二代 第三代 第四代 第五代 技术路线 dex透明加解密技术 函数级代理技术 so文件加壳技术 代码混淆和虚拟化技术 安全容器技术 设计思路 对每个或每组可执行文件加壳加密,增加复杂度 ...
- Android Killer--安卓反编译工具
Android Killer 一个朋友写的工具,挺方便好用,发到此处,留给新手同学们学习使用.详细信息看下文介绍. Android Killer 是一款可视化的安卓应用逆向工具,集Apk反编译.Apk ...
- vue打包代码反编译_Android逆向反编译代码注入APK过程思路分析
一.名称解释 逆向 - 是一种产品设计技术再现过程,从可运行的程序系统出发,运用解 密.反汇编.系统分析等多种计算机技术,对软件的结构.流程.算法. 代码等进行逆向拆解和分析,推导出软件产品的源代码. ...
最新文章
- Ubuntu安装 到移动硬盘--操作系统随身携带
- java基本数据类型_Java 中有几种基本数据类型是什么?
- Implicit conversion from enumeration type 'enum CGImageAlphaInfo' to different enumeration type 'CGB
- 工作65:导航栏使用
- vue横向树结构_vue树形结构的实现
- 完美程序员的10种品质
- npm收录了哪些包_使用VS Code轻松找到npm软件包中的漏洞(Vuln Cost)
- 写给笨人的法线贴图原理 【转】
- @JVM垃圾收集器种类
- Ubuntu系统设置静态IP
- Jemalloc源码解析_源码剖析
- python xlwt 表格样式
- 快速排序实验报告 c语言,快速排序算法的C语言实现
- Powershell————2、Powershell交互式
- 有道云笔记同步失败原因之一
- 5、依赖注入(DI)dependency injection
- 超详细|一篇搞定操作系统——设备管理
- 人工智能在物流领域中的应用
- 名帖203 米芾 行书《行书帖选》
- 如何防止恶意攻击短信验证码接口