邪恶八进制信息安全团队技术讨论组's Archiver

lake2 2006-6-1 08:28

[原创]文本特征码定位器(6-10 Update)

信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
文章作者:lake2

    没什么技术含量,上次免杀一个网页的时候发现没有这种文本的定位器,所以自己弄了个。VB写的,需要FSO支持。定位完毕自动生成report.html文件,打开之,红色的即为该杀毒软件的病毒特征码,如果替换字节设的越小,定位越准,当然消耗的时间空间就越大:)
   呵呵,另外,在此祝八进制的各位朋友儿童节快乐哦~~~~


PS: 应5楼剑心兄的要求,我把主要代码贴出来

[code]
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
[/code]

原理很简单,就是按定长字节替换掉原文件生成无数新文件(文件名就是被替换字节的位置,方便判断特征码),然后用杀毒软件杀掉查出的病毒。剩下的文件就是不含特征码的文本了,根据文件名,就找出特征码的位置,再从原文件里面读出相应位置的代码即为特征码

n3tl04d 2006-6-1 10:26

有个小小的bug(不知道算不算 ^_^)

当没选择文件
直接点定位时
程序会出错

sunwear 2006-6-3 07:56

[quote][b]这里是引用第[/b][color=#ff0000][1 楼][/color][b]的[color=#000066]n3tl04d[/color]于[/b]2006-06-01 10:26[b]发表的:[/b]
有个小小的bug(不知道算不算 ^_^)

当没选择文件
直接点定位时
程序会出错[/quote]

被 RtlRaiseException 处理了

龙卷风暴 2006-6-9 15:20

还有这种工具,我去试试。可是文本免杀好象作用不大(我的个人观点)。 [s:35]

codboy 2006-6-10 11:35

不是很好。对于大一点的脚本就要卡死,而且没啥用。
对于小马还可以。

剑心 2006-6-10 15:21

[quote][b]这里是引用第[/b][color=#ff0000][0 楼][/color][b]的[color=#000066]lake2[/color]于[/b]2006-06-01 08:28[b]发表的:[/b][原创]文本特征码定位器
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
文章作者:lake2

    没什么技术含量,上次免杀一个网页的时候发现没有这种文本的定位器,所以自己弄了个。VB写的,需要FSO支持。定位完毕自动生成report.html文件,打开之,红色的即为该杀毒软件的病毒特征码,如果替换字节设的越小,定位越准,当然消耗的时间空间就越大:)
   呵呵,另外,在此祝八进制的各位朋友儿童节快乐哦~~~~[/quote]

很希望看看原理或者代码

grayfox 2006-6-11 07:12

耐着性子看了一下,希望各位大侠以后再贴源代码的时候能适当地加一点注释,不然看着真的很累哦,顺便问一下,这种程序用C++能写么?VC++里的图形除了API还有没有其他的方法,我还没学到API的?VB学了一点,但用着不太适应,写界面还可以,但应用的发展潜力不够好,呵呵,拙见,莫笑。

sqyy0 2006-10-9 12:28

[color=crimson]要是文本特征码定位器意见[/color]
  要是文本特征码定位器意见
   定位的文件是HTML的  生成的文件里面的文件格式能改就好了
  免杀HTML的文件 明明瑞星是杀的可就是因为 文件后缀格式不对导致文件不能 被杀
  定不出来位置  希望能改进 一哈 这样用起来就根好了

页: [1]
© 1999-2008 EvilOctal Security Team