ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

安卓逆向:AndroidKiller 反编译失败,无法继续下一步源码反编译

2022-03-20 18:02:39  阅读:322  来源: 互联网

标签:dex 反编译 java AndroidKiller 源码 apktool org jf


  1. 问题

    使用 Android Killer 进行 apk 文件反编译时,遇到“反编译失败,无法继续下一步源码反编译!” 报错。

    报错内容:
    当前 Apktool 使用版本:android 2.4.1
    正在反编译 APK,请稍等…
    I: Using Apktool 2.4.1 on chelaile_app.apk
    I: Loading resource table…
    I: Decoding AndroidManifest.xml with resources…
    I: Loading resource table from file: C:\Users\Administrator\AppData\Local\apktool\framework\1.apk
    I: Regular manifest package…
    I: Decoding file-resources…
    I: Decoding values / XMLs…
    I: Baksmaling classes.dex…
    I: Baksmaling classes2.dex…
    I: Baksmaling classes3.dex…
    I: Baksmaling classes4.dex…
    I: Baksmaling assets/A3AEECD8.dex…
    Exception in thread “main” org.jf.dexlib2.dexbacked.DexBackedDexFileNotADexFile: Not a valid dex magic value: cf 77 4c c7 9b 21 01 cd at org.jf.dexlib2.util.DexUtil.verifyDexHeader(DexUtil.java:93) at org.jf.dexlib2.dexbacked.DexBackedDexFile.getVersion(DexBackedDexFile.java:111) at org.jf.dexlib2.dexbacked.DexBackedDexFile.(DexBackedDexFile.java:78) at org.jf.dexlib2.dexbacked.DexBackedDexFile.(DexBackedDexFile.java:138) at org.jf.dexlib2.dexbacked.ZipDexContainer1.getDexFile(ZipDexContainer.java:181)
    at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:90)
    at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:39)
    at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:96)
    at brut.androlib.ApkDecoder.decode(ApkDecoder.java:164)
    at brut.apktool.Main.cmdDecode(Main.java:170)
    at brut.apktool.Main.main(Main.java:76)
    APK 反编译失败,无法继续下一步源码反编译!

  2. 更新 APKTOOL

    下载地址:https://connortumbleson.com/apktool/,此处下载最新版本 apktool_2.4.1.jar;

    注意:如果 APKTOOL 已经是 apktool_2.4.1.jar 版本,则直接跳到第三步!

打开 AndroidKiller,依次点击 Android -> APKTOOL管理器 -> 添加,得到下图弹窗;
在这里插入图片描述点击弹窗 路径 输入框尾部的文件及图标,根据前面的下载路径找到 apktool_2.4.1.jar,如下图:
在这里插入图片描述3. 输入 APKTOOL 参数

报错中提示是由于非法 dex,这是因为 apk 里有加密过后的 dex 文件,比如有些 apk 的 assets 目录下有加密后的 dex 文件,添加 –only-main-classes 参数即可;
在 编辑 APKTOOL 弹窗 参数 输入框,输入参数 --only-main-classe;

注意:这一步是关键,一定不能省略!

在这里插入图片描述在 APKTOOL 管理器 弹窗尾部,重新选择默认的 Apktool 版本为 apktool_2.4.1.jar;
在这里插入图片描述
4. 重启 AndroidKiller 并再次编译

重启AndroidKiller,并再次编译 apk 文件,得到下图,编译成功。

在这里插入图片描述

标签:dex,反编译,java,AndroidKiller,源码,apktool,org,jf
来源: https://blog.csdn.net/qq_45566117/article/details/123617500

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有