100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > android 360加固 反编译 [原创]逆向360加固等dex被隐藏的APK

android 360加固 反编译 [原创]逆向360加固等dex被隐藏的APK

时间:2020-12-09 21:38:04

相关推荐

android 360加固 反编译 [原创]逆向360加固等dex被隐藏的APK

如果遇到apk中的lib文件夹中是这样的

基本没有dex文件可以反编译,这中的dex文件一般都是加密混淆压缩后放在so中啦。

但是软件要想运行就需要解出dex字节码然后加载到手机内存中,这样就可以在软件运行过程中把dex提取出来再使用相应的软件反编译成smail啦,接着就是转成java。

好啦,第一次发帖子,以下就是干货。

首先下载附件中的

gdb.7z.001.rar(2.00MB)

gdb.7z.002.rar(1.21MB)

把这两个文件的后缀名去掉使用7zip解压出来二进制文件gdb(大约13MB)

打开安卓虚拟机,把需要逆向的加壳软件安装的虚拟机中,然后启动APK。

1、使用ADB把gdbpush到手机中

adbpush/home/down/gdb/data/local/tmp/gdb

2、找到需要逆向的apk对应linux的进程pid

adb中执行

adbshell

top

会显示手机中全部的进程,然后找到进程名字为apk包名的pid(在此假设pid为482)

3、赋予gdb权限(依次执行以下命令)

adbshell

su

cd/data/local/tmp/

chmod777gdb

4、dump进程482的内存

./gdb--pid482

此时进入了gdb模式

这个时候输入gcore会dump到当前目录/data/local/tmp/core.482

把这个core.482的文件放到安装了.net3.5的电脑上(win7默认是可以得)

比如放到以下位置

D:\core.482

5、下载附件中的DumpAllDEX.7z解压出文件DumpAllDEX.exe

运行

就会把所有的dex文件提取到D:\core.482.dex文件夹中。

6、逐个反编译提取出来的dex文件,直到找到你要逆向的软件dex。这个时候就可以开开心心的转成java看源码啦。

最近做了个微信公众号,要是有觉得这个文章有用的朋友,谢谢关注下呀

DumpAllDEX.exe为C#写的,源码如下:

staticvoidMain(string[]args)

{

REBEGIN:

Console.WriteLine("请输入gcore出来的文件路径:");

stringfilepath=Console.ReadLine();

if(!File.Exists(filepath))

{

Console.WriteLine("指定的文件不存在,请输入正确的文件路径\r\n");

gotoREBEGIN;

}

newDirectoryInfo(filepath+".dex").Create();

FileStreamfs=newFileStream(filepath,FileMode.Open);

longflen=fs.Length;

BinaryReaderbr=newBinaryReader(fs);

byte[]bs=br.ReadBytes((int)flen);

fs.Close();

intbsl=bs.Length;

for(inti=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')

{

stringa1=bs[i+35].ToString("x2");

stringa2=bs[i+34].ToString("x2");

stringa3=bs[i+33].ToString("x2");

stringa4=bs[i+32].ToString("x2");

stringhexlen=a1+a2+a3+a4;

intdexlength=Int32.Parse(hexlen,System.Globalization.NumberStyles.HexNumber);

byte[]dex_tmp=newbyte[dexlength];

inth=0;

for(intj=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次下载)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。