最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【未解决】用ART,oat,dex2oat相关机制去破解新一代360、腾讯等安卓apk的加固

破解 crifan 1484浏览 0评论
折腾:
【部分解决】尝试破解安卓apk康美通去得到java源码
【未解决】尝试其他办法去反编译某安卓应用v3.6.9的apk得到java源码
等之后,大概了解到
新一代的加固技术中,部分是涉及到了
  • oat
  • ART
  • dex2oat
等机制。
去试试是否能破解新一代的,或者说部分的360加固保,腾讯乐固legu等安卓的apk的加固。
腾讯乐固 破解
腾讯乐固加固 脱壳后恢复DEX 安装APP打开老是闪退 – 『脱壳破解讨论求助区』 – 吾爱破解 – LCG – LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
https://www.52pojie.cn/thread-859772-1-1.html
【APP破解】腾讯乐固,360加固一键脱壳_Other programming_架构师_程序员
腾讯乐固 getDex 无效
只有乐固说明,求给个下载链接啊!!? – 问答 – 云+社区 – 腾讯云
使用腾讯乐固加固后不能加入渠道 · Issue #179 · Meituan-Dianping/walle
Meituan-Dianping/walle: Android Signature V2 Scheme签名下的新一代渠道包打包神器
ART模式下基于dex2oat脱壳的原理分析 – 代码天地
ART模式下基于dex2oat脱壳的原理分析 – Fly20141201. 的专栏 – CSDN博客
spriteviki/Dex2oatHunter: Automatic Unpacking Tool for Android Dex Files
看着有点复杂,且也没解释清楚,具体如何用。
TODO:有机会可以去试试,感觉或许有用
https://www.codetd.com/article/2376418
提到了“Dex2oatHunter脱壳工具作者提供的脱壳代码是应用在Android 4.4系统的ART虚拟机模式下的,因此在编译后修改后的dex2aot程序后,在进行360加固和腾讯乐加固的脱壳时,需要将Android系统切换到ART虚拟机模式下才能生效。
ART虚拟机模式下基于dex2oat脱壳是有必要条件的:1. 需要脱壳的Android加固应用必须运行ART虚拟机模式下;2.需要脱壳的Android加固应用通过DexClassLoader加载的dex文件必须是没有经过优化处理的,比如 梆梆加固加载的dex文件是已经经过优化处理的oat文件,因此针对这类情况的Android加固应用使用ART虚拟机模式下基于dex2oat脱壳是无效的。
后记:尽管这种脱壳的方法不是很通用也不能脱最新版的360加固和腾讯乐固了,但是提供了一种ART虚拟机模式下基于dex2oat脱壳的思路。”
-》看来,估计也没法脱壳最新的腾讯乐固了。。
ART模式下基于Xposed Hook开发脱壳工具 – 程序园
但是不知道,即使改了
art/dex2oat/dex2oat.cc
但是接下来如何操作,如何使用,还是不知道,需要后续去研究dex2oat
好像参考:
Android应用APP脱壳笔记 – Asion Tang – 博客园
貌似可行
不过也说了“腾讯市场下载的是腾讯加固,这里测试的是360的加固能正常导出”
此法:360加固保可以,腾讯乐固不行
ART模式下基于dex2oat脱壳的原理分析 – 程序园
欢乐书客加密算法及 360 加固脱壳方式研究
“ART
dex 文件在 ART 模式上运行需要转换为 oat 格式,因此不管是什么壳在还原代码时都少不了要将解密后的 dex 文件利用 dex2oat 进行还原”
以后有机会可以继续研究一下
  • ART
  • oat
  • dex2oat
dex2oat/dex2oat.cc – platform/art – Git at Google
“因为 360 存在 .jiagu 目录下,我们可以使用 .jiagu 进行过滤,如果是 360 加固,则将未还原成 oat 的 classes.dex 写到 app 目录的 .jiagu 文件夹内”
此处FDex2导出app的资源中,的确是有:.jiagu文件夹的
// art/dex2oat/dex2oat.cc L924
// Ensure opened dex files are writable for dex-to-dex transformations.
    for (const auto& dex_file : dex_files) {
      if (!dex_file->EnableWrite()) {
        PLOG(ERROR) << "Failed to make .dex file writeable '" << dex_file->GetLocation() << "'\n";
      }
      // begin 360 jiagu dump
      std::string dex_name = dex_file->GetLocation();
      LOG(INFO) << "harvey:dex file name-->" << dex_name;
      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) << "harvey:write target dex file failed-->" << filename;
          }
          LOG(INFO) << "harvey:write target dex file successfully-->" << filename;
          close(fd);
        }else{
          LOG(INFO) << "harvey:open target dex file failed-->" << filename;
        }
      }
      // end
    }
Android Tools – 『逆向资源区』
-》
极速脱壳新体验,x86版dex2oat脱壳机秒脱360、百度等加固 – 『逆向资源区』 – 吾爱破解 – LCG – LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
https://www.52pojie.cn/forum.php?mod=viewthread&tid=673058&extra=page%3D1%26filter%3Dtypeid%26typeid%3D230
ART 和 Dalvik  |  Android Open Source Project
目前对ART两个技术的总结:
  • ART
    • ART=Android RunTime

转载请注明:在路上 » 【未解决】用ART,oat,dex2oat相关机制去破解新一代360、腾讯等安卓apk的加固

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
80 queries in 0.164 seconds, using 22.10MB memory