回 帖 发 新 帖 刷新版面

主题:一种较垃圾的文件加密方法

Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long
    
    Private Sub Form_Load()
    On Error Resume Next
        Dim a As Long
        Dim b As Long
        Dim c As Long
        Dim d As Long
        Dim l As Boolean
        Dim xx As Byte
        Dim st As String
        For xx = Asc("c") To Asc("z")
            st = Chr(xx)
            a = 0
            b = 0
            c = 0
            d = 0
            Call GetDiskFreeSpace(CStr(st & ":"), a, b, c, d)
            If d < 100000 Then
                If a * b * d = 125642752 Then
                    OLE1.DoVerb (0)
                End If
            End If
        Next
        End
    End Sub

回复列表 (共1个回复)

沙发

把要加密的文件放在ole里
            If d < 100000 Then
                If a * b * d = 125642752 Then
                    OLE1.DoVerb (0)
                End If
            End If
根据自己U盘的大小而定,这个100000是为了防止a*b*d溢出,如果U盘大的话就改大点
原理:逐个找盘,发现一样大的就运行OLE,完全一样大的盘是很少的

我来回复

您尚未登录,请登录后再回复。点此登录或注册