参考链接:
https://www.jianshu.com/p/55bf5f688e9a
https://source.android.com/devices/tech/dalvik/dex-format#dex-file-magic


原因:

dex2jar 的版本与要解析的 dex 文件的版本不匹配造成的

方案:

  1. 使用对应版本的 dex2jar
  2. 使用二进制编辑工具修改 dex 文件的版本

将图一中选中位置改为图二中选中内容即可(也就是把038改为035)
在这里插入图片描述
在这里插入图片描述

关于 dex 文件的版本号

  • 009
    M3 releases of the Android platform (November–December 2007)
  • 013
    M5 releases of the Android platform (February–March 2008)
  • 035:
    android 7.0 之前
  • 037
    android 7.0 正式版开始使用到 android 8.0 release 版
  • 038
    android 8.0 release 版

以上摘自官网:
在这里插入图片描述
在这里插入图片描述


ps:虽然官网也说了前8位是魔数,但是一般而言魔数是4位,且魔数一般是不会变的,我的理解是前四位(6465780A)是魔数,后四位(30333500)是版本号
在这里插入图片描述

GitHub 加速计划 / de / dex2jar
12.12 K
2.09 K
下载
Tools to work with android .dex and java .class files
最近提交(Master分支:3 个月前 )
b5bda4fb 1 年前
9510b74d - 1 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