先说一下写这篇文章的背景和目的。

现在吾爱的『原创发布区』和『精品软件区』人气很旺,发布的软件非常多。
但也有一些小人,在发布的软件里插些小玩具,当灰客。
论坛派专人检测也是很困难的,工作量太大,查不过来,因此很大程度上要靠用户自己识别,于是就有了这篇文章。

需要说明一下的是,这篇文章主要是快速辨别正常文件与病毒,我自己也不是专业人员,方法是我自己总结出来的,很业余,不过我觉得还是有些用处的。如果你有更好的办法,欢迎跟帖提出。

下面正文开始。

分析一个文件是否为病毒有多种方法,比如用OD这样的调试器,用HIPS都可以达到目的。

在这里主要讨论一下快速判断的方法,用最短的时间,最少的知识,来判断一个文件是否安全。

先说一下必要的工具:Sandboxie、PEID、OD以及你的杀毒软件。

比如说,我从论坛上下载一个别人发布的软件,这时候杀毒软件也许会报毒。这种情况下,先看一下报的病毒名。

如果报的是“Win32/Packed.VMProtect.AAA 特洛伊木马 的变种”这样的壳,那么可以稍稍放松下警惕。对于一些壳,杀软脱不了,为了方便,就把这种壳当作病毒来处理。

另外,如果是“Win32/Hupigon.NUK 特洛伊木马”以及“Win32/Parite.B 病毒”这类的,就需要注意,这个文件可能被人恶意插入木马,或者被感染过。

从杀软报的病毒名基本可以判断出这个文件是真的有问题,还是属于杀软的误报。然而,也有一些例外。

比如“Trojan.Win32.Generic.122E105A”,这个一看就是云安全分析出来的病毒,没有什么有效的信息,所以无法通过病毒名判断是否是误判。

根据杀软的信息,可以对该文件的安全性有一个初步的了解。我想不会有人完全信任杀软的,更多的还是信任自己。

用PEiD查一下壳,如果是一些简单的压缩壳,就在沙盘中运行OD,脱掉,分析。

这时要做的不是一步步跟下去,而是找一下这个文件调用的API。在反汇编窗口右击,查找——当前模块中的名称(标签)。


观察一下API,这时也是有所取舍的。

对于字符函数和字符串处理函数这类的,可以忽略过去;

对于注册表函数、文件函数则要多加留意。

比如说,看到了CreateFile,就在这个函数上下断,注意看有没有对系统敏感位置写入文件。

同样,查看字符串也是有效的方式。

一般地,可以从字符串找出一些病毒的特征。比如有的灰鸽子会有“客户端安装成功”之类的字样,发现一些邮件地址以及相应密码的。这些都是很可疑的。

遇到一些猛壳,脱掉它是很困难的,这时可以借助下沙盘。


让程序在沙盘里完全运行,之后终止所有程序。

查看一下程序生成了什么。

从程序生成的文件基本可以判断是否是病毒了。

当然,也不乏一些检测沙盘、虚拟机的小东西。

在病毒样本区的页面上方有在线沙盘的链接。
(这里原文上传了一些检测病毒的链接,但是被封了)
分析的结果十分具体,可以用来参考。

如果你觉得手工检测太麻烦,可以借助在线沙盘,既快又详细。

这样,举个例子吧.链接已经失效

这是小生对一个带毒外挂的分析,大家可以看看录像,很有学习意义.下面我按照上面说的方法做一下.

先查一下壳,应该是没壳的.

此时我比较喜欢用PEiD的反汇编工具看看字符串,这个功能很方便.

注意选中的部分,很可疑.是一个URL,指向的还是个exe文件.这时应该怀疑这个外挂是个下载器.

下面将它用OD载入(在沙盘或虚拟机中进行),看一看当前模块中的名称(标签),有一个URLDownloadToFileA,这个函数可以实现将一个网络上的文件下载到本地的功能,一般的ShellCode常用到它.

在输入函数上切换断点,运行,可以看出具体的行为.

在此之后要做的就是对下载下来的这个文件进行分析(地址竟然还有效…).

一般来说微软的程序不会有这样的图标,而一个外挂莫名其妙地下载微软的东西,很奇怪,只能说是欲盖弥彰,所以可以直接毙掉了.

同理,如果用沙盘直接运行,最终会在沙盘里提取到这个文件,会发现在临时目录里.在外挂的目录下还会发现一个隐藏文件,应该就是干净的外挂.

挂的这个马应该变了,与小生附件中的程序已经不同了.

如果你认为很麻烦,可以直接把它扔到在线沙盘里,让机器替你分析.

比如说我认为下载下来的这个文件nSPack壳比较难脱,或者说我根本不会脱壳,那么就打开http://camas.comodo.com/cgi-bin/submit ,选择文件路径,然后Upload File,静候几分钟,就可以出结果,其它的在线沙盘也是大同小异.

