最小的PE文件(转)

二进制代码:

4D 5A FF FF 50 45 00 00 4C 01 01 00 75 73 65 72
33 32 2E 64 6C 6C 00 FF 40 00 0F 01 0B 01 FF FF
4D 65 73 73 61 67 65 42 6F 78 41 00 44 00 00 00
FF 15 7C 00 40 00 C3 FF 00 00 40 00 04 00 00 00
04 00 00 00 B8 20 00 40 00 EB 03 FF 04 00 6A 41
50 50 EB 20 89 00 00 00 85 00 00 00 00 00 00 00
02 00 FF 00 7C 00 00 00 0C 00 00 00 7C 00 00 00
0C 00 00 00 6A 00 EB B8 02 00 00 00 1E 00 00 00
00 00 00 00 5C

将以上内容,复制到winhex中,另存为 minipe.exe,

双击运行。

据说的代码:

                            .386p
IBase=400000h               ;基地址
Section                 SEGMENT            ;
ASSUME CS:Section
BCode:
               ;**************DOS Header*****************
DosSignature                dw 5a4dh           ;MZ 标志
                            dw 0ffffh
               ;**************PE File Header*****************
WinSignature                dd 4550h           ;PE 标志
Machine                     dw 014ch           ;Intel 80386          
NumberOfSections            dw 1               ;节段数                 
user32                      db "user32.dll",0,0ffh
 ;TimeDateStamp               dd 0               ;任意数值 
 ;PointerToSymbolTable        dd 0               ;任意数值
 ;NumberOfSymbols             dd 0               ;任意数值 
SizeOfOptionalHeader        dw OHSize          ;可选头部大小
Characteristics             dw 010fh           ;机器标志
              ;**************Optional Header*************
Magic                       dw 10bh            ;
LinkerVersion               dw 0ffffh            ;任意数值
MessafeBoxA                 db "MessageBoxA",0 
 ;SizeOfCode                  dd 0               ;任意数值
 ;SizeOfInitializedData       dd 0               ;任意数值
 ;SizeOfUninitializedData     dd 0               ;任意数值
AddressOfEntryPoint         dd start           ;初始代码地址
next3:
dw 15ffh
dd  IBase+IAT1
ret
db 0ffh
 ;BaseOfCode                  dd 0               ;任意数值
 ;BaseOfData                  dd 0               ;任意数值
ImageBase                   dd IBase           ;映象加载地址1 MB
SectionAlignment            dd 4               ;PE标志(3ch位置=从4开始)
FileAlignment               dd 4               ;
start:
mov eax,offset IBase+MessafeBoxA
jmp short next1
db 0ffh
 ;OperatingSystemVersion      dd 0ffffffffh     ;NT 4.0(l.h)
 ;ImageVersion                dd 0ffffffffh     ;任意数值
 dw 4
next1:
push 65
push eax
push eax
jmp short next2
 ;SubsystemVersion            dd 0ffff0004h     ;Win32 4.0
 ;Win32VersionValue           dd 0ffffffffh     ;任意数值
SizeOfImage                 dd endimage        ;任意数值,要求大于SizeOfHeaders
SizeOfHeaders               dd endhead         ;文件头大小
 OHSize=$-Magic
 IAT:
CheckSum                    dd 0               ;任意数值,                  OriginalFirstThunk
Subsystem                   dw 2               ;                           TimeDateStamp
DllCharacteristics          dw 0ffh            ;
SizeOfStackReserve          dd IAT1            ;任意数值,(Virtual Size),   ForwarderChain
SizeOfStackCommit           dd user32          ;任意数值,(Virtual Address),Name1 
SizeOfHeapReserve           dd IAT1            ;任意数值,(Raw Data Size),  FirstThunk
SizeOfHeapCommit            dd user32          ;任意数值,(Raw Data Offset)
next2:
 push 0
 jmp short next3 
 ;LoaderFlags               dd 0ffffffffh      ;任意数值
NumberOfRvaAndSizes         dd 2h              ;
           ;**************Image Data Directories
 IAT1:
Ide00_Export                dd MessafeBoxA-2,0 ;
Ide01_Import                db IAT-BCode       ;
endhead=$
endimage=endhead+4 
endc=$
Section                     ENDS
                            END
;:end
;del tiny.exe
;Tasm /m spe.bat
;Tlink /3 /t spe.obj,tiny.exe
;del tiny.map
;del spe.obj  

转载于:https://www.cnblogs.com/stabber/archive/2013/03/24/2978252.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值