mips 纯二进制反汇编(bin文件)
2012-04-04 14:47
169 查看
Usage: mipsel-linux-objdump <option(s)> <file(s)>
Display information from object <file(s)>.
At least one of the following switches must be given:
-a, --archive-headers Display archive header information
-f, --file-headers Display the contents of the overall file header
-p, --private-headers Display object format specific file header contents
-h, --[section-]headers Display the contents of the section headers
-x, --all-headers Display the contents of all headers
-d, --disassemble Display assembler contents of executable sections
-D, --disassemble-all Display assembler contents of all sections
-S, --source Intermix source code with disassembly
-s, --full-contents Display the full contents of all sections requested
-g, --debugging Display debug information in object file
-e, --debugging-tags Display debug information using ctags style
-G, --stabs Display (in raw form) any STABS info in the file
-W, --dwarf Display DWARF info in the file
-t, --syms Display the contents of the symbol table(s)
-T, --dynamic-syms Display the contents of the dynamic symbol table
-r, --reloc Display the relocation entries in the file
-R, --dynamic-reloc Display the dynamic relocation entries in the file
@<file> Read options from <file>
-v, --version Display this program's version number
-i, --info List object formats and architectures supported
-H, --help Display this information
The following switches are optional:
-b, --target=BFDNAME Specify the target object format as BFDNAME
-m, --architecture=MACHINE Specify the target architecture as MACHINE
-j, --section=NAME Only display information for section NAME
-M, --disassembler-options=OPT Pass text OPT on to the disassembler
-EB --endian=big Assume big endian format when disassembling
-EL --endian=little Assume little endian format when disassembling
--file-start-context Include context from start of file (with -S)
-I, --include=DIR Add DIR to search list for source files
-l, --line-numbers Include line numbers and filenames in output
-C, --demangle[=STYLE] Decode mangled/processed symbol names
The STYLE, if specified, can be `auto', `gnu',
`lucid', `arm', `hp', `edg', `gnu-v3', `java'
or `gnat'
-w, --wide Format output for more than 80 columns
-z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling
--start-address=ADDR Only process data whose address is >= ADDR
--stop-address=ADDR Only process data whose address is <= ADDR
--prefix-addresses Print complete address alongside disassembly
--[no-]show-raw-insn Display hex alongside symbolic disassembly
--adjust-vma=OFFSET Add OFFSET to all displayed section addresses
--special-syms Include special symbols in symbol dumps
mipsel-linux-objdump: supported targets: elf32-tradlittlemips elf32-tradbigmips ecoff-littlemips ecoff-bigmips elf32-ntradlittlemips elf64-tradlittlemips elf32-ntradbigmips elf64-tradbigmips elf64-little elf64-big elf32-little elf32-big srec symbolsrec tekhex binary ihex
mipsel-linux-objdump: supported architectures: mips mips:3000 mips:3900 mips:4000 mips:4010 mips:4100 mips:4111 mips:4120 mips:4300 mips:4400 mips:4600 mips:4650 mips:5000 mips:5400 mips:5500 mips:6000 mips:7000 mips:8000 mips:9000 mips:10000 mips:12000 mips:16 mips:mips5 mips:isa32 mips:isa32r2 mips:isa64 mips:isa64r2 mips:sb1
The following MIPS specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
gpr-names=ABI Print GPR names according to specified ABI.
Default: based on binary being disassembled.
fpr-names=ABI Print FPR names according to specified ABI.
Default: numeric.
cp0-names=ARCH Print CP0 register names according to specified architecture.
Default: based on binary being disassembled.
hwr-names=ARCH Print HWR names according to specified architecture.
Default: based on binary being disassembled.
reg-names=ABI Print GPR and FPR names according to specified ABI.
reg-names=ARCH Print CP0 register and HWR names according to specified architecture.
For the options above, the following values are supported for "ABI":
numeric 32 n32 64
For the options above, The following values are supported for "ARCH":
numeric r3000 r3900 r4000 r4010 vr4100 vr4111 vr4120 r4300 r4400 r4600 r4650 r5000 vr5400 vr5500 r6000 rm7000 rm9000 r8000 r10000 r12000 mips5 mips32 mips32r2 mips64 mips64r2 sb1
mipsel-linux-objdump -D test.exe
得到:
test.exe: file format elf32-tradlittlemips
Disassembly of section .init:
1fc00000 <main>:
1fc00000: 3c011fc0 lui at,0x1fc0
1fc00004: 24210020 addiu at,at,32
1fc00008: 8c220000 lw v0,0(at)
1fc0000c: 8c230004 lw v1,4(at)
1fc00010: 00000000 nop
1fc00014: 00432020 add a0,v0,v1
1fc00018: ac240008 sw a0,8(at)
1fc0001c: 00000000 nop
1fc00020 <value>:
1fc00020: 0000000a 0xa
1fc00024: 00000014 0x14
...
1fc00030: 1000001e b 1fc000ac <_gp+0x5c>
1fc00034: 00000000 nop
...
hexdump -v -e '"%06_ax\t" 1/4 "%08X" "\n" ' test.bin
得:
000000 3C011FC0
000004 24210020
000008 8C220000
00000c 8C230004
000010 00000000
000014 00432020
000018 AC240008
00001c 00000000
000020 0000000A
000024 00000014
000028 00000000
00002c 00000000
000030 1000001E
000034 00000000
000038 00000000
00003c 00000000
000040 00000000
000044 00000000
mipsel-linux-objdump -D -m mips -b binary -EL -M no-aliases test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 sll zero,zero,0x0
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 sll zero,zero,0x0
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
...
30: 1000001e beqz zero,0xac
34: 00000000 sll zero,zero,0x0
...
mipsel-linux-objdump -D -m mips -b binary -EL -M no-aliases -z test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 sll zero,zero,0x0
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 sll zero,zero,0x0
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
28: 00000000 sll zero,zero,0x0
2c: 00000000 sll zero,zero,0x0
30: 1000001e beqz zero,0xac
34: 00000000 sll zero,zero,0x0
38: 00000000 sll zero,zero,0x0
3c: 00000000 sll zero,zero,0x0
40: 00000000 sll zero,zero,0x0
44: 00000000 sll zero,zero,0x0
mipsel-linux-objdump -D -m mips -b binary -EL -z test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 nop
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 nop
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
28: 00000000 nop
2c: 00000000 nop
30: 1000001e b 0xac
34: 00000000 nop
38: 00000000 nop
3c: 00000000 nop
40: 00000000 nop
44: 00000000 nop
mipsel-linux-objdump -D -m mips -b binary -EL test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 nop
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 nop
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
...
30: 1000001e b 0xac
34: 00000000 nop
...
Display information from object <file(s)>.
At least one of the following switches must be given:
-a, --archive-headers Display archive header information
-f, --file-headers Display the contents of the overall file header
-p, --private-headers Display object format specific file header contents
-h, --[section-]headers Display the contents of the section headers
-x, --all-headers Display the contents of all headers
-d, --disassemble Display assembler contents of executable sections
-D, --disassemble-all Display assembler contents of all sections
-S, --source Intermix source code with disassembly
-s, --full-contents Display the full contents of all sections requested
-g, --debugging Display debug information in object file
-e, --debugging-tags Display debug information using ctags style
-G, --stabs Display (in raw form) any STABS info in the file
-W, --dwarf Display DWARF info in the file
-t, --syms Display the contents of the symbol table(s)
-T, --dynamic-syms Display the contents of the dynamic symbol table
-r, --reloc Display the relocation entries in the file
-R, --dynamic-reloc Display the dynamic relocation entries in the file
@<file> Read options from <file>
-v, --version Display this program's version number
-i, --info List object formats and architectures supported
-H, --help Display this information
The following switches are optional:
-b, --target=BFDNAME Specify the target object format as BFDNAME
-m, --architecture=MACHINE Specify the target architecture as MACHINE
-j, --section=NAME Only display information for section NAME
-M, --disassembler-options=OPT Pass text OPT on to the disassembler
-EB --endian=big Assume big endian format when disassembling
-EL --endian=little Assume little endian format when disassembling
--file-start-context Include context from start of file (with -S)
-I, --include=DIR Add DIR to search list for source files
-l, --line-numbers Include line numbers and filenames in output
-C, --demangle[=STYLE] Decode mangled/processed symbol names
The STYLE, if specified, can be `auto', `gnu',
`lucid', `arm', `hp', `edg', `gnu-v3', `java'
or `gnat'
-w, --wide Format output for more than 80 columns
-z, --disassemble-zeroes Do not skip blocks of zeroes when disassembling
--start-address=ADDR Only process data whose address is >= ADDR
--stop-address=ADDR Only process data whose address is <= ADDR
--prefix-addresses Print complete address alongside disassembly
--[no-]show-raw-insn Display hex alongside symbolic disassembly
--adjust-vma=OFFSET Add OFFSET to all displayed section addresses
--special-syms Include special symbols in symbol dumps
mipsel-linux-objdump: supported targets: elf32-tradlittlemips elf32-tradbigmips ecoff-littlemips ecoff-bigmips elf32-ntradlittlemips elf64-tradlittlemips elf32-ntradbigmips elf64-tradbigmips elf64-little elf64-big elf32-little elf32-big srec symbolsrec tekhex binary ihex
mipsel-linux-objdump: supported architectures: mips mips:3000 mips:3900 mips:4000 mips:4010 mips:4100 mips:4111 mips:4120 mips:4300 mips:4400 mips:4600 mips:4650 mips:5000 mips:5400 mips:5500 mips:6000 mips:7000 mips:8000 mips:9000 mips:10000 mips:12000 mips:16 mips:mips5 mips:isa32 mips:isa32r2 mips:isa64 mips:isa64r2 mips:sb1
The following MIPS specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
gpr-names=ABI Print GPR names according to specified ABI.
Default: based on binary being disassembled.
fpr-names=ABI Print FPR names according to specified ABI.
Default: numeric.
cp0-names=ARCH Print CP0 register names according to specified architecture.
Default: based on binary being disassembled.
hwr-names=ARCH Print HWR names according to specified architecture.
Default: based on binary being disassembled.
reg-names=ABI Print GPR and FPR names according to specified ABI.
reg-names=ARCH Print CP0 register and HWR names according to specified architecture.
For the options above, the following values are supported for "ABI":
numeric 32 n32 64
For the options above, The following values are supported for "ARCH":
numeric r3000 r3900 r4000 r4010 vr4100 vr4111 vr4120 r4300 r4400 r4600 r4650 r5000 vr5400 vr5500 r6000 rm7000 rm9000 r8000 r10000 r12000 mips5 mips32 mips32r2 mips64 mips64r2 sb1
mipsel-linux-objdump -D test.exe
得到:
test.exe: file format elf32-tradlittlemips
Disassembly of section .init:
1fc00000 <main>:
1fc00000: 3c011fc0 lui at,0x1fc0
1fc00004: 24210020 addiu at,at,32
1fc00008: 8c220000 lw v0,0(at)
1fc0000c: 8c230004 lw v1,4(at)
1fc00010: 00000000 nop
1fc00014: 00432020 add a0,v0,v1
1fc00018: ac240008 sw a0,8(at)
1fc0001c: 00000000 nop
1fc00020 <value>:
1fc00020: 0000000a 0xa
1fc00024: 00000014 0x14
...
1fc00030: 1000001e b 1fc000ac <_gp+0x5c>
1fc00034: 00000000 nop
...
hexdump -v -e '"%06_ax\t" 1/4 "%08X" "\n" ' test.bin
得:
000000 3C011FC0
000004 24210020
000008 8C220000
00000c 8C230004
000010 00000000
000014 00432020
000018 AC240008
00001c 00000000
000020 0000000A
000024 00000014
000028 00000000
00002c 00000000
000030 1000001E
000034 00000000
000038 00000000
00003c 00000000
000040 00000000
000044 00000000
mipsel-linux-objdump -D -m mips -b binary -EL -M no-aliases test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 sll zero,zero,0x0
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 sll zero,zero,0x0
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
...
30: 1000001e beqz zero,0xac
34: 00000000 sll zero,zero,0x0
...
mipsel-linux-objdump -D -m mips -b binary -EL -M no-aliases -z test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 sll zero,zero,0x0
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 sll zero,zero,0x0
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
28: 00000000 sll zero,zero,0x0
2c: 00000000 sll zero,zero,0x0
30: 1000001e beqz zero,0xac
34: 00000000 sll zero,zero,0x0
38: 00000000 sll zero,zero,0x0
3c: 00000000 sll zero,zero,0x0
40: 00000000 sll zero,zero,0x0
44: 00000000 sll zero,zero,0x0
mipsel-linux-objdump -D -m mips -b binary -EL -z test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 nop
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 nop
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
28: 00000000 nop
2c: 00000000 nop
30: 1000001e b 0xac
34: 00000000 nop
38: 00000000 nop
3c: 00000000 nop
40: 00000000 nop
44: 00000000 nop
mipsel-linux-objdump -D -m mips -b binary -EL test.bin
test.bin: file format binary
Disassembly of section .data:
0000000000000000 <.data>:
0: 3c011fc0 lui at,0x1fc0
4: 24210020 addiu at,at,32
8: 8c220000 lw v0,0(at)
c: 8c230004 lw v1,4(at)
10: 00000000 nop
14: 00432020 add a0,v0,v1
18: ac240008 sw a0,8(at)
1c: 00000000 nop
20: 0000000a 0xa
24: 00000014 dsllv zero,zero,zero
...
30: 1000001e b 0xac
34: 00000000 nop
...
相关文章推荐
- 在Linux中编译汇编文件并生成bin二进制文件
- linux下制作二进制bin 文件制做方法
- ARM的BIN文件反汇编方法
- BIN文件反汇编方法
- 如何将一个二进制的xxx.bin文件轻松转为C语言数组
- 交叉编译生成ARM汇编和反汇编二进制文件生成ARM汇编(指定ARM架构及cpu类型)
- mips编译出的二进制文件怎么看?
- 如何将一个二进制的xxx.bin文件轻松转为C语言数组
- ARM的BIN文件反汇编方法
- linux下制作二进制bin 文件制做方法
- dex(二进制)文件反汇编——baksmali、dedexer
- ARM的BIN文件反汇编方法
- 如何将一个二进制的xxx.bin文件轻松转为C语言数组
- mysql 通过musql-bin二进制文件 生成sql
- 从ARM的汇编代码到二进制文件
- 如何利用IDA反汇编逆向bin文件
- 编程修改BIN等二进制文件
- 交叉编译生成ARM汇编和反汇编二进制文件生成ARM汇编(指定ARM架构及cpu类型)
- ARM的BIN文件反汇编方法
- 在linux中把汇编或c程序交叉编译成二进制文件烧录开发板过程详解