MS-DOS头信息 | IMAGE_DOS_ HEADER |
DOS EXE Signature |
00000000 ASCII "MZ"
00000002 DW 0090
00000004 DW 0003
00000006 DW 0000
00000008 DW 0004
0000000A DW 0000
0000000C DW FFFF
0000000E DW 0000
00000010 DW 00B8
00000012 DW 0000
00000014 DW 0000
00000016 DW 0000
00000018 DW 0040
0000001A DW 0000
0000001C DB 00
…
…
0000003B DB 00
0000003C DD 000000F0
|
DOS_PartPag | |||
DOS_PageCnt | |||
DOS_ReloCnt | |||
DOS_HdrSize | |||
DOS_MinMem | |||
DOS_MaxMem | |||
DOS_ReloSS | |||
DOS_ExeSP | |||
DOS_ChkSum | |||
DOS_ExeIPP | |||
DOS_ReloCS | |||
DOS_TablOff | |||
DOS_Overlay | |||
… Reserved words … |
|||
Offset to PE signature | |||
MS-DOS Stub 程序 |
00000040
º .´.Í!¸/LÍ!This program canno
00000060 t be run in DOS mode....$.......
|
||
Windows NT信息
IMAGE_
NT_HEADERS |
Signature | PE signature (PE) | 000000F0 ASCII "PE" |
IMAGE_ FILE_HEADER |
Machine |
000000F4 DW 014C
000000F6 DW 0003
000000F8 DD 3B7D8410
000000FC DD 00000000
00000100 DD 00000000
00000104 DW 00E0
00000106 DW 010F
|
|
NumberOfSections | |||
TimeDateStamp | |||
PointerToSymbolTable | |||
NumberOfSymbols | |||
SizeOfOptionalHeader | |||
Characteristics | |||
IMAGE_ OPTIONAL_ HEADER32 |
MagicNumber |
00000108 DW 010B
0000010A DB 07
0000010B DB 00
0000010C DD 00012800
00000110 DD 00009C00
00000114 DD 00000000
00000118 DD 00012475
0000011C DD 00001000
00000120 DD 00014000
00000124 DD 01000000
00000128 DD 00001000
0000012C DD 00000200
00000130 DW 0005
00000132 DW 0001
00000134 DW 0005
00000136 DW 0001
00000138 DW 0004
0000013A DW 0000
0000013C DD 00000000
00000140 DD 0001F000
00000144 DD 00000400
00000148 DD 0001D7FC
0000014C DW 0002
0000014E DW 8000
00000150 DD 00040000
00000154 DD 00001000
00000158 DD 00100000
0000015C DD 00001000
00000160 DD 00000000
00000164 DD 00000010
|
|
MajorLinkerVersion | |||
MinorLinkerVersion | |||
SizeOfCode | |||
SizeOfInitializedData | |||
SizeOfUninitializedData | |||
AddressOfEntryPoint | |||
BaseOfCode | |||
BaseOfData | |||
ImageBase | |||
SectionAlignment | |||
FileAlignment | |||
MajorOSVersion | |||
MinorOSVersion | |||
MajorImageVersion | |||
MinorImageVersion | |||
MajorSubsystemVersion | |||
MinorSubsystemVersion | |||
Reserved | |||
SizeOfImage | |||
SizeOfHeaders | |||
CheckSum | |||
Subsystem | |||
DLLCharacteristics | |||
SizeOfStackReserve | |||
SizeOfStackCommit | |||
SizeOfHeapReserve | |||
SizeOfHeapCommit | |||
LoaderFlags | |||
NumberOfRvaAndSizes | |||
IMAGE_ DATA_DIRECTORY[16] |
Export Table | ||
Import Table | |||
Resource Table | |||
Exception Table | |||
Certificate File | |||
Relocation Table | |||
Debug Data | |||
Architecture Data | |||
Global Ptr | |||
TLS Table | |||
Load Config Table | |||
Bound Import Table | |||
Import Address Table | |||
Delay Import Descriptor | |||
COM+ Runtime Header | |||
Reserved | |||
节信息
|
IMAGE_ SECTION_ HEADER[0] |
Name[8] |
000001E8 ASCII".text"
000001F0 DD 000126B0
000001F4 DD 00001000
000001F8 DD 00012800
000001FC DD 00000400
00000200 DD 00000000
00000204 DD 00000000
00000208 DW 0000
0000020A DW 0000
0000020C DD 60000020
CODE|EXECUTE|READ
|
VirtualSize | |||
VirtualAddress | |||
SizeOfRawData | |||
PointerToRawData | |||
PointerToRelocations | |||
PointerToLineNumbers | |||
NumberOfRelocations | |||
NumberOfLineNumbers | |||
Characteristics | |||
… … … IMAGE_ SECTION_ HEADER[n] |
00000210 ASCII".data"; SECTION
00000218 DD 0000101C ; VirtualSize = 0x101C
0000021C DD 00014000 ; VirtualAddress = 0x14000
00000220 DD 00000A00 ; SizeOfRawData = 0xA00
00000224 DD 00012C00 ; PointerToRawData = 0x12C00
00000228 DD 00000000 ; PointerToRelocations = 0x0
0000022C DD 00000000 ; PointerToLineNumbers = 0x0
00000230 DW 0000 ; NumberOfRelocations = 0x0
00000232 DW 0000 ; NumberOfLineNumbers = 0x0
00000234 DD C0000040 ; Characteristics =
INITIALIZED_DATA|READ|WRITE
00000238 ASCII".rsrc"; SECTION
00000240 DD 00008960 ; VirtualSize = 0x8960
00000244 DD 00016000 ; VirtualAddress = 0x16000
00000248 DD 00008A00 ; SizeOfRawData = 0x8A00
0000024C DD 00013600 ; PointerToRawData = 0x13600
00000250 DD 00000000 ; PointerToRelocations = 0x0
00000254 DD 00000000 ; PointerToLineNumbers = 0x0
00000258 DW 0000 ; NumberOfRelocations = 0x0
0000025A DW 0000 ; NumberOfLineNumbers = 0x0
0000025C DD 40000040 ; Characteristics =
INITIALIZED_DATA|READ
|
||
SECTION[0] |
00000400 EA 22 DD 77 D7 23 DD 77 ê"Ýw×#Ýw
00000408 9A 18 DD 77 00 00 00 00 šÝw....
00000410 2E 1E C7 77 83 1D C7 77 .‑ÇwƒÇw
00000418 FF 1E C7 77 00 00 00 00 ÿ‑Çw....
00000420 93 9F E7 77 D8 05 E8 77 “ŸçwØèw
00000428 FD A5 E7 77 AD A9 E9 77 ý¥çw©éw
00000430 A3 36 E7 77 03 38 E7 77 £6çw 8çw
00000438 41 E3 E6 77 60 8D E7 77 Aãæw`çw
00000440 E6 1B E6 77 2B 2A E7 77 ææw+*çw
00000448 7A 17 E6 77 79 C8 E6 77 zæwyÈæw
00000450 14 1B E7 77 C1 30 E7 77 çwÁ0çw
…
|
||
… … … SECTION[n] |
…
0001BF00 63 00 2E 00 63 00 68 00 c...c.h.
0001BF08 6D 00 0A 00 43 00 61 00 m...C.a.
0001BF10 6C 00 63 00 75 00 6C 00 l.c.u.l.
0001BF18 61 00 74 00 6F 00 72 00 a.t.o.r.
0001BF20 11 00 4E 00 6F 00 74 00 .N.o.t.
0001BF28 20 00 45 00 6E 00 6F 00 .E.n.o.
0001BF30 75 00 67 00 68 00 20 00 u.g.h. .
0001BF38 4D 00 65 00 6D 00 6F 00 M.e.m.o.
0001BF40 72 00 79 00 00 00 00 00 r.y.....
0001BF48 00 00 00 00 00 00 00 00 ........
0001BF50 00 00 00 00 00 00 00 00 ........
0001BF58 00 00 00 00 00 00 00 00 ........
0001BF60 00 00 00 00 00 00 00 00 ........
0001BF68 00 00 00 00 00 00 00 00 ........
0001BF70 00 00 00 00 00 00 00 00 ........
0001BF78 00 00 00 00 00 00 00 00 ........
|
".text"
|
代码节
|
"CODE"
|
通过
Borland Delphi
或
Borland Pascal
链接的代码节
|
".data"
|
数据节
|
"DATA"
|
通过
Borland Delphi
或
Borland Pascal
链接的数据节
|
".rdata"
|
常量节
|
".idata"
|
导入表
|
".edata"
|
导出表
|
".tls"
|
TLS
表
|
".reloc"
|
重定位信息
|
".rsrc"
|
资源信息
|
EAX=00000000
EBX=7FFDD000
ECX=0007FFB0 EDX=7C90EB94
ESI=FFFFFFFF EDI=7C919738 EBP=0007FFF0 ESP=0007FFC4 EIP=010119E0 o d i s z a p c CS=0008 DS=0023 SS=0010 ES=0023 FS=0030 GS=0000 SS:0007FFC4=87C816D4F |
0023:01013000 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 0023:01013010 01 00 00 00 20 00 00 00-0A 00 00 00 0A 00 00 00 ................ 0023:01013020 20 00 00 00 00 00 00 00-53 63 69 43 61 6C 63 00 ........SciCalc. 0023:01013030 00 00 00 00 00 00 00 00-62 61 63 6B 67 72 6F 75 ........backgrou 0023:01013040 6E 64 00 00 00 00 00 00-2E 00 00 00 00 00 00 00 nd.............. |
0010:0007FFC4 4F 6D 81 7C 38 07 91 7C-FF FF FF FF 00 90 FD 7F Om |8 ‘| . 0010:0007FFD4 ED A6 54 80 C8 FF 07 00-E8 B4 F5 81 FF FF FF FF T . 0010:0007FFE4 F3 99 83 7C 58 6D 81 7C-00 00 00 00 00 00 00 00 Xm |........ 0010:0007FFF4 00 00 00 00 E0 19 01 01-00 00 00 00 00 00 00 00 .... .... |
010119E0 PUSH EBP
010119E1 MOV EBP,ESP 010119E3 PUSH -1 010119E5 PUSH 01001570 010119EA PUSH 01011D60 010119EF MOV EAX,DWORD PTR FS:[0] 010119F5 PUSH EAX 010119F6 MOV DWORD PTR FS:[0],ESP 010119FD ADD ESP,-68 01011A00 PUSH EBX 01011A01 PUSH ESI 01011A02 PUSH EDI 01011A03 MOV DWORD PTR SS:[EBP-18],ESP 01011A06 MOV DWORD PTR SS:[EBP-4],0 |
EAX
|
ECX
|
EDX
|
EBX
|
ESP
|
EBP
|
ESI
|
EDI
|
EIP
|
o d t s z a p c
|
010119E0 PUSH EBP
010119E1 MOV EBP,ESP
010119E3 PUSH -1
010119E5 PUSH 01001570
010119EA PUSH 01011D60
010119EF MOV EAX,DWORD PTR FS:[0]
010119F5 PUSH EAX
010119F6 MOV DWORD PTR FS:[0],ESP
010119FD ADD ESP,-68
01011A00 PUSH EBX
01011A01 PUSH ESI
01011A02 PUSH EDI
01011A03 MOV DWORD PTR SS:[EBP-18],ESP
01011A06 MOV DWORD PTR SS:[EBP-4],0
|
0023:01013000 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 0023:01013010 01 00 00 00 20 00 00 00-0A 00 00 00 0A 00 00 00 ................ 0023:01013020 20 00 00 00 00 00 00 00-53 63 69 43 61 6C 63 00 ........SciCalc. 0023:01013030 00 00 00 00 00 00 00 00-62 61 63 6B 67 72 6F 75 ........backgrou 0023:01013040 6E 64 00 00 00 00 00 00-2E 00 00 00 00 00 00 00 nd.............. |
0010:0007FFC4 4F 6D 81 7C 38 07 91 7C-FF FF FF FF 00 90 FD 7F Om |8 ‘| . 0010:0007FFD4 ED A6 54 80 C8 FF 07 00-E8 B4 F5 81 FF FF FF FF T . 0010:0007FFE4 F3 99 83 7C 58 6D 81 7C-00 00 00 00 00 00 00 00 Xm |........ 0010:0007FFF4 00 00 00 00 E0 19 01 01-00 00 00 00 00 00 00 00 .... .... |
Command
|
SoftICE
|
OllyDbg
|
Run
|
F5
|
F9
|
Step Into
|
F11
|
F7
|
Step Over
|
F10
|
F8
|
Set Break Point
|
F8
|
F2
|
00000000
00000002
00000004
00000006
00000008
0000000A
0000000C
0000000E
00000010
00000012
00000014
00000016
00000018
0000001A
0000001C
0000001D
0000001E
0000001F
00000020
00000021
00000022
00000023
00000024
00000025
00000026
00000027
00000028
00000029
0000002A
0000002B
0000002C
0000002D
0000002E
0000002F
00000030
00000031
00000032
00000033
00000034
00000035
00000036
00000037
00000038
00000039
0000003A
0000003B
0000003C
|
4D 5A
9000
0300
0000
0400
0000
FFFF
0000
B800
0000
0000
0000
4000
0000
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
F0000000
|
ASCII "MZ"
DW 0090
DW 0003
DW 0000
DW 0004
DW 0000
DW FFFF
DW 0000
DW 00B8
DW 0000
DW 0000
DW 0000
DW 0040
DW 0000
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DB 00
DD 000000F0
|
DOS EXE Signature
DOS_PartPag = 90 (144.)
DOS_PageCnt = 3
DOS_ReloCnt = 0
DOS_HdrSize = 4
DOS_MinMem = 0
DOS_MaxMem = FFFF (65535.)
DOS_ReloSS = 0
DOS_ExeSP = B8
DOS_ChkSum = 0
DOS_ExeIP = 0
DOS_ReloCS = 0
DOS_TablOff = 40
DOS_Overlay = 0
Offset to PE signature
|
DWORD PTR FS:[00h]
|
ExceptionList
|
DWORD PTR FS:[04h]
|
StackBase
|
DWORD PTR FS:[08h]
|
StackLimit
|
DWORD PTR FS:[0Ch]
|
SubSystemTib
|
DWORD PTR FS:[10h]
|
FiberData / Version
|
DWORD PTR FS:[14h]
|
ArbitraryUserPointer
|
DWORD PTR FS:[18h]
|
Self
|
Context Flags
|
0x00000000
|
ContextFlags
|
|
Context Debug Registers
|
0x00000004
|
Dr0
|
|
0x00000008
|
Dr1
|
||
0x0000000C
|
Dr2
|
||
0x00000010
|
Dr3
|
||
0x00000014
|
Dr6
|
||
0x00000018
|
Dr7
|
||
Context Floating Point
|
0x0000001C
|
FloatSave
|
StatusWord
|
0x00000020
|
StatusWord
|
||
0x00000024
|
TagWord
|
||
0x00000028
|
ErrorOffset
|
||
0x0000002C
|
ErrorSelector
|
||
0x00000030
|
DataOffset
|
||
0x00000034
|
DataSelector
|
||
0x00000038
... 0x00000087 |
RegisterArea [0x50]
|
||
0x00000088
|
Cr0NpxState
|
||
Context Segments
|
0x0000008C
|
SegGs
|
|
0x00000090
|
SegFs
|
||
0x00000094
|
SegEs
|
||
0x00000098
|
SegDs
|
||
Context Integer
|
0x0000009C
|
Edi
|
|
0x000000A0
|
Esi
|
||
0x000000A4
|
Ebx
|
||
0x000000A8
|
Edx
|
||
0x000000AC
|
Ecx
|
||
0x000000B0
|
Eax
|
||
Context Control
|
0x000000B4
|
Ebp
|
|
0x000000B8
|
Eip
|
||
0x000000BC
|
SegCs
|
||
0x000000C0
|
EFlags
|
||
0x000000C4
|
Esp
|
||
0x000000C8
|
SegSs
|
||
Context Extended Registers
|
0x000000CC
... 0x000002CB |
ExtendedRegisters[0x200]
|
IMAGE_IMPORT_ DESCRIPTOR[0] |
OriginalFirstThunk
|
|
|
||
TimeDateStamp
|
|||||
ForwarderChain
|
|||||
Name_RVA
|
------>
|
"kernel32.dll",0
|
|||
FirstThunk_RVA
|
------>
|
proc_1_name_RVA
|
------>
|
0,0,"LoadLibraryA",0
|
|
|
proc_2_name_RVA
|
------>
|
0,0,"GetProcAddress",0
|
||
proc_3_name_RVA
|
------>
|
0,0,"GetModuleHandleA",0
|
|||
...
|
|
|
|||
IMAGE_IMPORT_ DESCRIPTOR[1] |
|
||||
...
|
|
||||
IMAGE_IMPORT_ DESCRIPTOR[n] |
|
IMAGE_IMPORT_DESCRIPTOR[0]
|
OriginalFirstThunk
|
|
|
TimeDateStamp
|
|||
ForwarderChain
|
|||
Name_RVA
|
------>
|
"kernel32.dll",0
|
|
FirstThunk_RVA
|
------>
|
proc_1_VA
|
|
|
proc_2_VA
|
||
proc_3_VA
|
|||
...
|
|||
IMAGE_IMPORT_DESCRIPTOR[1]
|
|
||
...
|
|
||
IMAGE_IMPORT_DESCRIPTOR[n]
|
|
Block[1]
|
VirtualAddress
|
|||
SizeOfBlock
|
||||
type:4
|
offset:12
|
type:4
|
offset:12
|
|
type:4
|
offset:12
|
type:4
|
offset:12
|
|
type:4
|
offset:12
|
type:4
|
offset:12
|
|
...
|
...
|
...
|
...
|
|
type:4
|
offset:12
|
00
|
00
|
|
Block[2]
|
VirtualAddress
|
|||
SizeOfBlock
|
||||
type:4
|
offset:12
|
type:4
|
offset:12
|
|
type:4
|
offset:12
|
type:4
|
offset:12
|
|
type:4
|
offset:12
|
type:4
|
offset:12
|
|
...
|
...
|
...
|
...
|
|
type:4
|
offset:12
|
00
|
00
|
|
...
|
...
|
|||
Block[n]
|
VirtualAddress
|
|||
SizeOfBlock
|
||||
type:4
|
offset:12
|
type:4
|
offset:12
|
|
type:4
|
offset:12
|
type:4
|
offset:12
|
|
type:4
|
offset:12
|
type:4
|
offset:12
|
|
...
|
...
|
...
|
...
|
|
type:4
|
offset:12
|
00
|
00
|
类型 | 偏移量 | ||
03 | 00 | 00 | 00 |