现在的位置: 首页 > 综合 > 正文

python对比求出相同病毒特征串

2017年11月24日 ⁄ 综合 ⁄ 共 725字 ⁄ 字号 评论关闭

转载请注明出处:http://blog.csdn.net/u010484477     O(∩_∩)O谢谢

在分析病毒样本时,最好的境界就是一段病毒特征码就能够把样本区分出来。

因为我们计算的重要元素是相同偏移量上的相同恶意代码特征串。

由此我进行了下面的Python来判断距离程序开始的入口点:偏移量相同的相同特征串

#!/usr/bin/python

打开D,F两个病毒样本
contentD = open("D","rb").read()
contentF = open("F","rb").read()

分别求出他们的长度,为下面的循环做条件
lenD = len(contentD)
lenF = len(contentF)

i = 0
offsetD = 0
offsetF = 0
numRange = 0

取短的字符串
if lenD > lenF:
numRange = lenF
else:
numRange = lenD

我要求的是特征串相同的长度为64,
while (i+64)<numRange:
if cmp(contentD[272+i:272+32+i],contentF[288+i:288+32+i]) == 0:
offsetD = 272+i
offsetF = 288+i
print 'offsetD is %d'%offsetD
print 'offsetF is %d'%offsetF
print '==================='
i = i + 1
else:
i = i + 1

上面的272和288是我通过其他的程序算出的程序入口点即_start到文件头的偏移。

因为在病毒样本分析的时候,有时要用到Python来进行计算,新学的Python,觉得挺有意思的。

喜欢的一句话:你要看自己是否尽力了,可以看是否能用这些努力让自己安心接受一切结果

抱歉!评论已关闭.