雷达2“pd”与“pda”

2024-06-16 15:05:52 发布

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

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


Tags: 文件命令字节pdpe反汇编radare2区别
1条回答
网友
1楼 · 发布于 2024-06-16 15:05:52

这取决于你所说的所有操作码是什么意思。x861是一种CISC体系结构。并非所有指令的大小都相同

考虑以下字节序列:

55 48 89 e5

对应于

    55  push rbp
4889e5  mov rbp, rsp

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

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

pdA中,r2总是增加一个字节,然后尝试反汇编操作码


1既然您想分析PEs,我假设您使用x86\u 64

相关问题 更多 >