gpt4 book ai didi

java - 使用 dex2jar 读取 APK 需要什么魔法?

转载 作者:行者123 更新时间:2023-11-30 00:10:11 25 4
gpt4 key购买 nike

我正在尝试使用 dex2jar在普通 Java 应用程序中读取 dex 文件(Android APK)。

我有一个指向 APK 的文件对象,然后只需调用 new DexFileReader(dex)

但是这会引发以下异常“不支持魔法”:

com.googlecode.d2j.DexException: not support magic.
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:160)
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:258)
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:276)

源代码显示以下 block :

in = in.asReadOnlyBuffer().order(ByteOrder.BIG_ENDIAN);
int magic = in.getInt() & 0xFFFFFF00;

final int MAGIC_DEX = 0x6465780A & 0xFFFFFF00;// hex for 'dex ', ignore the 0A
final int MAGIC_ODEX = 0x6465790A & 0xFFFFFF00;// hex for 'dey ', ignore the 0A

if (magic == MAGIC_DEX) {
...
} else if (magic == MAGIC_ODEX) {
...
} else {
throw new DexException("not support magic.");
}

我的假设是我错过了一个步骤,需要从 APK 转换为基本 dex 格式,但它没有显示在 wiki 的示例“想要使用 dex2jar 读取 dex 文件”部分(链接多于)。

如何成功读取 APK?我错过了什么?

最佳答案

apk 基本上是一个 zip 文件。它包含 dex - 但远不止于此。所以请先从那里提取 dex,然后运行 ​​dex2jar。

关于java - 使用 dex2jar 读取 APK 需要什么魔法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48279864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com