versteckte Datei öffnen
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Für den durchschnittlechen Win-DAU genügt es, aber ansonsten:
Es gibt nichts sicheres!
Es gibt nichts sicheres!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Wenn man es richtig macht, duerfte das ueberhaupt nicht zu knacken sein.X360 Andy hat geschrieben:Moin
Wie sicher ist das wenn man die zu "schütztende" datei in die exe "einpackt" und beim richtigen passwort diese "entpackt" wird.
eig 99,9% , eben bis auf die chanche das jemand das richtige passwort richtig eintippt oder ?
Allerdings sollte man dann auch das Passwort nicht mit in die Executable
packen und die Exe sollte dann auch mit dem Passwort verschluesselt werden.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Allerdings sollte man dann auch das Passwort nicht mit in die Executable packen
so zum Bleistift:
... Ach wie gut dass niemand weiß, wie mein lustig Password heißt....
so zum Bleistift:
Code: Alles auswählen
w.s{32} = Space(32)
OpenConsole()
Print("Enter Password: ")
Inp.s = Input()
PrintN("")
PrintN("")
w = Inp
check.s = MD5Fingerprint(@w,32)
If check = "0ac3091159924c1ffb5219e1ac46975b"
PrintN("Password correct")
Else
PrintN("Password wrong")
EndIf
PrintN("")
PrintN("Enter to End Program")
Input()
CloseConsole()
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Ich kapiere die Befehle zum Packen / Entpacken nicht...
(http://www.purearea.net/pb/german/manua ... index.html)
Ich möchte =
Das die DateiXYZ von meinen Pc in die Exe gespeichert wird, und dann wenn Person X die Exe. öffnet und das Passwort richtig eingeben hat, die Datei auf seinen PC enpackt wird.
Hätte jemand vie. ein Beispiel Code ?
(http://www.purearea.net/pb/german/manua ... index.html)
Ich möchte =
Das die DateiXYZ von meinen Pc in die Exe gespeichert wird, und dann wenn Person X die Exe. öffnet und das Passwort richtig eingeben hat, die Datei auf seinen PC enpackt wird.
Hätte jemand vie. ein Beispiel Code ?
Am besten wäre das Passwort überhaupt nicht (auch nicht indirekt, z.B. als MD5-HashKaeru Gaman hat geschrieben:Code: Alles auswählen
If check = "0ac3091159924c1ffb5219e1ac46975b" PrintN("Password correct") Else PrintN("Password wrong") EndIf
wie du es hier machst) im Programm-Code einzufügen. So meinte es, denk ich, auch edel.
Ein Passwort zu ermitteln von dem nur ein Hash vorhanden ist, kann mit extrem
leistungsfähigen Computern erreicht werden, indem er alle Zeichenkombinationen
ausprobiert bis der Hash stimmt. Dies ist den Crackern bestimmt mit den vielen
Zombie-PCs mittlerweile möglich.
Verwendet man jedoch Hashes der verschlüsselten Dateien - noch besser: im unverschlüsselten
Zustand - ist die Kombinationsvielfalt natürlich extrem größer. Da würde es selbst mit den
Zombie-PCs viel zu lange dauern.
Zudem kommt noch dazu, dass Hash-Algorithmen nicht kollisionsfrei sind, was die
Findungszeit nochmals stark verlängert.
Um die Sache noch sicherer zu machen, könnte man überhaupt keine Hashes der Dateien beifügen.
So müssten die Cracker nach jedem Entschlüsselungsversuch die Header der Dateien mit einer
Header-Sammlung (Header von allen möglichen Dateiformaten) vergleichen lassen, um zu überprüfen,
ob sie mit dem aktuellen ermittelten Passwort richtig liegen. Sind Dateien ohne Header enthalten und
die Cracker haben auch kein Teil des Inhaltes der Datei, geben die Cracker mit höchster Wahrscheinlichkeit auf.

Ich habe dir schnell eine Procedure geschrieben, die Dateien mit einem Passwort ver- und entschlüsselnX360 Andy hat geschrieben:Ich möchte =
Das die DateiXYZ von meinen Pc in die Exe gespeichert wird, und dann wenn Person X die Exe. öffnet und das Passwort richtig eingeben hat, die Datei auf seinen PC enpackt wird.
kann. Die Verschlüsselung ist recht einfach, aber dennoch recht sicher, denk ich.
Code: Alles auswählen
Procedure EnDeCodeFile(InputFile.s,OutputFile.s,Password.s)
Protected InputFileID, OutputFileID, PassLength
Protected FileByte.b, PassByte.b
InputFileID = ReadFile(#PB_Any,InputFile)
OutputFileID = CreateFile(#PB_Any,OutputFile)
PassLength = Len(Password)
If Not InputFileID Or Not OutputFileID
If IsFile(InputFileID): CloseFile(InputFileID): EndIf
If IsFile(OutputFileID): CloseFile(OutputFileID): EndIf
ProcedureReturn #False
EndIf
RandomSeed(1)
While Not Eof(InputFileID)
FileByte.b = ReadByte(InputFileID)
PassByte.b = Asc(Mid(Password,Random(PassLength - 1) + 1,1))
WriteByte(OutputFileID,FileByte ! PassByte)
Wend
CloseFile(InputFileID)
CloseFile(OutputFileID)
ProcedureReturn #True
EndProcedure
; ------------------
; -- Verwendung --
; ------------------
If EnDeCode("D:\MeineBankdaten.txt","D:\MeineBankdaten_encoded.txt","MeinPasswort")
MessageRequester("Erfolgreich","Datei wurde verschlüsselt!")
Else
MessageRequester("Fehler","Datei konnte nicht gelesen oder geschrieben werden!")
EndIf
If EnDeCode("D:\MeineBankdaten_encoded.txt","D:\MeineBankdaten_decoded.txt","MeinPasswort")
MessageRequester("Erfolgreich","Datei wurde entschlüsselt!")
Else
MessageRequester("Fehler","Datei konnte nicht gelesen oder geschrieben werden!")
EndIf
Code: Alles auswählen
DataSection
FileStartPos:
IncludeBinary "D:\MeineBankdaten.txt"
FileEndPos:
EndDataSection
Code: Alles auswählen
FileID = CreateFile(#PB_Any,"MeineBankdaten.txt")
If FileID
WriteData(FileID,?FileStartPos,?FileEndPos - ?FileStartPos)
CloseFile(FileID)
EndIf

Datei entpacken:
Code: Alles auswählen
If OpenPack("D:\MeinPaket.pak")
*FileData = NextPackFile()
If *FileData
FileID = CreateFile(#PB_Any,"D:\MeineBankdaten_entpackt.txt")
If FileID
WriteData(FileID,*FileData,PackFileSize())
CloseFile(FileID)
Else
MessageRequester("Fehler","Datei konnte nicht entpackt werden!")
EndIf
Else
MessageRequester("Fehler","Keine Datei zum Entpacken gefunden!")
EndIf
ClosePack()
Else
MessageRequester("Fehler","Paket-Datei konnte nicht geöffnet werden!")
EndIf

Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
@X360 Andy:
Da schreibt man ausführliche Beispiel-Codes und bekommt nicht mal ein extrem schlichtes 3-Buchstaben Dankwort: Thx
Naja
Mfg Sicro
Da schreibt man ausführliche Beispiel-Codes und bekommt nicht mal ein extrem schlichtes 3-Buchstaben Dankwort: Thx
Naja

Mfg Sicro

Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Ups hab den Thread gar nicht mehr gesehen ...Sicro hat geschrieben:@X360 Andy:
Da schreibt man ausführliche Beispiel-Codes und bekommt nicht mal ein extrem schlichtes 3-Buchstaben Dankwort: Thx
Naja
Mfg Sicro
Danke (-:
Aber hab mir das damals als ich es gebraucht habe ( UND NICHT MEHR IN DEN THREAD GESCHAUT HABE ) so etwas selber zusammen gebastelt !(nur ohne verschlüsselung ... )
Aber trotzdem danke
(auch wenn das jetzt gezwungen rüber kommt warscheinlich)