这次找例子找的很麻烦,我没有存样本的习惯,那些发木马的检测出来之后都被封掉了,他们的光辉附件也就找不到了,没有合适的例子.况且拿货真价实的病毒来测也有点不大现实.在论坛找了好久才找到仅存的这个程序,以后如果在遇到发木马的我会拿它当例子讲一讲

这篇文章特别老,是11年的帖子了。无意中浏览到,特此转载到CSDN里。附上原文链接
原文链接

如何快速判断一个文件是否为病毒 by 是昔流芳相关推荐

  1. 如何快速判断一个文件是否为病毒

    如何快速判断一个文件是否为病毒 这篇文章主要是快速辨别正常文件与病毒,我自己也不是专业人员,方法是我自己总结出来的,很业余,不过我觉得还是有些用处的.如果你有更好的办法,欢迎跟帖提出.下面正文开始. ...

  2. 如何快速判断一个文件是否为病毒,如何检测自己的电脑是不是中毒了或者存在病毒软件?

    这篇文章主要是快速辨别正常文件与病毒,我自己也不是专业人员,方法是我自己总结出来的,很业余,不过我觉得还是有些用处的.如果你有更好的办法,欢迎跟帖提出.下面正文开始. 分析一个文件是否为病毒有多种方法 ...

  3. 如何快速简单有效地判断一个文件是否为病毒

    有一些小人,在发布的软件里插些小玩具,当灰客,这个时候就需要用户有一定的识别能力. 本篇文章主要分为两个部分,第一部分是介绍通过一些工具进行手动解析,第二部分是通过一些第三方线上工具自动解析 如果您觉 ...

  4. linux shell 文件空,linux shell编程 如何判断一个文件是否为空

    shell 判断文件/目录是否为空 jfkidear144932015-01-15 shell中如何判断一个变量是否为空 l_nan365492014-07-14 在shell中如何判断一个变量是否为 ...

  5. python怎样判断一个文件是否存在_python如何判断一个文件是否存在

    python如何判断一个文件是否存在 发布时间:2020-09-23 11:38:42 来源:亿速云 阅读:82 作者:Leah python如何判断一个文件是否存在?针对这个问题,这篇文章详细介绍了 ...

  6. Python判断两个文件夹中互相不同的文件有哪些、判断一个文件夹相对于另外一个文件夹缺少了哪些文件

    Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些文件 目录 Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些 ...

  7. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在

    通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...

  8. 使用程序判断一个文件是否是有效的PE文件

    判断一个文件是否为有效的PE文件,判断2个字段: DOS头的e_magic字段是否为0x5A4D: NT头的Signature字段是否为0x00004550: 若都是的话则是一个有效的PE文件: VC ...

  9. java 判断int是几位_快速判断一个int值是几位数

    快速判断一个int值是几位数 判断一个int值是几位数,想到除法和模运算了,偶然在Java标准API源码中发现的写法,很强大. 文艺青年(存在Integer包中) public class Test ...

最新文章

  1. Windows多线程编程总结
  2. ExtJs异步ajax调用和同步ajax调用公用方法
  3. 关于json_decode乱码及NULL的解决方法
  4. 链表之单链表约瑟夫问题(三)
  5. 138个被撤出EI检索的会议
  6. 03 tsung测试报告分析
  7. 服务器端口映射到公网不通解决方法
  8. HDU 1240 Asteroids!(DFS简单搜索)
  9. 轻松学DDD之二:如何高效消化知识
  10. java 内存快照怎么看_jvm工具篇-(1)-分析工具MAT使用(内存快照分析)
  11. PHP字符串作为字节数组,哈希hash然后base64编码
  12. 数据结构c语言课程设计报告,数据结构c语言课程设计报告.doc
  13. 破解版抓包工具Charles教程(资源分享)
  14. 如何评价《守望先锋》架构设计?
  15. 在北京税前工资2万元,扣掉社保五险和一金税后能拿多少钱?
  16. mySQL mainxml汉化包下载
  17. 判断new数据初始化_拔剑-浆糊的传说_新浪博客
  18. 《奋斗》徐志森的财商课
  19. php递归遍历出文件夹下的所有文件和删除文件夹下的所有文件
  20. mongodb知识点汇总

热门文章

  1. js for循环执行顺序
  2. pytorch中tensor常用is_contiguous含义
  3. 六步骤确保企业成功选择CRM
  4. opencv 简单的图像检测,识别,标注,
  5. 航盾系统显示未连接服务器,航盾虚拟化系统技术白皮书
  6. overflow属性html5,什么是css中overflow属性
  7. JAVA:实现求Average平均数算法(附完整源码)
  8. scala 借助数组实现数据序列的错位相减
  9. 支付宝/飞行模式解决/已停止访问该网页
  10. iOS:苹果推送(APNS)-pem/p12证书的生成