-
-
[原创] 安卓7.1.1的dex2oat x86和arm64双版本分享,秒脱最新360和旧版的梆梆、百度壳等加固
-
发表于:
2018-3-20 16:33
12438
-
[原创] 安卓7.1.1的dex2oat x86和arm64双版本分享,秒脱最新360和旧版的梆梆、百度壳等加固
发现论坛上的dex2oat是4.4的老版本 有些应用可能不兼容 所以编译了安卓7.1.1系统的 分享给大家。
有真机arm64版本的 方便手机脱壳 和x86虚拟机版本,由于文件过大所以只上传了dex2oat文件 大家自行替换系统的 /system/bin/dex2oat,我上传的文件名需要改为dex2oat 把文件名多余的删掉,替换后记得修改权限。
因为7.1.1系统安装了xposed 原先编译的dex2oat就无法使用了 所以编译了支持和xposed共存的版本(dex2oat-xposed-7.1.1-arm64)。
这是编译用到的源码 下载好安卓源码添加进(art/dex2oat.cc),我是用Mac编译的安卓源码 有相关问题可以在群里问我。
for (const auto& dex_file : dex_files_) {
ScopedObjectAccess soa(self);
dex_caches_.push_back(soa.AddLocalReference<jobject>(
class_linker->RegisterDexFile(*dex_file,
soa.Decode<mirror::ClassLoader*>(class_loader_))));
//dex2oat脱壳-----添加开始
std::string dex_name = dex_file->GetLocation();
LOG(INFO) << "file name-->" << dex_name << "<--";
//注释掉过滤.jiagu文件可以脱其它壳 真机不影响运行速度
//if(dex_name.find("jiagu")!=std::string::npos)
//{
int len =dex_file->Size();
char filename[150] = {0};
sprintf(filename,"%s_%d.dex",dex_name.c_str(),len);
int fd = open(filename,O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU);
if(fd > 0)
{
if(write(fd,(char*)dex_file->Begin(),len) <= 0)
{
LOG(INFO) << "dex file failed-->" << filename << "<--";
}
LOG(INFO) << "dex file successfully-->" << filename << "<--";
close(fd);
}else LOG(INFO) << "dex file failed-->" << filename << "<--";
//}
//------添加结束
}
有问题可以加Q群讨论: 228410663
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2018-3-30 20:05
被正月初九编辑
,原因: 添加x86和x86_64版本