首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要什么魔法才能用dex2jar阅读APK?

我需要什么魔法才能用dex2jar阅读APK?
EN

Stack Overflow用户
提问于 2018-01-16 11:10:23
回答 1查看 624关注 0票数 1

我试图使用dex2jar来读取普通Java应用程序中的dex文件(一个Android )。

我有一个APK文件对象,然后简单地调用new DexFileReader(dex)

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

代码语言:javascript
复制
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)

源代码显示了以下块:

代码语言:javascript
复制
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?我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-16 11:13:20

apk基本上是一个压缩文件。它包含了dex,但比它更多。因此,请先从那里提取dex,然后运行dex2jar。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48279864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档