Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
18. Feb 2008
Ach komm, ich habe schon sehr dezent darauf hingewiesen. Du warst es der deinen Fehler auch noch fett hervorgehoben hat. Für mich ist es eher zum Schmunzeln, ab-specken -> re-specken mit Respekt, wäre doch mal was für Weight Watchers. Davon abgesehen sind wir Kollegen und da meine ich kann man mal auf solche Kleinigkeiten hinweisen, ist also keine Kritik oder Lustigmachen meinerseits.
Du...
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
18. Feb 2008
Ausführbare Dateien werde ich mir nicht anschauen, verständlich oder :) Ich möchte dir damit keine bösen Absichten unterstellen sondern nur meinen Rechner sauber halten.
EDIT: ich schrieb
Ist natürlich falsch und bezieht sich auf dem OFB8 -> Output Feedback Modus und nicht CFB8 -> Cipher Feedback Modus. Der CFB8 ist im Gegensatz zum OFB8 auch abhängig vom Datenstrom der verschlüsselt...
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
17. Feb 2008
Ach und nochwas ;)
Der Cipher wird im CFB8 Modus betrieben. Das ist quasi ein Blockcipher der in einen Streamcipher umgewandelt wird. Das besondere daran ist das nun der AES ausgehend vom Passwort nur einen Schlüsselstrom aus Bytes erzeugt. Dieser Schlüselstrom wird dann mit den Daten XOR verknüpft. Das ist unsicher !!
Denn nun machen wir einfach mal folgendes Experiment. Wir legen eine...
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
17. Feb 2008
So nach kurzer Recherche weiß ich nun worum es geht. Mit nachfolgendem Code kann man RapidShare Containter Dateien mit Endung .RSDF entschlüsseln. So wie ich das interpretiere benutzt Rapidshare dabei zwar eine starke AES Verschlüsselung aber im Grunde vollkommen falsch. Ein Beispiel wie man es nicht machen sollte.
1.) das Passwort scheint hardcoded zu sein, kein Wunder das Cracker dieses...
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
17. Feb 2008
Weißt du was der PHP Code macht, wie er funktioniert ?
Als Hinweis: wie oft wird der Cipher erzeugt und mit einem Password gefüttert im Vergleich zu der Anzahl der Datenzeilen die man entschlüsselt ?
with TCipher_Rijndael.Create do
try
Mode := cmCFB8;
Init(TFormat_HEX.Decode('8C35192D964DC3182C6F84F3252239EB4A320D2500000000'));
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
15. Feb 2008
So, du bist mir'ne Nuss ;)
function CCFDecrypt(const CCF: Binary; const Password: Binary): Binary;
begin
with TCipher_Rijndael.Create do
try
Mode := cmCFB8;
Init(Password);
Result := DecodeBinary(CCF, TFormat_MIME64);
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
15. Feb 2008
Davon abgesehen stimmt mit deinen Testvektoren sowieso irgendwas nicht.
696D6C5666374861645137307A6C466C
516E6F2F73736937614A616C734E4C76
5830636751345930544E5432
--334C4C6752306256646C652F77735A3246704B6E5A654F6C6E686E2F586E4C4C4A6E3D3D0D0A^
Entschlüsselt 1:
CCF: http://rapidshare.com/files/ -- 58141435/voy402.part1.rar
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
15. Feb 2008
ok,
IV = binascii.unhexlify('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF')
IV_Cipher = AES.new(Key,AES.MODE_ECB)
IV = IV_Cipher.encrypt(IV)
zeige mal zu deinen Testvektoren noch den IV nach IV_Cipher.Encrypt() als HEX String. Bisher konnte ich nichts reproduzieren. Ich brauch also diesen verschlüsselten IV als HEX String.
Gruß Hagen