Quote:
Originally Posted by Xelvair
Hiho E*Pvp
Ich beschäftige mich seit geraumer Zeit im Moddingbereich (ausserhalb von elitepvpers) und habe schon öfters sogenannte File-Extractors benutzt, welche aus gecrypteten dateien die originale wiederherstellen. Ich habe jetzt schon ein wenig erfahrung in C++, und schon meine eigenen Versuche mit einfacher Text En bzw. Decryptung gestartet.
Was mir eben spontan einfiel, war dass ich jeweils einen Char in einen Int caste, den modifiziere und wieder in einen Char caste, das dann mit allen Chars wiederhole und meine Gecryptete Datei dann bekomme, jetzt meine Frage.
Mir hat ein Freund, der selber solche Programme schreibt, mal irgendwas von Headern zugeflüstert... ich hab auch eine gewisse Vorstellung, wie diese in einem File aussehen, aber wie sollen diese mir beim extrahieren bzw. decrypten helfen?
Zweite Frage wäre, dass wenn ich mit meiner Theorie richtig liege, ob die Dateien einfach nur so mit einem festen Wert verschlüsselt werden (z.b. alle Chars+34) oder per algorithmen...
So, das wars erstmal und Ich hoffe auf positive und aufschlussreiche Antworten
mfG, Xel~
|
Kleine Antwort am Start, um mal etwas zu klären: Alle Chars+34 ist auch ein Algorithmus
So nun kommen wir zur 1. Frage:
Es kommt drauf an, was er genau mit Headern meint.
Es gibt einerseits Header von bekannten Krypto-Librarys, sodass er meinen könnte, dass du dir so eine für das Ver-/Entschlüsseln nimmst, was meist deutlich sicherer als eigenen Algorithmen ist.
Oder er meint File-Header.
Die haben was mit dem strukturellen und logischen Aufbau deines Archivformats zutun.
Normalerweise wird ja ein Archiv verwendet; also überlegst du, wie dieses Archiv aufgebaut sein soll:
-Wie sollen die Namen der originalen Dateien gespeichert werden?
-Wo genau?
-Wie soll die File-Entry-Table aufgebaut sein? (Tabelle, in der die Daten aller Dateien wie Größe, Name, Position im Archiv etc. stehen)
-Soll diese Tabelle mit verschlüsselt werden? (zu empfehlen)
-Benutzt du einen festen Key, ein festes Passwort oder einen Hash von irgendwas?
Der File Header steht normalerweise als erstes im Format; da siehst du welche Version des Formats es ist und andere Daten die du eben einbauen möchtest, wenn du dein eigenes Format aufbaust.
Normalerweise wird in Formaten von Verschlüsselungsprogrammen ein Hash vom Passwort im Format gespeichert (niemals das Passwort so!), um zu überprüfen, ob das eingegebene richtig ist (man kann das auch lassen, aber so wird man bei einem Tippfehler nicht benachrichtigt und bekommt eine beschädigte Datei beim entpacken).
2. Frage:
Nein, werden sie nicht; zumindest nicht wenn es sicher sein soll.
Sonst würde jeder ganz einfach die Dateien entschlüsseln können.
Normalerweise wird zwar ein fester Key genommen, aber der wird nicht nur einfach addiert, sondern kompliziert mit den Daten verknüpft.
Manche Programme nutzen auch dynamische Keys, ist aber nicht unbedingt notwendig, solange der originale gut im Programm versteckt ist, oder sogar, falls es ein Online Game ist, vom Server gesendet wird (lässt sich zwar immer noch finden, aber schwerer als bei einem statisch gespeicherten).
Naja und bei Verschlüsselungsprogrammen wird eben das vom User gegebene Passwort genommen.