这个算法谁有用过为什么不同的硬盘ID号生成出来会是相同的机器码呢??

解决方案 »

  1.   

    Sub InvertIt()
        Dim Temp As Integer
        Dim Hold As Integer
        Dim I As Integer
        Dim TempStr As String
            
        TempStr = ""    For I = 1 To Len(SysInfoPath)
        
            Temp = Asc(Mid$(SysInfoPath, I, 1))
            Hold = 0
    Top:
        Select Case Temp
            Case Is > 127
                Hold = Hold + 1
                Temp = Temp - 128
                GoTo Top
            Case Is > 63
                Hold = Hold + 2
                Temp = Temp - 64
                GoTo Top
            Case Is > 31
                Hold = Hold + 4
                Temp = Temp - 32
                GoTo Top
            Case Is > 15
                Hold = Hold + 8
                Temp = Temp - 16
                GoTo Top
            Case Is > 7
                Hold = Hold + 16
                Temp = Temp - 8
                GoTo Top
            Case Is > 3
                Hold = Hold + 32
                Temp = Temp - 4
                GoTo Top
            Case Is > 1
                Hold = Hold + 64
                Temp = Temp - 2
                GoTo Top
            Case Is = 1
                Hold = Hold + 128
                
        End Select
            Temp = 255 Xor Hold
            TempStr = TempStr + Chr(Temp)
        Next I
        
        SysInfoPath = TempStr
    End Sub