linux下clamav的一次制作特征码杀毒的过程

我用的clamav引擎版本是0.97.6。

1、首先,必须了解clamav病毒特征码格式。这个官方文件有很多了。百度文库里面有一篇应该是从官方文档摘抄下来的,地址是http://wenku.baidu.com/view/93d875d5360cba1aa811daac.html。当然也有中文版的,不过比较简洁,熟悉的人可以看看。地址:http://www.docin.com/p-70733193.html

clamav格式有很多,每一种都是有一个数据库存放的。比如*.db 是用来存放Basic signature format。*.ndb是存放的extended signature format。还有*.mdb,*.ldb,*.idb等等。

2、制作特征码

首先我随意选了一个exe文件。然后计算了它的程序入口点(这个方法我的另一篇文章有提到)。当然之后我知道我自己做了无用功。然后选取了128byte的长度作为特征码。我选择的格式是*.ndb。根据格式,MalwareName我随意填写了一个。TargetType选择1。offset偏移量本该是我的之前计算的程序入口点的地址。但是这个clamav支持一个EP+0。EP+n表示的意思就是程序入口点plus n bytes。这样之前计算的入口点完全没有用了。最后一个是HexSignature。这个比我想象的要简单,我以为要做成MD5或则其他什么的。这个直接就是把这一段的16进制用来填写即可。这个你可以在linux下这么进行:

首先vim -b a.exe,以二进制打开文件,然后:%!xxd转换到十六进制。选取入口点的128bytes,这就是HexSignature了。

我另外做了一个test.ndb。然后写入我之前所说的,制作一个clamav的特征码。保存。

3、杀毒

用clamscan a.exe对文件进行扫描。但是很遗憾的是结果是a.exe:OK。没有杀到毒。我开始以为特征码哪里错了,没有错,然后以为是offset错了,可是也是没有错。最后是我自己的扫描命令出错。

clamscan -d test.ndb a.exe。OK,成功了。成功扫描出来这个a.exe有毒。

忙了一个下午,对杀毒软件的原理更加熟悉了。留一个记录。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值