首页
社区
课程
招聘
[求助]请问哪位大侠指点一下我这个dumppe -disasm命令的结果?看不懂
发表于: 2009-2-16 04:30 3116

[求助]请问哪位大侠指点一下我这个dumppe -disasm命令的结果?看不懂

2009-2-16 04:30
3116
【求助】请问哪位大侠指点一下我这个dumppe -disasm命令的结果?看不懂,有几个问题请教:
“disassembly”前面的那些信息,能不能给点关键的注释?
“disassembly”后面,那几个push 4,push    403000h, push    403005h,push    0是啥意思?
fn_00401020, fn_0040101A应该是反汇编的时候自动加上去的吧?这个有什么规律吗?
jmp     dword ptr [ExitProcess],jmp     dword ptr [MessageBoxA]这两个,是不是windows里面的api函数都可以这样写?

F:\masm32\bin>dumppe -disasm a2.exe

DumpPE v1.23 (c) Copyright Tenth Planet Software Intl., C Turvey 1995-1999.
                           All rights reserved. Non-Commercial use only.

a2.exe                             (hex)           (dec)

.EXE size (bytes)                    490            1168
Minimum load size (bytes)            450            1104
Overlay number                         0               0
Initial CS:IP                  0000:0000
Initial SS:SP                  0000:00B8             184
Minimum allocation (para)              0               0
Maximum allocation (para)           FFFF           65535
Header size (para)                     4               4
Relocation table offset               40              64
Relocation entries                     0               0

Portable Executable starts at                 b0
Signature                               00004550 (PE)
Machine                                     014C (Intel 386)
Sections                                    0003
Time Date Stamp                         49987144 Sun Feb 15 14:47:16 2009
Symbol Table                            00000000
Number of Symbols                       00000000
Optional header size                        00E0
Characteristics                             010F
        Relocation information stripped
        Executable Image
        Line numbers stripped
        Local symbols stripped
        32 bit word machine
Magic                                       010B
Linker Version                              5.12
Size of Code                            00000200
Size of Initialized Data                00000400
Size of Uninitialized Data              00000000
Address of Entry Point                  00001000
Base of Code                            00001000
Base of Data                            00002000
Image Base                              00400000
Section Alignment                       00001000
File Alignment                          00000200
Operating System Version                    4.00
Image Version                               0.00
Subsystem Version                           4.00
reserved                                00000000
Image Size                              00004000
Header Size                             00000400
Checksum                                00000000
Subsystem                                   0002 (Windows)
DLL Characteristics                         0000
Size Of Stack Reserve                   00100000
Size Of Stack Commit                    00001000
Size Of Heap Reserve                    00100000
Size Of Heap Commit                     00001000
Loader Flags                            00000000
Number of Directories                   00000010

Directory Name                          VirtAddr  VirtSize
--------------------------------------  --------  --------
Export                                  00000000  00000000
Import                                  00002010  0000003C
Resource                                00000000  00000000
Exception                               00000000  00000000
Security                                00000000  00000000
Base Relocation                         00000000  00000000
Debug                                   00000000  00000000
Decription/Architecture                 00000000  00000000
Machine Value (MIPS GP)                 00000000  00000000
Thread Storage                          00000000  00000000
Load Configuration                      00000000  00000000
Bound Import                            00000000  00000000
Import Address Table                    00002000  00000010
Delay Import                            00000000  00000000
COM Runtime Descriptor                  00000000  00000000
(reserved)                              00000000  00000000

Section Table
-------------
01  .text       Virtual Address         00001000
                Virtual Size            00000026
                Raw Data Offset         00000400
                Raw Data Size           00000200
                Relocation Offset       00000000
                Relocation Count        0000
                Line Number Offset      00000000
                Line Number Count       0000
                Characteristics         60000020
                        Code
                        Executable
                        Readable

02  .rdata      Virtual Address         00002000
                Virtual Size            00000092
                Raw Data Offset         00000600
                Raw Data Size           00000200
                Relocation Offset       00000000
                Relocation Count        0000
                Line Number Offset      00000000
                Line Number Count       0000
                Characteristics         40000040
                        Initialized Data
                        Readable

03  .data       Virtual Address         00003000
                Virtual Size            00000016
                Raw Data Offset         00000800
                Raw Data Size           00000200
                Relocation Offset       00000000
                Relocation Count        0000
                Line Number Offset      00000000
                Line Number Count       0000
                Characteristics         C0000040
                        Initialized Data
                        Readable
                        Writeable

Imp Addr Hint Import Name from kernel32.dll - Not Bound
-------- ---- ---------------------------------------------------------------
00002000   80 ExitProcess

Imp Addr Hint Import Name from user32.dll - Not Bound
-------- ---- ---------------------------------------------------------------
00002008  19D MessageBoxA

IAT Entry

00000000: 0000205C 00000000 - 00002078 00000000

Disassembly

00401000                    start:
00401000 6A04                   push    4
00401002 6800304000             push    403000h
00401007 6805304000             push    403005h
0040100C 6A00                   push    0
0040100E E80D000000             call    fn_00401020
00401013 6A00                   push    0
00401015 E800000000             call    fn_0040101A
0040101A                    fn_0040101A:
0040101A FF2500204000           jmp     dword ptr [ExitProcess]
00401020                    fn_00401020:
00401020 FF2508204000           jmp     dword ptr [MessageBoxA]

附源代码:
  .386   
  .model   flat,stdcall   
  option   casemap:none   
  include   windows.inc   
  include   kernel32.inc   
  include   user32.inc   
  include   comctl32.inc   
  include   gdi32.inc   
  include   comdlg32.inc   
   
  includelib   kernel32.lib   
  includelib   user32.lib   
  includelib   gdi32.lib   
  includelib   comctl32.lib   
  includelib   comdlg32.lib   
  .data   
  MessageBoxCap   db   "test",0   
  ;MessageBoxBody   db   "伟大的test",0   
  MessageBoxBody   db   'Hello, world',0dh,0ah,'lee'
   
  .code   
  start:   
  invoke   MessageBox,NULL,addr   MessageBoxBody,   addr   MessageBoxCap,MB_YESNO   
  invoke   ExitProcess,NULL   
  end   start

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
对照PE文件格式手册来看就行了。

可以对比用Stud_PE等工具中的结果,看看不同工具的显示结果各有什么特点。
2009-2-16 21:55
0
游客
登录 | 注册 方可回帖
返回
//