msnde yakalarsam sorarım. %40 indirimli olarak "Centos Sistem ve Sunucu Ynetimi" adlı kitabımızı satın alarak, Linux üzerine yapılacak olan devam projeleri icin destekte bulunabilirsiniz : http://www.hepsiburada.com/centos-sistem-ve-sunucu-yonetimi-oku-izle-dinle-ogren-p-KKODLAB01579

selamlar. daha nceden opera password decrypter hakkında konu acmistim. amacim bu c++ kodunu delphiye cevirmek. http://tahribat.com/forumdisplayfolder. asp?folderid=88931bilge adama giden arkadaslarhttp://www.reteam.org/blog/archives/unwand. cppbu linkteki C++ dosyasini indirip hocalarina dnüştürtebilirlermi?artik tek care bilge adam hocalarindan birine yaptirmak yaklasik 2-3 aydir uğrasiorum. OPENSSL gerekliymiş. C ile yazilmiş bir yığın kodu delphiye cevirdimbu openssl nin olduğu hiçbir kodu dnüştüremedim. bu projeyi derleselerde olur. bunun derlenmiş hali weya delphiye dnüstürülmüs hali lazim :Siyi günler. 🏴Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...

kill3r7 ve ben bayaği uğrastik bu kadar yapabildik amaif ReadDWord <> 2 then begin showmessage('err 2'); Exit; end; // Versionbu satirda problem cikariyoropera şifreleri xP altindaC:\Documents and Settings\<Username>\Application Data\Opera\Opera\profile veWindows Vista- Seven altindaC:\Users\ <username> \AppData\Roaming\Opera\Opera\profilebu pathler de yer aliyor. unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DCPdes, DCPsha1, DCPmd5;type TForm1 = class Button1: TButton; ListBox1: TListBox; Memo1: TMemo; procedure Button1Click ; procedure Run1; function DecryptWandPass : String; procedure ProcessWandData ; end;var Form1: TForm1; FormsList: TList; AccountList: TList; M: TMemoryStream;type POperaItem = ^TOperaItem; TOperaItem = record Site: String; Params: TStringList; end;implementation const opera_magic_wand: array of Byte = ($83, $7D, $FC, $0F, $8E, $B3, $E8, $69, $73, $AF, $FF);procedure OperaDecrypt ;var out_1: array of Byte; out_2: array of Byte; digest_1: array of Byte; digest_2: array of Byte; des_key: array of Byte; md5: TDCP_md5; Cipher: TDCP_3des;begin md5 := TDCP_md5. Create ; md5. Init; Move(magic^, out_1, magic_len); Move(key^, out_1 , 8); md5. Update(out_1, magic_len+8); md5. Final(digest_1); Move(digest_1, des_key, 16); md5. Init; Move(digest_1, out_2, 16); Move(magic^, out_2 , magic_len); Move(key^, out_2 , 8); md5. Update(out_2, 24+magic_len); md5. Final(digest_2); md5. Burn; md5. Free; Move(digest_2, des_key , 8); Cipher := TDCP_3des. Create ; Cipher. Init(des_key, 192, @digest_2 ); Cipher. DecryptCBC ; Cipher. Burn; Cipher. Free;end;function TForm1. DecryptWandPass : String;begin Result := ''; if Length <> 8 then Exit; if (Length < 8) or (Length mod 8 <> 0) then Exit; SetLength(Result, Length ; OperaDecrypt(@Key , @Data , @Result , Length , @opera_magic_wand, SizeOf ; SetLength(Result, Length -Ord(Result )); // Cut unused chars Result := WideCharToString(@(Result+#0#0) ); // Wide>ANSIend;procedure TForm1. ProcessWandData ;var P: POperaItem; function Swap32 : LongWord; assembler; asm bswap eax end; function ReadDWord: LongWord; begin M. ReadBuffer(Result,4); Result := Swap32 ; end; function ReadVariable : String; begin SetLength ; M. ReadBuffer(Result , CLen); end; function ReadSiteHeader: Integer; var Key, Data: String; begin if ReadDWord <= 4 then // Len ReadDWord; // Site name Key := ReadVariable ; Data := ReadVariable ; New ; P. Params := TStringList. Create; P. Site := DecryptWandPass ; FormsList. Add ; // Submit button name if ReadDWord > 0 then begin ReadVariable ; // Key ReadVariable ; // Data end; ReadVariable(24); // Unknown Result := ReadDWord; // Number of children end; procedure ReadSiteItem; var Key, Data, Key2, Data2: String; begin ReadVariable(1); // Unknown if ReadDWord <= 4 then // Len ReadDWord; // Input name Key := ReadVariable ; showmessage ; Data := ReadVariable ; if ReadDWord <= 4 then // Len ReadDWord; // Input value Key2 := ReadVariable ; showmessage('Key : ' +key2); Data2 := ReadVariable ; if P <> nil then P. Params. Add(DecryptWandPass + '=' + DecryptWandPass(Key2, Data2)); end;var i, j: Integer;begin if M. Size < 16 then begin showmessage('error 1'); Exit; end;if ReadDWord <> 2 then begin showmessage('err 2'); Exit; end; // Versionif ReadDWord <> 0 then begin showmessage('err 3'); Exit; end; // 1 - crypted, 0 - not crypted ReadVariable(8); // Unknown P := nil; // Header ReadDWord; // Len ReadVariable ; // Key ReadVariable ; // Data ReadVariable(37); // Unknown // Data types? for i := 1 to ReadDWord do begin ReadVariable(1); // Unknown ReadVariable(4); // Len ReadVariable ; // Key ReadVariable ; // Data ReadVariable(8); // Unknown end; // LogProfile ReadVariable(4); // Len ReadVariable ; // Key ReadVariable ; // Data ReadVariable(1); // Boolean // Sites for i := 1 to ReadDWord do for j := 1 to ReadSiteHeader do ReadSiteItem;end;procedure TForm1. Run1;varresult : string;begin M := TMemoryStream. Create; M. LoadFromFile ; Memo1. Lines. LoadFromStream ; M. Position:=0; ProcessWandData ; M. Free;end;procedure TForm1. Button1Click ;begin Run1;end;end. 🏴Hi'dan gelen varır Who'ya, Hi'da onun adıdır Who'da...