文章目录
- 使用objdump
 - 直接阅读ARM64手册
 - 使用反汇编网站
 
有下面一个机器码:0x929ffee9,如何翻译成汇编呢?
下面介绍几种做法:
使用objdump
将这个机器码写到文件中,然后使用objdump去反汇编
- 创建一个二进制文件
 
dd if=/dev/zero of=./bin bs=1 count=4
 
- 编辑
 
使用vim -b bin打开文件,然后使用:%!xxd切换到二进制编辑模式,然后修改成:
00000000: e9fe 9f92                                ....
 
接着执行:%!xxd -r切回去,保存。
- 反汇编
 
$ objdump -D bin  -b binary -m aarch64
bin:     file format binary
Disassembly of section .data:
0000000000000000 <.data>:
   0:   929ffee9        mov     x9, #0xffffffffffff0008         // #-65528
 
直接阅读ARM64手册
先用windows自带的计算机得到每个bit的值:
 
 然后对照ARM64的技术手册,找到跟机器码匹配的汇编指令:
 
 根据描述:
imm16:0xfff7
 
反汇编后就是:
MOVN X9, #0xFFF7
 
或者:
MOV X9, #0xffffffffffff0008
 
使用反汇编网站
有一些网站提供了机器码的反汇编工具,下面列举几个:
-  
https://asm.x32.dev/both.html

 -  
https://yozan233.github.io/Online-Assembler-Disassembler/

 -  
https://disasm.pro/

 
完。



















