Crypto Ini entschlüsseln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Sumel
User
Beiträge: 3
Registriert: Montag 4. Februar 2008, 19:39

Crypto Ini entschlüsseln

Beitragvon Sumel » Montag 4. Februar 2008, 19:58

Hi
erst mal wollte ich sagen ihr habt nettes forum :wink:
Ich bin der sumel und 18 jahre.
Ich habe vor ca 4 monaten mit delphi 7 angefangen.
So nun habe ich erste mal heute python geladen und wollte einen decryter source code von delphi 7 nach python um wandeln.
Aber ich schaffe es nicht ,da ich phython wohl keine crypt liberies besitz.

Ich möchte gerne diesen code in einem kleinen gui in python mit euer hilfe ertellen,das ich eine ini laden kann und decrypten kann auch ala stext oder ini anbpeichern kann.

Könnte mir jemand bitte unter die arme greifen und einen source snipsel mit gui zum öfnen und decrypten und als txt speichern coden bzw zeigen.
Ich habe leider keinen schimmer wie das funzt.

[code=]
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DCPcrypt2, DCPrc4, StdCtrls, DCPsha1;

type
TForm9 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
DCP_rc41: TDCP_rc4;
Button2: TButton;
DCP_sha11: TDCP_sha1;
Edit3: TEdit;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Cipher: TDCP_rc4;
KeyStr: string;
Source, Dest: TFileStream;
begin
KeyStr:= 'der publick key';
// if InputQuery('Passphrase','Enter passphrase',KeyStr) then // get the passphrase
begin
try
Source:= TFileStream.Create(Edit1.Text,fmOpenRead);
Dest:= TFileStream.Create(Edit2.Text,fmCreate);
Cipher:= TDCP_rc4.Create(Self);
Cipher.InitStr(KeyStr,TDCP_sha1); // initialize the cipher with a hash of the passphrase
Cipher.EncryptStream(Source,Dest,Source.Size); // encrypt the contents of the file
Cipher.Burn;
Cipher.Free;
Dest.Free;
Source.Free;
// MessageDlg('File encrypted',mtInformation,[mbOK],0);
except
//MessageDlg('File IO error',mtError,[mbOK],0);
Close;
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
Cipher: TDCP_rc4;
KeyStr: string;
Source, Dest: TFileStream;
begin
KeyStr:= 'der publick key';
//if InputQuery('Passphrase','Enter passphrase',KeyStr) then // get the passphrase
begin
try
Source:= TFileStream.Create(Edit3.Text,fmOpenRead);
Dest:= TFileStream.Create(Edit4.Text,fmCreate);
Cipher:= TDCP_rc4.Create(Self);
Cipher.InitStr(KeyStr,TDCP_sha1); // initialize the cipher with a hash of the passphrase
Cipher.DecryptStream(Source,Dest,Source.Size); // decrypt the contents of the file
Cipher.Burn;
Cipher.Free;
Dest.Free;
Source.Free;
//MessageDlg('File decrypted',mtInformation,[mbOK],0);
except
//MessageDlg('File IO error',mtError,[mbOK],0);
Close;
end;
end;
end;

end.
[/code]
Zuletzt geändert von Sumel am Montag 4. Februar 2008, 20:13, insgesamt 3-mal geändert.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7471
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Montag 4. Februar 2008, 20:04

Also zum einen müsste man diesen Decrypt-Algo ja erst einmal kennen und zum anderen solltest Du erst mal "klein" anfangen. Lerne erst einmal die Kontrollstrukturen usw. von Python kennen, bevor Du etwas "riesiges" mit GUI basteln willst.

Dann taste Dich langsam an den Decodier-Algo ran (Wenn es diesen denn quelloffen gibt!). Am Anfang tuts ja wohl auch eine Konsolenversion - die GUI ist dann später eh nur Aufsatz!
Sumel
User
Beiträge: 3
Registriert: Montag 4. Februar 2008, 19:39

Beitragvon Sumel » Montag 4. Februar 2008, 20:10

Hi also den algo kenne ich ja habe ich ja, selber in delphi coded.
Verwendete kompos in delphi http://www.cityinthesky.co.uk/
RC4 mit sha1,klar muß das kein gui für den anfang sein^^
Leider konntest du mir nicht helfen,wie das mit cryptliebs ausieht,hoffe jemand kann mir noch helfen.
Trotzdem danke für deine zeit.

[code=]
Cipher:= TDCP_rc4.Create(Self);
Cipher.InitStr(KeyStr,TDCP_sha1); // initialize the cipher with a hash of the passphrase
Cipher.DecryptStream(Source,Dest,Source.Size); // decrypt the contents of the file
[/code]
Benutzeravatar
Hyperion
Moderator
Beiträge: 7471
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Montag 4. Februar 2008, 20:12

Also selbst die Suche nach "python" und "sha1" bei google liefert als ersten Eintrag den Link auf die Doku ;) Für den Fall, dass Du selber nicht daran gedacht hast, dort zuerst nachzusehen :D
BlackJack

Beitragvon BlackJack » Montag 4. Februar 2008, 20:24

@Sumel: Ich bin jetzt ein wenig irritiert, Du hast den Algorithmus selber implementiert oder den Code von der angegebenen Homepage verwendet!?

Falls der RC4 von dort mit dem ARC4 aus diesem Paket kompatibel ist, brauchst Du ihn vielleicht nicht selbst implementieren: http://www.amk.ca/python/code/crypto.html
Sumel
User
Beiträge: 3
Registriert: Montag 4. Februar 2008, 19:39

Beitragvon Sumel » Dienstag 5. Februar 2008, 09:48

Guten Morgen
Hi also ich habe die crypto kompo von der hp benütz in Delphi und natürlich selber eingebaut.
Dein link sieht gut aus.Das hatte ich ja gesucht.
Werde mein glück versuchen.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder