-1

我有一个从 dex 文件中提取的字节序列,我想使用 androguard 或任何其他 python 包对其进行反编译

我的序列看起来像:

b'\x17\x8a\\\x05{\x00p\x00\x00\x00xV4\x12\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04'
4

1 回答 1

0

在没有关于 dex 文件的其他上下文或信息的情况下,不可能从 dex 文件中反编译或反汇编一组随机字节。

一方面,该工具不知道字节来自 dex 文件的哪个部分。Dex 文件中有许多不同的数据结构,如果不知道字节来自哪个数据结构的哪一部分,工具将不知道如何解释它。

此外,关于给定类甚至方法的信息分布在 dex 文件的多个位置。作为一个基本示例,让我们看一下 const-string 指令的编码。看看我在回答您的第一个问题时发布的相同示例:

0001d8: 1a01 0000          |    const-string v1, "Hello World!"

在这种情况下,1a是“const-string”的操作码,01是存储值的寄存器(例如v1),并且00 00毫无疑问是整数值的小端编码0,它被解释为全局的索引dex 文件的字符串池。如果该工具无权访问该全局字符串池,则它无法知道string index 0指的是什么。

于 2020-07-22T17:09:58.687 回答