在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系統中有效地進行反匯編和分析工作。