查看: 2988|回复: 17
收起左侧

[分享] 关于NPE无法检测到后缀改为.com后的病毒的官方解释

[复制链接]
绿茵守望者
发表于 2011-6-4 16:27:16 | 显示全部楼层 |阅读模式
NPE工具是一款独立的运行程序,在运行扫描时只会对可移植可执行文件进行扫描。因为.com文件并不是可移植可执行文件所以NPE在扫描时会忽略该文件。
hb1990521
发表于 2011-6-4 16:39:28 | 显示全部楼层
可移植具体什么含义
绿茵守望者
 楼主| 发表于 2011-6-4 16:42:40 | 显示全部楼层
hb1990521 发表于 2011-6-4 16:39
可移植具体什么含义

这个真不懂,坐等高手。
Johnkay.Young
发表于 2011-6-4 16:44:14 | 显示全部楼层
这个确实还不知道,看看行家的解释。
linjiazhen
发表于 2011-6-4 16:56:27 | 显示全部楼层
1基本概念

本文档详细说明了Microsoft® Windows®操作系统家族下的可执行文件(映像)和目标文件的结构。这些文件分别被称为可移植可执行(PE)文件和通用目标文件格式(COFF)文件。“可移植可执行”这个名称道出了这种格式与平台体系结构无关的事实。
下表描述了贯穿于本规范中的一些概念:
名称
描述
属性证书
用来将可校验的声明与映像关联起来的证书。有许多不同的可校验声明可以与文件关联,最常用的一种就是软件制造商用来指明映像的消息摘要是什么的声明。消息摘要与校验和类似,但想要伪造它却极其困难。因此对一个文件进行修改并保持它的消息摘要与原始文件一致是非常困难的。正如制造商所做的那样,可以使用公钥或私钥加密机制来校验声明。本文档除了描述允许将它们插入到映像文件中外还描述了有关属性证书的详细信息。
日期/时间戳
由于不同目的而用于PE或COFF文件中好几个地方的戳。戳的格式与C运行时库时间函数所使用的戳的格式相同。
文件指针
某项内容在文件被链接器处理前(如果是目标文件文件)或者被加载器处理前(如果是映像文件)在文件自身中的位置。换句话说,这是一个位于存储在磁盘上的文件中的位置。
链接器
指的是随Microsoft Visual Studio®提供的链接器。
映像文件
可执行文件:或者是.EXE文件,或者是DLL。映像文件可以被认为是“内存映像”。术语“映像文件”经常用来代替“可执行文件”,因为后者有时仅用来指代.EXE文件。
目标文件
作为链接器的输入的文件。链接器生成一个映像文件,而这个映像文件又作为加载器的输入。
保留,必须为0
对一个域的这种描述表明,对于生成这个域的程序来说必须将这个域设置为0,对于使用这个域的程序来说必须忽略它的值。
RVA
相对虚拟地址。对于映像文件来说,它是某项内容被加载进内存后的地址减去映像文件的基地址。某项内容的RVA几乎总是与它在磁盘上的文件中的位置(文件指针)不同。
对于目标文件来说,RVA并没有什么意义,因为内存位置尚未分配。在这种情况下,RVA是一个节(后面将要描述)中的地址,这个地址在以后链接时要被重定位。为了简单起见,编译器应该将每个节的首个RVA设置为0。

节是PE或COFF文件中代码或数据的基本单元。例如一个目标文件中所有代码可以被组合成单个节,或者(依赖于编译器的行为)每个函数独占一个节。增加节的数目会增加文件开销,但是链接器在链接代码时有更大的选择余地。节与Intel 8086体系结构中的段非常相似。一个节中的所有原始数据必须被加载到连续的内存中。另外,映像文件可能包含一些具有特殊用途的节,例如.tls节或.reloc节。
VA
虚拟地址。除了不减去映像文件的基地址外,与RVA相同。这个地址之所以被叫做“虚拟地址”是因为Windows为每个进程创建一个私有的虚拟地址空间,它独立于物理内存。无论出于何种目的,VA都只应该被认为是一个地址。VA并不能像RVA那样能够预先得到,因为加载器可能不把映像加载到它的首选位置上。
2概览

图1 解释了Microsoft PE可执行文件格式:
MS-DOS 2.0 兼容
EXE 文件头

映像头基地址
未使用


OEM 标识
OEM 信息

PE文件头偏移



MS‑DOS 2.0节
(仅用于MS ‑DOS兼容)
MS‑DOS 2.0占位程序

重定位表


未使用


PE 文件头
(按8字节边界对齐)



节头





映像页:
导入信息
导出信息
基址重定位信息
资源信息



图 1.典型的可移植EXE文件布局

图2 解释了Microsoft COFF目标模块格式:
Microsoft COFF文件头




节头





原始数据:
代码
数据
调试信息
重定位信息



图 2. 典型的COFF目标模块布局


详细:http://blog.csdn.net/diamont/archive/2009/06/23/4291131.aspx
绿茵守望者
 楼主| 发表于 2011-6-4 16:57:37 | 显示全部楼层
linjiazhen 发表于 2011-6-4 16:56
1基本概念

本文档详细说明了Microsoft® Windows®操作系统家族下的可执行文件(映像)和目标文 ...

没看懂,太深奥了
剑步如飞
发表于 2011-6-4 17:02:01 | 显示全部楼层
有些深奥啊~
symantec001
发表于 2011-6-4 17:10:25 | 显示全部楼层
灰常难理解
beiluoshimen
发表于 2011-6-4 17:27:53 | 显示全部楼层
来看看学习下。反正我不用神器
linjiazhen
发表于 2011-6-4 17:42:40 | 显示全部楼层
绿茵守望者 发表于 2011-6-4 16:57
没看懂,太深奥了

com文件与exe文件的区别在于载入的优先与否。两者程序段前缀--PSP是DOS加载一个外部命令或用户程序(扩展名为COM or EXE)时,在程序段前设置一个以节为边界,固定长度为100H(即256字节,一节为16字节)的存储块,PSP和程序段共有一个内存控制块(MCB), PSP位于每个程序的开始部分,无论是COM还是EXE,PSP的数据结构是相同的。而com载入的更早一些(不属于更快),com文件会从0100h处开始执行。
其他的没什么区别的。
假如作为病毒的话,杀伤力一样的。
PS:我也没学的很透,不过大致如此。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-29 13:47 , Processed in 0.130726 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表