在Ubuntu中,常用的反汇编指令主要来自于GNU Assembler(GAS),它是GNU编译器套件的一部分。以下是一些常用的反汇编指令:
objdump
-d 或 --disassemble:显示反汇编代码。-M intel 或 -M att:选择Intel或AT&T语法。-s 或 --full-contents:显示文件的全部内容。-j .text:只显示.text段的内容。ndisasm
ndisasm -b 32 <filename>或ndisasm -b 64 <filename>来反汇编32位或64位文件。mov
mov eax, 1 将1移动到EAX寄存器。add
add eax, ebx 将EBX寄存器的值加到EAX寄存器。sub
sub eax, ebx 将EBX寄存器的值从EAX寄存器中减去。jmp
jmp label 跳转到标签label。call
call function 调用名为function的函数。ret
ret 从函数返回。mov rax, 1
add rax, rbx
jmp label
label。call function
function的函数。ret
假设你有一个名为example.bin的二进制文件,你可以使用以下命令来反汇编它:
objdump -d -M intel example.bin
或者使用NASM:
ndisasm -b 64 example.bin
通过这些指令和工具,你可以在Ubuntu系统中有效地进行反汇编和分析工作。