如何使用androgurad(或任何其他python工具)从dex文件反编译字节序列?

2024-06-16 09:52:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我的序列看起来像:

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

Tags: 文件字节序列dexandroguardx17x00x04
1条回答
网友
1楼 · 发布于 2024-06-16 09:52:24

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

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

此外,关于给定类甚至方法的信息分布在dex文件中的多个位置。作为一个基本示例,让我们看一下常量字符串指令的编码。看看我在我的answer to your first question中发布的同一个示例:

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

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

相关问题 更多 >