直接在 shell?
Disassemble opcode snippets directly in a shell?
我得到了一个小字节串,十六进制表示如下:
6631C08A2500000000
是否有反汇编程序,它接受操作码作为直接输入参数,而不需要编译文件?
例如:
$ disassembler -directOpcode 6631C08A2500000000
0: 66 31 c0 xor ax,ax
3: 8a 25 00 00 00 00 mov ah,BYTE PTR ds:0x0
由于 Peter 的有用评论,我找到了一个利用 python2 和一些 shell 管道的解决方案:
$ python -c "print '6631C08A2500000000'.decode('hex')" | head -c -1 | ndisasm -b32 -
00000000 6631C0 xor ax,ax
00000003 8A2500000000 mov ah,[dword 0x0]
我用 head -c -1
去掉了尾随的换行符,否则我得到:
00000000 6631C0 xor ax,ax
00000003 8A2500000000 mov ah,[dword 0x0]
00000009 0A db 0x0a
我得到了一个小字节串,十六进制表示如下:
6631C08A2500000000
是否有反汇编程序,它接受操作码作为直接输入参数,而不需要编译文件?
例如:
$ disassembler -directOpcode 6631C08A2500000000
0: 66 31 c0 xor ax,ax
3: 8a 25 00 00 00 00 mov ah,BYTE PTR ds:0x0
由于 Peter 的有用评论,我找到了一个利用 python2 和一些 shell 管道的解决方案:
$ python -c "print '6631C08A2500000000'.decode('hex')" | head -c -1 | ndisasm -b32 -
00000000 6631C0 xor ax,ax
00000003 8A2500000000 mov ah,[dword 0x0]
我用 head -c -1
去掉了尾随的换行符,否则我得到:
00000000 6631C0 xor ax,ax
00000003 8A2500000000 mov ah,[dword 0x0]
00000009 0A db 0x0a