首页
社区
课程
招聘
[原创]极小的恶作剧程序(188字节)--PE学习
发表于: 2010-9-1 07:02 13298

[原创]极小的恶作剧程序(188字节)--PE学习

2010-9-1 07:02
13298

发个刚整的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

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


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (16)
雪    币: 181
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错的东西,收藏了
2010-9-1 09:44
0
雪    币: 563
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
收下了!
2010-9-6 11:47
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还不如直接写bat
2010-9-6 12:16
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
5
http://www.phreedom.org/solar/code/tinype/tiny.97
2010-9-6 15:04
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不错 学习啦
楼主分享的好
2010-9-6 15:09
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
关键是把PE的DOS+PE头搞的很清楚啊
2010-9-7 03:21
0
雪    币: 132
活跃值: (142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你真的是牛人
2010-9-7 07:55
0
雪    币: 166
活跃值: (392)
能力值: ( LV13,RANK:357 )
在线值:
发帖
回帖
粉丝
9
不导入函数确实还能小很多。。。。不过不导入函数,我还真不知道写什么功能了。
2010-9-8 01:23
0
雪    币: 478
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
2010-9-8 09:15
0
雪    币: 229
活跃值: (508)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
11
堆栈回溯,自己搜索kernel32.dll中的相关函数就行了,有了LoadLibrary后 任何函数都可以调了..
2010-9-8 09:16
0
雪    币: 166
活跃值: (392)
能力值: ( LV13,RANK:357 )
在线值:
发帖
回帖
粉丝
12
方法不错,不知道回溯到什么程度,回头看看。

多谢指定
以前想过利用堆栈,来检测是否被调试,不过没整出切实方法。
2010-9-8 19:05
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习了!
LZ厉害。
2010-9-9 05:46
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
搞什么嘛
什么都最小化了
根本就没机会 运行 关闭小小恶作剧.bat
2011-6-14 12:24
0
雪    币: 166
活跃值: (392)
能力值: ( LV13,RANK:357 )
在线值:
发帖
回帖
粉丝
15
让你放桌面再试的,不看说明的惩罚
2011-7-7 19:02
0
雪    币: 261
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
嗯哼,确实不错,努力
2011-7-8 08:50
0
雪    币: 305
活跃值: (36)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
17

精简至极!
2011-7-8 09:20
0
游客
登录 | 注册 方可回帖
返回
//