信息来源:邪恶八进制信息安全团队(
www.eviloctal.com)
文章作者:lake2
没什么技术含量,上次免杀一个网页的时候发现没有这种文本的定位器,所以自己弄了个。VB写的,需要FSO支持。定位完毕自动生成report.html文件,打开之,红色的即为该杀毒软件的病毒特征码,如果替换字节设的越小,定位越准,当然消耗的时间空间就越大:)
呵呵,另外,在此祝八进制的各位朋友儿童节快乐哦~~~~
PS: 应5楼剑心兄的要求,我把主要代码贴出来
复制内容到剪贴板
代码:
Sub CheckDir()
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FolderExists(KillDir) = False Then
If Check1.Value = 1 Then
MkDir (KillDir)
Else
MsgBox "输出文件夹不存在,中止执行!", vbOKOnly + vbExclamation, "Error"
Unload Me
End If
End If
Set FSO = Nothing
End Sub
Sub ReplaceFile()
Dim FileTxt, Filetxt2, htmlString As String
Dim i As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.OpenTextFile(KillFile, ForReading)
FileTxt = f.ReadAll()
Set f = Nothing
i = 1
Do While i <= Len(FileTxt)
Filetxt2 = Left(FileTxt, i - 1) & Replace(FileTxt, Mid(FileTxt, i, Lenght.Text), Space(Lenght.Text), i, 1)
Set k = FSO.OpenTextFile(KillDir & "\" & i, ForWriting, True)
k.write Filetxt2
i = i + Lenght.Text
k.Close
Set k = Nothing
If i > Len(FileTxt) Then
ProgressBar1.Value = 100
Else
ProgressBar1.Value = i / Len(FileTxt) * 100
End If
Loop
MsgBox "杀毒完毕之后再点确定!", vbOKOnly, "Good"
htmlString = "<title>lake2的文本特征码定位器报告</title><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">"
htmlString = htmlString + "<style type=""text/css""><!--body,td,th {font-size: 12px;}--></style>"
htmlString = htmlString + "报告(红字就是特征码啦)<br><hr><br>"
i = 1
Do While i <= Len(FileTxt)
If Dir(KillDir & "\" & i) <> "" Then
htmlString = htmlString + "<font color=red>" & Encode(Mid(FileTxt, i, Lenght.Text)) & "</font>"
Else
htmlString = htmlString + Encode(Mid(FileTxt, i, Lenght.Text))
End If
i = i + Lenght.Text
If i > Len(FileTxt) Then
ProgressBar1.Value = 100
Else
ProgressBar1.Value = i / Len(FileTxt) * 100
End If
Loop
Set s = FSO.OpenTextFile(App.Path & "\report.html", ForWriting, True)
s.write htmlString
s.Close
Set s = Nothing
Set FSO = Nothing
MsgBox "定位完毕,请查看报告!", vbOKOnly, "Good"
End Sub
Function Encode(Str)
Dim temp As String
temp = Replace(Str, "<", "<")
temp = Replace(temp, ">", ">")
temp = Replace(temp, vbCrLf, "<br>")
Encode = temp
End Function原理很简单,就是按定长字节替换掉原文件生成无数新文件(文件名就是被替换字节的位置,方便判断特征码),然后用杀毒软件杀掉查出的病毒。剩下的文件就是不含特征码的文本了,根据文件名,就找出特征码的位置,再从原文件里面读出相应位置的代码即为特征码