CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
CryptIt -Verschlüsselungsprogramm |
|
ok, nach dem darauf angesprochen wurde, stell ich mein Verschlüsselungsprogramm hier zur verfügung, es ist nie richtig vertig geworden, da ich an der umsetztung eines "richtigen" verschlüsselungsverfahren scheiterte
Beschreibung:
1.Verfahren ist modifizierter XOR (allerdings passwortverknüpft, aus passwort wird ne 7*64=448 bittige Zahl erzeugt, mit der dann auch registerweise verknüpft wird, also nicht einfach mit ner Zahl gexort, so nicht
(stelle den Quellcodeausschnitt zur verfügung)
Analyseprogramme wie Cryptool scheiterten an der Verschlüsselung, allerdings solltet ihr für wichtige sachen trotzdem Two-Fish oder Rjindael oder PGP verwenden.Für videos, sondgs,images oder minderwichtige Dateien reicht das aber allemal,vor allem,weil es "etwas" schneller geht
.
2.Ich garantiere zwar nix, aber ich hab mich schon früher selber geärgert, wenn ein schöner film schrott war (0-Byte file) nur weil das verschlüsslungsproggi oder der rechner hängenblieb während des verschlüsslungsvorgangs. Deshalb wird zuerst ne tmp datei erstelllt, in diese wird reingeschrieben und das original wird erst danach gelöscht (noch ein Grund, es für wichtige Dokus nicht zu verwenden - man könnte theoretisch den platteninhalt ja wieder auslesen lassen!). die tmp wird dann nach original umbenannt...
Ich denke aber, für denn alltagsgebrauch reicht das ja, besonders bei großen Datenmengen.
ja, sovile dazu, ich leg noch ein VBS Quellcode bei, womit man das Programm im Contextmenü eintragen kann...
entfernen muss man den eintrag allerdings manuell, da der andere Script irgendwie nicht funktioniert
Ihr dürft eine Datei also entweder per Kontextmenü anwählen oder auf das programm (Cryptit.exe) einfach ziehen...
VBS QUELLCODE für hinzufügen zum Kontextmenü:
(einfach in eine Txt-Datei kopieren und diese dann zu VBS umbenennen...)
code: |
1:
2:
3:
4:
5:
6:
|
const RegKeyfest="HKCR\*\shell"
on error resume next
SET My = wscript.CreateObject("Wscript.Shell")
My.RegWrite RegKeyfest&"CryptIt\command", "C:\cryptit.exe %1"
|
|
statt [sup]C:\cryptit.exe[/sup] setzt ihr dann den Pfad ein, wo ihr das programm hingetan habt...
zum deinstalieren müsst ihr diesen schlüssel wieder löschen...
dieser löschscript funzt nähmlich unter 2k irgendwie nicht...
code: |
1:
2:
3:
4:
5:
6:
|
const RegKeyfest="HKCR\*\shell"
on error resume next
SET My = wscript.CreateObject("Wscript.Shell")
My.RegDelete ("HKEY_CLASSES_ROOT\*\shell\CryptIt")
|
|
ok, und hier ist der Ausschnitt des Verschlüsslungsalgoritmuses:
schllüsselgenerierung:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
|
MakeKey proc
.code
INVOKE lstrlen,addr password ;passortstringadresse
.if eax<64
mov edx,64
sub edx,eax ;noch benötigte Chars in EDX
xor ecx,ecx
Auffuellen:
mov bl,BYTE PTR[password+ecx]
mov BYTE PTR[password+eax],bl
inc eax
inc ecx
cmp eax,64
jne Auffuellen
mov esi,100
Berechnen:
mov edi,64
Registerfuellen:
mov eax,DWORD PTR[password+edi]
dec edi
mov ebx,DWORD PTR[password+edi]
sub edi,2
mov ecx,DWORD PTR[password+edi]
sub edi,3
mov edx,DWORD PTR[password+edi]
xor eax,edx
add eax,edx
xor ebx,ecx
add ebx,ecx
xor ecx,ebx
add ecx,edx
xor edx,eax
add edx,eax
mov DWORD PTR[password+edi],ecx
inc edi
mov DWORD PTR[password+edi],edx
add edi,3
mov DWORD PTR[password+edi],eax
add edi,2
mov DWORD PTR[password+edi],ebx
sub edi,1
jnz Registerfuellen
dec esi
cmp esi,0
jne Berechnen
.endif
ret
MakeKey endp
|
|
und hier der Verschlüsselungsteil:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
Crypt proc ;pszBuffer:DWORD, dwSize:DWORD, bKey:BYTE
movq MM1, QWORD PTR[password] ; MMX it
movq MM2, QWORD PTR[password+8]
movq MM3, QWORD PTR[password+16]
movq MM4, QWORD PTR[password+24]
movq MM5, QWORD PTR[password+32]
movq MM6, QWORD PTR[password+40]
movq MM7, QWORD PTR[password+48]
doxor:
sub ecx,8d
movq MM0,[edx+ecx]
pxor MM0,MM1
paddw MM2,MM3
pxor MM0,MM2
paddb MM3,MM4
pxor MM0,MM3
paddw MM4,MM5
pxor MM0,MM4
paddb MM5,MM6
pxor MM0,MM5
paddw MM6,MM7
pxor MM0,MM6
paddb MM7,MM1
pxor MM0,MM7
movq [edx+ecx], MM0
jnz doxor
ret
Crypt endp
|
|
PS: einfach nach exe umbenennen, irgendwohin reintun und schon läufts
Win95 user können sich bei mir melden, für die gibts eine spezielle version
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von CDW: 03.12.2002 19:08.
|
|