Code:
Dim sStub As String ' pfad zur stub datei
Dim sFile As String ' pfad zur datei die gecrypted werden soll
Dim sOutput As String ' pfad der fertigen ausgegebenen datei
Dim sKey As String ' schlüssel der für die verschlüsselung ist (kann geändert werden)
Dim sInfo As String * 100 ' informationen für die stub (die 100 bit groß sein soll) um die datei zu entschlüsseln und um zu starten
Dim FileLen As Long ' datei länge (kommt in die sinfo)
Dim FileStart As Long ' datei start
Dim sBuffer As String ' speicher 1
Dim sBuffer2 As String ' speicher 2
Dim iFF As Integer ' daten kanal
' verschlüsselung (ENC heist diese hier aber es gibt noch viele andere wie zb. RC4)
Public Function ENC(ByVal sStr As String, ByVal sKey As String) As String
Dim i As Long
For i = 1 To Len(sStr)
ENC = ENC & Chr(Asc(Mid(sKey, IIf(i Mod Len(sKey) <> 0, i Mod Len(sKey)), 1)) Xor Asc(Mid(sStr, i, 1)))
Next i
End Function
Private Sub Command1_Click()
sStub = App.Path & "\Stub\Stub.exe" ' pfad zur stub (liegt im unter Ordner des Ordners)
sFile = txt.File.Text ' pfad zu der datei die gecrypted werden soll
sKey = "RandomString" ' der schlüssel der alles verschlüsseln soll
sOutput = App.Path & "\CryptedbySn0opY.exe" ' datei wird in den gleichen ordner abgespeichert
iFF = FreeFile ' freier datenkanal wird geöffnet
Open sStub For Binary As #iFF ' öffne die stub datei für binären zugriff über datenkanall
sBuffer = Space(LOF(iFF)) ' sbuffer ist gleich so groß wie die stub datei
FileStart = LOF(iFF) + 1 ' länge der stub datei
Get #iFF, , sBuffer ' ladet sbuffer in die stub
Close iFF ' schließt die sstub datei
iFF = FreeFile ' freier datenkanal wird geöffnet
Open sFile For Binary As #iFF ' öffnen der datei die verschlüsselt werden soll
sBuffer2 = Space(LOF(iFF)) ' länge von speicher 2
FileLen = LOF(iFF) ' dateilänge = länge datenkanal
Get #iFF, , sBuffer2 ' speichern der datei in sstub
sBuffer2 = ENC(sBuffer2, sKey) ' verschlüsselung wird dran gehangen
Close iFF ' schließt der datei
sInfo = Str(FileStart) & "#" & Str(sFileLen) & "#" & sKey & "#" ' alles was oben steht wird in die sinfo geschrieben
iFF = FreeFile
Open sOutput For Binary As #iFF
Put #iFF, , sBuffer ' schreibt sbuffer rein
Put #iFF, FileStart, sBuffer2 '
Put #iFF, LOF(iFF) + 1, sInfo
Close ' ende
MsgBox "Fertig :P !Das is ne Beta hoffentlich klappt auchnoch alles! " ' text bei erfolgreichen verschlüsselung
End Sub
Private Sub txtFile_Change()
End Sub