首页
社区
课程
招聘
[原创]蠕虫专杀工具源码(VC)+蠕虫样本
2012-2-6 12:42 12024

[原创]蠕虫专杀工具源码(VC)+蠕虫样本

2012-2-6 12:42
12024
周末无聊,下个传奇外挂玩,竟然被感染蠕虫,

无奈,自己爱折腾,就自己写了个蠕虫的专杀工具,刚好趁这个机会学习下PE结构。

程序使用到的技术很普通,熟悉PE结构是前提。这里就不说PE结构了,网上很多资

料,有兴趣的可以对应我提供的源码和网上的PE结构图来看。

========================强大的分割线=================

首先,来看看这个被感染的蠕虫文件,我以自己本机上的文件做例子。

下面是我用LordPE获取被感染程序的区段头表信息:

->Section Header Table
   1. item:
    Name:                  .text
    VirtualSize:           0x0001D204
    VirtualAddress:        0x00001000
    SizeOfRawData:         0x0001E000
    PointerToRawData:      0x00001000
    PointerToRelocations:  0x00000000
    PointerToLinenumbers:  0x00000000
    NumberOfRelocations:   0x0000
    NumberOfLinenumbers:   0x0000
    Characteristics:       0x60000020
    (CODE, EXECUTE, READ)

   2. item:
    Name:                  .rdata
    VirtualSize:           0x0000717A
    VirtualAddress:        0x0001F000
    SizeOfRawData:         0x00008000
    PointerToRawData:      0x0001F000
    PointerToRelocations:  0x00000000
    PointerToLinenumbers:  0x00000000
    NumberOfRelocations:   0x0000
    NumberOfLinenumbers:   0x0000
    Characteristics:       0x40000040
    (INITIALIZED_DATA, READ)

   3. item:
    Name:                  .data
    VirtualSize:           0x000052D4
    VirtualAddress:        0x00027000
    SizeOfRawData:         0x00002000
    PointerToRawData:      0x00027000
    PointerToRelocations:  0x00000000
    PointerToLinenumbers:  0x00000000
    NumberOfRelocations:   0x0000
    NumberOfLinenumbers:   0x0000
    Characteristics:       0xC0000040
    (INITIALIZED_DATA, READ, WRITE)

   4. item:
    Name:                  .rsrc
    VirtualSize:           0x00004990
    VirtualAddress:        0x0002D000
    SizeOfRawData:         0x00005000
    PointerToRawData:      0x00029000
    PointerToRelocations:  0x00000000
    PointerToLinenumbers:  0x00000000
    NumberOfRelocations:   0x0000
    NumberOfLinenumbers:   0x0000
    Characteristics:       0x40000040
    (INITIALIZED_DATA, READ)

   5. item:
    Name:                  ..
    VirtualSize:           0x00006000
    VirtualAddress:        0x00032000
    SizeOfRawData:         0x00006000
    PointerToRawData:      0x0002E000
    PointerToRelocations:  0x00000000
    PointerToLinenumbers:  0x00000067
    NumberOfRelocations:   0x0000
    NumberOfLinenumbers:   0x0067
    Characteristics:       0xE0000020
    (CODE, EXECUTE, READ, WRITE)

被感染的程序有个很明显的特征,就是最后一个区段的名称是“..”,这样感染程序

的特征就找到了

先列出这个专杀程序的思路:

 1、打开感染程序并Map映射到内存中。

 2、对映射文件判断是否是PE文件。不是则返回。

 3、如果2条件成立,则遍历区段名称,看是否有“..”的区段名,包含“..”就是感染蠕

      虫的程序了。否则返回。

 4、最后就是修复找到是感染程序,改入口点、区段数、映像文件大小、删除蠕虫添

      加的区段头表、删除蠕虫添加的数据。

注册了很久,还是第一次在看雪上发表,请各位多多指教。

附上源码+样本

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞5
打赏
分享
最新回复 (10)
雪    币: 1149
活跃值: (783)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
ycmint 5 2012-2-6 13:09
2
0
顶顶  呵呵....
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
雪yaojun 2012-2-6 13:14
3
0
顶顶顶。。。。。
雪    币: 107
活跃值: (311)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Fido 2012-2-6 13:37
4
0
支持一下...呵呵呵....
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yipilang 2012-3-10 20:38
5
0
不错,简单的思路,扎实的功夫...
雪    币: 213
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
appben 2012-9-21 02:55
6
0
这手功夫不错啊!经典!
雪    币: 297
活跃值: (120)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
淡定疯着 2012-9-21 07:02
7
0
顶一下,支持原创
雪    币: 134
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wrgg 2012-11-22 23:34
8
0
支持源码 顶楼主
雪    币: 190
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
kxzjchen 2012-11-22 23:39
9
0
你的头像妹子好漂亮
关注好久了
雪    币: 190
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
kxzjchen 2012-11-22 23:41
10
0
酱油男你也在。。。

楼主不错,收藏了,改天再细看
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cjteam 2013-5-1 20:55
11
0
今天才看到,beijubeiju悲剧
游客
登录 | 注册 方可回帖
返回