-
-
[原创]蠕虫专杀工具源码(VC)+蠕虫样本
-
发表于:
2012-2-6 12:42
12619
-
周末无聊,下个传奇外挂玩,竟然被感染蠕虫,
无奈,自己爱折腾,就自己写了个蠕虫的专杀工具,刚好趁这个机会学习下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、最后就是修复找到是感染程序,改入口点、区段数、映像文件大小、删除蠕虫添
加的区段头表、删除蠕虫添加的数据。
注册了很久,还是第一次在看雪上发表,请各位多多指教。
附上源码+样本
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!