1

我目前正在尝试从 PE 文件中提取所有操作码。我想知道 Radare2 的“反汇编 N 个字节”的“pd”命令和“反汇编所有可能的操作码(每个字节的字节)”的“pda”命令有什么区别。我应该使用哪个命令从 PE 文件中查找所有操作码?

4

1 回答 1

0

这取决于所有操作码的含义。x86 1是一种 CISC 架构。并非所有指令都具有相同的大小。

考虑以下字节序列:

55 48 89 e5

对应于

    55  push rbp
4889e5  mov rbp, rsp

在 x86 64 位。这就是你得到的pd(如果你从头开始)。然而,在这个字节序列中还隐藏着另一个操作码,89 e5mov ebp, esp. pdA也将揭示这一点。

0     55  push rbp
1 4889e5  mov rbp, rsp
2   89e5  mov ebp, esp
3     e5  <invalid>

pdAr2 中,总是递增一个字节,试图反汇编一个操作码。


1由于您想分析 PE,我假设您使用 x86_64
于 2020-12-25T17:33:52.260 回答