发个刚整的PE文件,看过以前有个253字节的程序,弹出个提示框,看过后,发现缩小的空间还很大,自己重新编个更小的,188字节

     大小估计缩小的幅度不大了, 区段全部压缩到DOS+PE头中了
不过功能还可以添加很多,还有很大的地方可以填写自己的代码...

提示: 1  把关闭.bat放到桌面再试验
      2  XP下可执行
---------------------------------------------------------------------------
00000000  4D 5A 00 00 50 45 00 00 4C 01 01 00 55 53 45 52
          ↑          ↑          ↑    ↑    ↑
          "MZ"        "PE\0\0"    平台 区块数  导入dll名称
00000010  33 32 2E 44 4C 4C 00 00 78 00 0F 01 0B 01 FF 15
                                 ↑     ↑          ↑
                       OPTIONAL 大小,文件属性       ↑
                                                  [自己的程序代码...
                                                    ↑
00000020  90 00 40 00 50 B9 94 00 40 00 EB 44 1E 00 00 00
          ...............................  ]  ↑
                                            程序入口点           
00000030  20 F0 00 00 12 01 00 00 00 00 40 00 04 00 00 00
                                  ↑          ↑
                                装入内存地址  指向PE头偏移(DOS头结构)
00000040  04 00 00 00 0C 00 00 00 AC 00 00 00 04 00 00 00
          ↑         [......................]
       最低版本:4                      
00000050  00 4C 6F 6F 6B 68 63 00 BC 00 00 00 12 01 00 00
             {...............}    ↑          {自由部分}
                                  DOS,PE头总和  
00000060  02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                                           ↑          ↑
          ↑                               <1F         <1F
          视图模式   {.....这是段堆栈设置区域 ........}

00000070  FF 15 94 00 40 00 EB A6 02 00 00 00 00 00 00 00
          [.........代码........] ↑          ↑
                              数据目录表数  输出表地址(由于大小=0所以不加载)
                                            输入表指向地址(共用地址)
00000080  70 F1 00 00 7C 00 00 00 0C 00 00 00 90 00 00 00
          ↑          ↑          ↑          ↑
      输出表地址大小  输入表地址  大小        输入表导入数组地址
00000090  18 01 00 80 45 00 00 80 00 00 00 00 BC 00 00 00
          ↑          ↑          ↑          ↑
   导入表:  按符号导入 存在2个导入函数  必须为0(1:因为dll的导入函数结束标志/ 2:导入dll结束标志)      
   导入了GetForegroundWindow和closewindow 两个函数
                    .text区块起始(名字被换了)   
                                   虚拟地址   虚拟偏移
000000A0  00 00 00 00 BC 00 00 00 00 00 00 00 00 00 00 00
         物理地址    物理偏移
000000B0  00 00 00 00 00 00 00 00 20 00 00 F0
         必须为0                   块属性

自己代码,结构示意
addr:
call  GetForegroundWindow 
push eax
call  closewindow
jmp addr

;上面标记"...."的部分可以自己改的
;其实剩余的"...."可以很丰富,还有不少空间可以再继续写入执行代码的.

上传的附件 小小恶作剧188字节.rar