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

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

2012-2-6 12:42
12620

周末无聊,下个传奇外挂玩,竟然被感染蠕虫,

无奈,自己爱折腾,就自己写了个蠕虫的专杀工具,刚好趁这个机会学习下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、最后就是修复找到是感染程序,改入口点、区段数、映像文件大小、删除蠕虫添

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

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

附上源码+样本


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

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

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