| Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a. |
Diskussion: Selbstprogrammierter Filecrypther [FriZa] im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige So ich bin hier mal neu im Board und habe einen eigenen FileCryphter programmiert, da ich für die sicherheit ...
![]() |
| | #1 (permalink) |
| Registriert seit: 26.03.08 ![]() Likes: 0 | Anzeige So ich bin hier mal neu im Board und habe einen eigenen FileCryphter programmiert, da ich für die sicherheit garantieren will, such ich natürlich Leute die es versuchen sollen zu knacken. Ich hoffe ich bin hier richtig, um jemanden zu finden der es versucht zu knacken. So hier die verschlüsselte Datei: >>hier<< (Rechtsklick -> Speichern Unter) Und hier mein Programm: >>hier<< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Den File aufbau geb ich erstmal nicht bekannt, ausser es ist von nöten. (werd ich ja dann merken) Die Codier und Encodier routine geb ich auch noch nicht bekannt, ausser es ist ebenfalls von nöten. (werd ich ebenfalls merken) Viel Glück und Fun Danke und Greetz R4z0r1989 |
| | |
| | #2 (permalink) |
| Senior Member Registriert seit: 27.06.04 ![]() Likes: 0 | Laut Kerckhoff's Prinzip darf die Sicherheit eines Verschlüsselungsverfahrens einzig und allein auf der Geheimhaltung des Schlüssels basieren und nicht auf der Geheimhaltung des Algorithmus (Security by obscurity). Man kann selbst eine Datei verschlüsseln und den Plain- mit dem Cyphertext vergleichen. Ausserdem kann man mit dem nötigen Aufwand dein Programm reverse engineeren um es nachzuvollziehen. Es bringt also nichts deinen Quellcode nicht zu veröffentlichen. Ausserdem wer soll das Programm nachher benutzen wenn man nicht weiss was es tut und ob es Backdoors gibt? |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 26.03.08 ![]() Likes: 0 | @ Cyberm@aster Das war mir soweit klar aber ich hab mir eben genau das gedacht dass ihr das eben über das Programm rausfinden könnt, mich hätt dazu eben intresiert wie lang ihr dafür wirklich brauchen würden, Der Dateiaufbau ist auch recht simple gehalten, aber den werd ich im Laufe des Tages hier schreiben! THX and GREETZ R4 |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 27.06.04 ![]() Likes: 0 | Ich persönlich kenn mich überhaupt nicht mit reverse Engineering aus, daher kann ich keine Angaben machen wie lange das dauert. Was ich dir damit sagen will ist, dass du den Leuten damit ihre wertvolle Zeit raubst, da es nur mühseelig ist, jedoch nichts über die Sicherheit deines Programms aussagt. |
| | |
| | #5 (permalink) |
| Registriert seit: 15.09.06 ![]() Likes: 0 | Nicht nur das es mühselig ist, wenn viele Leute das Programm nutzen, dann steigt das Interesse, den Algo zu knacken. Aber nicht nur die Sicherheit durch die Geheimhaltung des Algos zu "schaffen" ist fatal, auch die Möglichkeit eines Backdoors oder eines Fehlers im Code ist nicht ausgeschlossen. |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 26.03.08 ![]() Likes: 0 | ne den Algo will ich ja nicht geheimhalten, aber ich will ihn eben nicht ausgeben, falls ich eben nochmal was dran ändere, aber ich kann den algo natürlich freigeben! |
| | |
| | #7 (permalink) | |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Veröffentliche einfach den Sourcecode dann wird man dir auch sagen wie sicher das ist. Es werden nur wenige Leute dein Programm reversen, bloß um deiner Bitte nach Feedback nachzukommen. Wie schon gesagt, die Sicherheit darf nicht auf der Unkenntnis des Algorithmus beruhen, daher macht es keinerlei Sinn, den Sourcecode geheimzuhalten, dann wäre das Ganze eine Übung für Reverse Engineering und nur teilweise eine Überprüfung der Sicherheit(auch fehleranfälliger). Zitat:
| |
| | |
| | #8 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Wenn man viele Wiederholungen im Text hat, enthält man (trotz längerer Passwörter) genau dieselben Muster im verschlüsselten Text: Code: db 44,79,62,64,98,29,110,61,14,47,64,98,29,111,34,2 db 44,79,62,64,98,29,110,61,14,47,64,98,29,111,34,2 db 44,79,62,64,98,29,110,61,14,47,64,98,29,111,34,2 db 44,79,62,64,98,29,110,61,14,47 Das Passwort wird mit sich selbst aufgefüllt (effektiv wohl 16 Buchstaben, zumindest soviele werden verwendet) und in einer abgewandelten Form verwendet (kein Hash, sondern irgendwelches rumgeschifte, wobei imho der effektiv nutzbare Bereich dadurch sehr stark eingeschränkt wird ), das wird dann zum verschlüsselten Text addiert/subtrahiert (byte für byte), wobei das scheinbar in einem 10Byte großen Buffer passiert, der dann rückwärts geschrieben wird. Bsp für 00 Datei mit "a" als passwort: Code: 119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 db 119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 db 119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 db 119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119 db 119,119,119,119,119,119,119,119,119,119 Code: db 120,136,151,119,136,153,120,137,151,120,119,135,153,121,137,151 db 120,136,151,119,136,153,120,137,151,120,119,135,153,121,137,151 db 120,136,151,119,136,153,120,137,151,120,119,135,153,121,137,151
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #9 (permalink) |
| Themenstarter Registriert seit: 26.03.08 ![]() Likes: 0 | wow O.O das war gut... nein es sind keine 10 sondern 16 byte weil es sich um ein 16 byte chifre handelt! ok hier der Source: Code: Global quit
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#String_search
#Button_search
#Text_search
#String_saveto
#Button_saveto
#Text_saveto
#Radio_ver
#Radio_ent
#Track_save
#Text_save
#ProgressBar
#Button_go
#Text_pw
#Text_pw2
#String_pw
#String_pw2
#Text_time
#List_info
EndEnumeration
Procedure Quersumme(zahl.q)
Protected Result.l
If zahl < 0 : zahl * -1 : EndIf
While zahl
Result + zahl % 10
zahl / 10
Wend
ProcedureReturn Result
EndProcedure
Procedure.s FriZaV(*text,pawo$,save)
Dim text.w(5,5)
Dim pawo.w(5,5)
For y = 1 To 4
For x = 1 To 4
z = y + ((x-1) * 4)
text(x,y) = PeekC(*text+z-1)
pawo(x,y) = Asc(Right(Left(pawo$,z),1))
Next x
Next y
For y = 1 To 4
For x = 1 To 4
hex$ = RSet(Hex(text(x,y)), 2, "0")
taus0$ = Left(hex$,1)
taus1$ = Right(hex$,1)
hex$ = taus1$ + taus0$
text(x,y) = Hex2Dec(hex$)
Next x
Next y
For y = 1 To 4
For x = 1 To 4
byte = text(x,y)
byte = byte + pawo(x,y)
If byte > 255
byte - 256
EndIf
text(x,y) = byte
Next x
Next y
For y = 1 To 4
For x = 1 To 4
hex$ = RSet(Hex(text(x,y)), 2, "0")
taus0$ = Left(hex$,1)
taus1$ = Right(hex$,1)
hex$ = taus1$ + taus0$
text(x,y) = Hex2Dec(hex$)
Next x
Next y
For z = 1 To save
For Spalte = 4 To 2 Step -1
Swap text(1,Spalte) , text(1,Spalte-1)
Next
For Spalte = 1 To 3 Step 1
Swap text(3,Spalte) , text(3,Spalte+1)
Next
For Spalte = 1 To 2 Step 1
Swap text(4,Spalte) , text(4,Spalte+2)
Next
For Zeile = 1 To 2 Step 1
Swap text(Zeile,1) , text(Zeile+2,1)
Swap text(Zeile,2) , text(Zeile+2,2)
Swap text(Zeile,3) , text(Zeile+2,3)
Swap text(Zeile,4) , text(Zeile+2,4)
Next
pwcount = 0
For pwd = 1 To 4
pwcount = pwcount + 1
pwrand1 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
pwcount = pwcount + 1
pwrand2 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
pwcount = pwcount + 1
pwrand3 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
pwcount = pwcount + 1
pwrand4 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
Swap text(pwrand1,pwrand2) , text(pwrand3,pwrand4)
Next pwd
Next z
For y = 1 To 4
For x = 1 To 4
byte = text(x,y)
byte = byte + pawo(x,y)
If byte > 255
byte - 256
EndIf
text(x,y) = byte
Next x
Next y
For y = 1 To 4
For x = 1 To 4
hex$ = RSet(Hex(text(x,y)), 2, "0")
taus0$ = Left(hex$,1)
taus1$ = Right(hex$,1)
hex$ = taus1$ + taus0$
text(x,y) = Hex2Dec(hex$)
Next x
Next y
For x = 1 To 4
For y = 1 To 4
PokeC(*text+y+x*4-5, text(x,y))
Next y
Next x
EndProcedure
Procedure.s FriZaE(*text,pawo$,save)
Dim text.w(5,5)
Dim pawo.w(5,5)
For y = 1 To 4
For x = 1 To 4
z = y + ((x-1) * 4)
text(x,y) = PeekC(*text+z-1)
pawo(x,y) = Asc(Right(Left(pawo$,z),1))
Next x
Next y
For y = 1 To 4
For x = 1 To 4
hex$ = RSet(Hex(text(x,y)), 2, "0")
taus0$ = Left(hex$,1)
taus1$ = Right(hex$,1)
hex$ = taus1$ + taus0$
text(x,y) = Hex2Dec(hex$)
Next x
Next y
For y = 1 To 4
For x = 1 To 4
byte = text(x,y)
byte = byte - pawo(x,y)
If byte < 0
byte + 256
EndIf
text(x,y) = byte
Next x
Next y
For z = 1 To save
pwcount = 17
For pwd = 1 To 4
pwcount = pwcount - 1
pwrand1 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
pwcount = pwcount - 1
pwrand2 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
pwcount = pwcount - 1
pwrand3 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
pwcount = pwcount - 1
pwrand4 = (Asc(Right(Left(pawo$,pwcount),1)) % 3) + 1
Swap text(pwrand4,pwrand3) , text(pwrand2,pwrand1)
Next pwd
For Zeile = 4 To 3 Step -1
Swap text(Zeile,4) , text(Zeile-2,4)
Swap text(Zeile,3) , text(Zeile-2,3)
Swap text(Zeile,2) , text(Zeile-2,2)
Swap text(Zeile,1) , text(Zeile-2,1)
Next
For Spalte = 2 To 4 Step 1
Swap text(1,Spalte) , text(1,Spalte-1)
Next
For Spalte = 3 To 1 Step -1
Swap text(3,Spalte) , text(3,Spalte+1)
Next
For Spalte = 2 To 1 Step -1
Swap text(4,Spalte) , text(4,Spalte+2)
Next
Next z
For y = 1 To 4
For x = 1 To 4
hex$ = RSet(Hex(text(x,y)), 2, "0")
taus0$ = Left(hex$,1)
taus1$ = Right(hex$,1)
hex$ = taus1$ + taus0$
text(x,y) = Hex2Dec(hex$)
Next x
Next y
For y = 1 To 4
For x = 1 To 4
byte = text(x,y)
byte = byte - pawo(x,y)
If byte < 0
byte + 256
EndIf
text(x,y) = byte
Next x
Next y
For y = 1 To 4
For x = 1 To 4
hex$ = RSet(Hex(text(x,y)), 2, "0")
taus0$ = Left(hex$,1)
taus1$ = Right(hex$,1)
hex$ = taus1$ + taus0$
text(x,y) = Hex2Dec(hex$)
Next x
Next y
For x = 1 To 4
For y = 1 To 4
PokeC(*text+y+x*4-5, text(x,y))
Next y
Next x
EndProcedure
Procedure FileKeyV(File.s,Saveto.s,password.s,save.l)
fsize = FileSize(File.s)
MD5$ = MD5FileFingerprint(File.s)
If ReadFile(1,File.s) = 0
ProcedureReturn 2
EndIf
SetGadgetAttribute(#ProgressBar, #PB_ProgressBar_Maximum, fsize)
If CreateFile(2,Saveto.s) = 0
CloseFile(1)
ProcedureReturn 3
EndIf
pwlength = Len(password.s)
pointer = 0
temp = 0
If pwlength = 0
CloseFile(1)
CloseFile(2)
ProcedureReturn 5
ElseIf pwlength < 16
Repeat
password = password + password
Until Len(password) >= 16
Left(password,16)
Else
Left(password,16)
EndIf
If save > 20
CloseFile(1)
CloseFile(2)
ProcedureReturn 4
EndIf
WriteCharacter(2,70):WriteCharacter(2,114):WriteCharacter(2,105):WriteCharacter(2,90):WriteCharacter(2,97)
WriteLong(2, fsize)
WriteCharacter(2, save)
rest = fsize % 16
runnin = (fsize - rest + 16) / 16
elapsed= ElapsedMilliseconds()
elapsed2=ElapsedMilliseconds()
show = 500
slow = 10
For x = 1 To runnin
If x < runnin
*buffer = AllocateMemory(16)
ReadData(1, *buffer, 16)
FriZaV(*buffer,password,save)
WriteData(2, *buffer, 16)
FreeMemory(*buffer)
ElseIf x = runnin
*buffer = AllocateMemory(16)
fullup = fsize - Loc(1)
ReadData(1, *buffer, fsize - Loc(1))
For rand = fullup To 15
PokeC(*buffer+rand, Random(255))
Next rand
FriZaV(*buffer,password,save)
WriteData(2, *buffer, 16)
FreeMemory(*buffer)
EndIf
pointer = pointer + 16
temp = temp + 16
If x = runnin
SetGadgetState(#ProgressBar,pointer)
temp = 0
ElseIf temp >= 10000
SetGadgetState(#ProgressBar,pointer)
temp = 0
EndIf
If ElapsedMilliseconds() - elapsed2 >= 1000
unterschied = x-oldx
kbs = unterschied * 16 / 1024
oldx = x
elapsed2=ElapsedMilliseconds()
EndIf
If x >= show
If slow = 10
tneed = ElapsedMilliseconds() - elapsed
tleft = tneed * (runnin - x) / 1000 / 500
If Round(tleft/60, 0) > 999
rsetval = 4
ElseIf Round(tleft/60, 0) > 99
rsetval = 3
Else
rsetval = 2
EndIf
SetGadgetText(#Text_time,"Geschätzte Dauer : " + RSet(Str(Round(tleft/60, 0)),rsetval,"0")+":"+RSet(Str(tleft%60),2,"0")+" bei "+Str(kbs)+" kb/s")
slow = 0
EndIf
elapsed= ElapsedMilliseconds()
slow = slow + 1
show = x + 500
EndIf
Event = WindowEvent()
If Event = #PB_Event_CloseWindow
CloseFile(1)
CloseFile(2)
DeleteFile(Saveto.s)
Quit = 1
ProcedureReturn 7
ElseIf Event = #PB_Event_Gadget Or Event = #PB_Event_Menu
Select EventGadget()
Case #Button_go
CloseFile(1)
CloseFile(2)
DeleteFile(Saveto.s)
ProcedureReturn 6
EndSelect
EndIf
Next x
WriteString(2,MD5$)
CloseFile(1)
CloseFile(2)
ProcedureReturn 1
EndProcedure
Procedure FileKeyE(File.s,Saveto.s,password.s)
fsize = FileSize(File.s)
If ReadFile(1,File.s) = 0
ProcedureReturn 2
EndIf
SetGadgetAttribute(#ProgressBar, #PB_ProgressBar_Maximum, fsize)
If CreateFile(2,Saveto.s) = 0
CloseFile(1)
ProcedureReturn 3
EndIf
pwlength = Len(password.s)
pointer = 0
temp = 0
elapsed= ElapsedMilliseconds()
show = 500
slow = 10
If pwlength = 0
CloseFile(1)
CloseFile(2)
ProcedureReturn 6
ElseIf pwlength < 16
Repeat
password = password + password
Until Len(password) >= 16
Left(password,16)
Else
Left(password,16)
EndIf
friza1 = ReadCharacter(1)
friza2 = ReadCharacter(1)
friza3 = ReadCharacter(1)
friza4 = ReadCharacter(1)
friza5 = ReadCharacter(1)
efsize = ReadLong(1)
save = ReadCharacter(1)
rfsize = fsize - 42
runnin = rfsize / 16
If friza1 <> 70 Or friza2 <> 114 Or friza3 <> 105 Or friza4 <> 90 Or friza5 <> 97
CloseFile(1)
CloseFile(2)
ProcedureReturn 4
EndIf
If save > 20
CloseFile(1)
CloseFile(2)
ProcedureReturn 5
EndIf
For x = 1 To runnin
If x < runnin
*buffer = AllocateMemory(16)
ReadData(1, *buffer, 16)
FriZaE(*buffer,password,save)
WriteData(2, *buffer, 16)
FreeMemory(*buffer)
ElseIf x = runnin
*buffer = AllocateMemory(16)
ReadData(1, *buffer, 16)
FriZaE(*buffer,password,save)
WriteData(2, *buffer, efsize)
FreeMemory(*buffer)
EndIf
efsize = efsize - 16
pointer = pointer + 16
temp = temp + 16
If fsize - pointer = 0
SetGadgetState(#ProgressBar,pointer)
temp = 0
ElseIf temp >= 10000
SetGadgetState(#ProgressBar,pointer)
temp = 0
EndIf
If ElapsedMilliseconds() - elapsed2 >= 1000
unterschied = x-oldx
kbs = unterschied * 16 / 1024
oldx = x
elapsed2=ElapsedMilliseconds()
EndIf
If x >= show
If slow = 10
tneed = ElapsedMilliseconds() - elapsed
tleft = tneed * (runnin - x) / 1000 / 1000
If Round(tleft/60, 0) > 999
rsetval = 4
ElseIf Round(tleft/60, 0) > 99
rsetval = 3
Else
rsetval = 2
EndIf
SetGadgetText(#Text_time,"Geschätzte Dauer : " + RSet(Str(Round(tleft/60, 0)),rsetval,"0")+":"+RSet(Str(tleft%60),2,"0")+" bei "+Str(kbs)+" kb/s")
slow = 0
EndIf
elapsed= ElapsedMilliseconds()
slow = slow + 1
show = x + 500
EndIf
Event = WindowEvent()
If Event = #PB_Event_CloseWindow
CloseFile(1)
CloseFile(2)
DeleteFile(Saveto.s)
Quit = 1
ProcedureReturn 9
ElseIf Event = #PB_Event_Gadget Or Event = #PB_Event_Menu
Select EventGadget()
Case #Button_go
CloseFile(1)
CloseFile(2)
DeleteFile(Saveto.s)
ProcedureReturn 8
EndSelect
EndIf
Next x
MD5$ = ReadString(1)
CloseFile(1)
CloseFile(2)
If MD5FileFingerprint(Saveto.s) <> MD5$
DeleteFile(Saveto.s)
ProcedureReturn 7
EndIf
ProcedureReturn 1
EndProcedure
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 390, 280, "FileKey", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return,#Button_go)
TextGadget(#Text_search, 10, 10, 150, 20, "Datei auswählen :")
StringGadget(#String_search, 10, 40, 150, 20, "")
ButtonGadget(#Button_search, 170, 40, 20, 20, "...")
TextGadget(#Text_saveto, 200, 10, 150, 20, "Datei speichern :")
StringGadget(#String_saveto, 200, 40, 150, 20, "")
ButtonGadget(#Button_saveto, 360, 40, 20, 20, "...")
TextGadget(#Text_pw, 10, 70, 50, 20, "Passwort :")
StringGadget(#String_pw, 70, 70, 120, 20, "",#PB_String_Password)
TextGadget(#Text_pw2, 200, 70, 50, 20, "nochmal :")
StringGadget(#String_pw2, 260, 70, 120, 20, "",#PB_String_Password)
OptionGadget(#Radio_ver, 10, 100, 90, 20, "Verschlüsseln")
OptionGadget(#Radio_ent, 100, 100, 90, 20, "Entschlüsseln")
TrackBarGadget(#Track_save, 200, 100, 160, 20, 1, 20)
TextGadget(#Text_save, 350, 100, 20, 20, "1", #PB_Text_Right)
ProgressBarGadget(#ProgressBar, 10, 130, 370, 20, 0, 10)
TextGadget(#Text_time,10,160,370,20,"Geschätzte Dauer : 00:00 bei 0 kb/s")
ButtonGadget(#Button_go, 10, 190, 370, 20, "Start")
ListViewGadget(#List_info, 10, 220, 370, 50)
EndIf
EndIf
EndProcedure
Open_Window_0()
SetGadgetState(#Radio_ver,1)
SetActiveGadget(#String_pw)
para$ = ProgramParameter()
If para$ <> ""
SetGadgetState(#Radio_ent,1)
SetGadgetText(#String_search,para$)
SetGadgetText(#String_saveto,Left(para$,Len(para$)-4))
DisableGadget(#Track_save,1)
HideGadget(#Text_save,1)
DisableGadget(#String_pw2,1)
HideGadget(#Text_pw2,1)
EndIf
Repeat
Event = WindowEvent()
If Event = #PB_Event_CloseWindow
Quit = 1
ElseIf Event = #PB_Event_Gadget Or Event = #PB_Event_Menu
Select EventGadget()
Case #Button_go
DisableGadget(#String_search,1)
DisableGadget(#Button_search,1)
DisableGadget(#String_saveto,1)
DisableGadget(#Button_saveto,1)
DisableGadget(#Radio_ver,1)
DisableGadget(#Radio_ent,1)
DisableGadget(#Track_save,1)
DisableGadget(#String_pw,1)
DisableGadget(#String_pw2,1)
#String_saveto
SetGadgetText(#Button_go,"Stop")
SetGadgetText(#Text_time,"Geschätzte Dauer : 00:00 bei 0 kb/s")
If GetGadgetState(#Radio_ver) = 1
file$ = GetGadgetText(#String_search)
save$ = GetGadgetText(#String_saveto)
If file$ <> "" And save$ <> ""
If GetGadgetText(#String_pw) = GetGadgetText(#String_pw2)
preturn = FileKeyV(file$,save$,GetGadgetText(#String_pw),GetGadgetState(#Track_save))
If preturn = 1
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Die Datei wurde erfolgreich verschlüsselt!")
AddGadgetItem(#List_info, 0, "Erfolgreich:")
ElseIf preturn = 2
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei konnte nicht gelesen werden!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 3
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei konnte nicht erstellt werden!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 4
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei weist zuviele Verschlüsselungsrunden auf!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 5
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Bitte geben Sie ein Passwort an!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 6
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Verschlüsselung wurde erfolgreich abgebrochen!")
AddGadgetItem(#List_info, 0, "Erfolgreich:")
EndIf
If quick = 1
End
EndIf
Else
MessageRequester("Error","Die Passwörter stimmen nicht überein!")
EndIf
Else
MessageRequester("Error","Bitte geben sie den Dateipfad an!")
EndIf
DisableGadget(#String_search,0)
DisableGadget(#Button_search,0)
DisableGadget(#String_saveto,0)
DisableGadget(#Button_saveto,0)
DisableGadget(#Radio_ver,0)
DisableGadget(#Radio_ent,0)
DisableGadget(#Track_save,0)
DisableGadget(#String_pw,0)
DisableGadget(#String_pw2,0)
SetGadgetText(#Button_go,"Start")
ElseIf GetGadgetState(#Radio_ent) = 1
file$ = GetGadgetText(#String_search)
save$ = GetGadgetText(#String_saveto)
If file$ <> "" And save$ <> ""
preturn = FileKeyE(file$,save$,GetGadgetText(#String_pw))
If preturn = 1
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Die Datei wurde erfolgreich entschlüsselt!")
AddGadgetItem(#List_info, 0, "Erfolgreich:")
ElseIf preturn = 2
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei konnte nicht gelesen werden!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 3
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei konnte nicht erstellt werden!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 4
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei ist keine gültige -V- Datei!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 5
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Datei weist zuviele Verschlüsselungsrunden auf!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 6
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Bitte geben Sie ein Passwort an!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 7
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Passwort falsch!")
AddGadgetItem(#List_info, 0, "Error:")
ElseIf preturn = 8
ClearGadgetItemList(#List_info)
AddGadgetItem(#List_info, 0, "--------------------------------------------------")
AddGadgetItem(#List_info, 0, " Entschlüsselung wurde erfolgreich abgebrochen!")
AddGadgetItem(#List_info, 0, "Error:")
EndIf
Else
MessageRequester("Error","Bitte geben sie den Dateipfad an!")
EndIf
DisableGadget(#String_search,0)
DisableGadget(#Button_search,0)
DisableGadget(#String_saveto,0)
DisableGadget(#Button_saveto,0)
DisableGadget(#Radio_ver,0)
DisableGadget(#Radio_ent,0)
DisableGadget(#String_pw,0)
SetGadgetText(#Button_go,"Start")
EndIf
Case #Button_search
pfad$ = OpenFileRequester("Datei wählen...","","Alle Dateien (*.*)|*.*",0)
SetGadgetText(#String_search,pfad$)
If Right(pfad$,4) = ".-V-"
SetGadgetText(#String_saveto,Left(pfad$,Len(pfad$)-4))
Else
SetGadgetText(#String_saveto,pfad$+".-V-")
EndIf
Case #Button_saveto
If GetGadgetText(#String_search) = ""
pfad$ = SaveFileRequester("Speicherort wählen",GetFilePart(pfad$),"Alle Dateien (*.*)|*.*",0)
ElseIf Right(GetGadgetText(#String_search),4) = ".-V-"
pfad$ = SaveFileRequester("Speicherort wählen",GetFilePart(pfad$),"Alle Dateien (*.*)|*.*",0)
Else
pfad$ = SaveFileRequester("Speicherort wählen",GetFilePart(pfad$),"-V- Dateien (*.-V-)|*.-V-",0)
If Right(pfad$,4) <> ".-V-"
pfad$ = pfad$ + ".-V-"
EndIf
EndIf
If pfad$ = ".-V-"
pfad$ = GetGadgetText(#String_saveto)
EndIf
SetGadgetText(#String_saveto,pfad$)
Case #Track_save
SetGadgetText(#Text_save,Str(GetGadgetState(#Track_save)))
Case #Radio_ver
DisableGadget(#Track_save,0)
HideGadget(#Text_save,0)
DisableGadget(#String_pw2,0)
HideGadget(#Text_pw2,0)
Case #Radio_ent
DisableGadget(#Track_save,1)
HideGadget(#Text_save,1)
DisableGadget(#String_pw2,1)
HideGadget(#Text_pw2,1)
EndSelect
EndIf
Delay(1)
Until Quit Naja mal gucken ob jemand das bild wieder raus bekommt... EDIT: Danke wegen dem [_code] tipp! |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |