AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Welche Verschlüsselung steckt hier hinter?
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Verschlüsselung steckt hier hinter?

Ein Thema von Relicted · begonnen am 26. Mai 2008 · letzter Beitrag vom 29. Mai 2008
Antwort Antwort
Seite 2 von 3     12 3      
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 22:17
Wieso? Ist doch gut. Hagens DEC besitzt MD5 und müsste auch TripleDES (genannt 3DES) unterstützen (Vorsicht vor evtl. unkompatiblen implementierungen). ECB gibts auch als Cipher-Mode. Jetzt brauchst du nur noch das ganze anzuwenden. Wenn du Hilfe dabei brauchst, kann ich dir ein Codebeispiel geben.

http://www.delphipraxis.net/internal...&highlight=dec

http://www.michael-puff.de/Developer...agen_Reddmann/

Zusammenfassend:

Hash = THash_Md5
Cipher = TCipher_3DES
Mode = ECBx
Kein KdFx
Daniel Marschall
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 22:27
danke!

wenn du nen schnipsel hast wär ich dir dankbar... hab mit der dec noch nicht gearbeitet.

gruß
reli
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 22:29
OK.

Willst du Ver- oder Entschlüsselung (oder beides?) einer Savegame-Datei?

Gruß
Daniel Marschall
Daniel Marschall
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 22:30
nur entschlüsseln. muss nur an die infos ran um sie an ein script weiter zu geben

edit: hab dich mal ins icq geadded dann müssen wir für mini sätze nicht immer nen post machen
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#15

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 22:36
du hast dir aber schon das hier angesehen?
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 22:56
jap hab ich und bin am basteln... klappt aber noch nicht so wirklich

Zitat:
registered classes

E1B35EAB : TFormat_HEX
39D2D18D : TFormat_HEXL
B7EF2999 : TFormat_MIME32
23FB78E9 : TFormat_MIME64
CF6B46D3 : TFormat_PGP
6FCCDE6F : TFormat_UU
A4D3DC9F : TFormat_XX
168B27C3 : TFormat_ESCAPE
D3A02D0F : THash_MD2
3AC3883A : THash_MD4
4DC4B8AC : THash_MD5
A0A1CCFF : THash_SHA
7B215B73 : THash_SHA1
9EE7F031 : THash_SHA256
C4858567 : THash_SHA384
F8A9E7A9 : THash_SHA512
8442C643 : THash_Sapphire
323031D0 : THash_Panama
0E0D5F38 : THash_Tiger
47EEAE41 : THash_RipeMD128
2D59E377 : THash_RipeMD160
ED51ABD8 : THash_RipeMD256
4AB1F21D : THash_RipeMD320
B0837E88 : THash_Haval128
DA3433BE : THash_Haval160
B3A24E5D : THash_Haval192
BB738CFA : THash_Haval224
1A3C7B11 : THash_Haval256
5CCB1E12 : THash_Whirlpool
A566AF64 : THash_Whirlpool1
996BCEE5 : THash_Square
E3374275 : THash_Snefru128
498847EC : THash_Snefru256
54E9A294 : TCipher_Blowfish
B38AB3E6 : TCipher_Twofish
3938F197 : TCipher_IDEA
47C2021C : TCipher_Cast256
46AB51F5 : TCipher_Mars
73A3DF5A : TCipher_RC4
9DADBE76 : TCipher_RC6
F8B830A5 : TCipher_Rijndael
2954C319 : TCipher_Square
938C9891 : TCipher_SCOP
42FAA470 : TCipher_Sapphire
640A08AC : TCipher_1DES
76BFA742 : TCipher_2DES
CE03C027 : TCipher_3DES
70C155BD : TCipher_2DDES
4DA17C0D : TCipher_3DDES
1DB82B92 : TCipher_3TDES
54DAF114 : TCipher_3Way
ED7D0785 : TCipher_Cast128
A4F73879 : TCipher_Gost
534C8585 : TCipher_Misty
5EE9D8B9 : TCipher_NewDES
B70802F5 : TCipher_Q128
9AC07A6F : TCipher_RC2
04A4EFCC : TCipher_RC5
97CE1F8A : TCipher_SAFER
8E616AD3 : TCipher_Shark
D2283F49 : TCipher_Skipjack
011B81DD : TCipher_TEA
6E5ACC77 : TCipher_TEAN


File En/Decryption test
Class 5A583875 not registered
habe die demo aus der installation benutzt
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#17

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 23:02
Hallo.

Hier erstmal das Grundgerüst. Es funktioniert aber noch nicht wirklich... Format des Hashs ist unbekannt. Exceptions bei fehlerhafter Entschlüsselung werden nicht abgefangen und behandelt. Es existiert eine AccessViolation... Es ist nicht klar, ob ECB-Implementierung die selbe wie beim Originalcode des GTR2 ist...

Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  TGTR2SaveGameInfo = record
    Player: String;
    Time: String;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  DECHash, DECCipher, DECFmt;

function GTR2Decode(AInput: string): string;
var
  hash: THash_MD5;
  cipher: TCipher_3DES;
  tmp_md5, tmp_output: string;
const
  Secret = 'Gtr2Manager';
begin
  // DEC Initialisierung

  SetDefaultCipherClass(TCipher_3DES);
  SetDefaultHashClass(THash_MD5);

  // 1. Compute hash of key (Gtr2Manager)

  hash := THash_MD5.Create;
  try
    tmp_md5 := hash.CalcBinary(Secret, TFormat_Copy); // WELCHES FORMAT???
  finally
    hash.free;
  end;

  // 2. Use TripleDES ECB to decrypt data using computed key.

  cipher := TCipher_3DES.Create;
  try
    cipher.Mode := cmECBx;
    cipher.Init(tmp_md5);
    cipher.Decode(AInput, tmp_output, length(AInput)); // Dicke AccessViolation

    UniqueString(tmp_output); // Notwendig?
  finally
    cipher.free;
  end;

  result := tmp_output;
end;

function GTR2ReadSaveGame(AFilename: string): TGTR2SaveGameInfo;
var
  txt: TextFile;
  tmp_player, tmp_time: string;
begin
  AssignFile(txt, AFilename);
  Reset(txt);

  ReadLn(txt, tmp_player);
  result.Player := GTR2Decode(tmp_player);

  ReadLn(txt, tmp_time);
  result.Time := GTR2Decode(tmp_time);

  CloseFile(txt);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sav: TGTR2SaveGameInfo;
begin
  sav := GTR2ReadSaveGame('C:\SaveGame.sav');
  showmessage('Player=' + sav.Player);
  showmessage('Time=' + sav.Time);
end;

end.
Daniel Marschall
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 23:11
habs natürlich direkt mal mit deinem getestet.
hier noch ne weitere datei. mit dem 2. wert knallts nicht beim decode sondern beim uniqueString bzw. dem result geben (read access vio).

Zitat:
ZX8uAy7DSZM=
obZzyUy8HVDIUYL258//OA==
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#19

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 23:15
Weiß nicht genau, wo die AV exakt war.

Ich befürchte, dass es mit DEC nicht geht. Wenn ich lese, der Key sei ein MD5, dann stelle ich mir entweder das Format TFormat_HEXL (Hexzeichen, Buchstaben klein) oder TFormat_HEX (Hexzeichen, Buchstaben groß) vor. So notiert man einen MD5 String in der Regel immer. Aber dann sagt der Cipher im DEC: "Keymaterial is to large as can be used, security issue". Hagen?
Daniel Marschall
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#20

Re: Welche Verschlüsselung steckt hier hinter?

  Alt 28. Mai 2008, 23:34
Fehlerbehebung:

Delphi-Quellcode:
  // 2. Use TripleDES ECB to decrypt data using computed key.

  try
    cipher := TCipher_3DES.Create;
    try
      cipher.Mode := cmECBx;
      cipher.Init(tmp_md5);
      result := cipher.DecodeBinary(AInput);
    finally
      cipher.free;
    end;
  except
    result := '???';
  end;
Zu dem Rest mit der Format-Geschichte kann ich aber nichts sagen. Es kommt nur Müll am Ende raus.

Vielleicht ist die ECB-Implementierung anders (ist ECBx was anderes?) oder der GTR2-Algorithmus verwendet tatsächlich TFormat_HEX oder TFormat_HEXL, was aber "Size > Context.KeySize" zur Folge hat und daher von Hagen deaktiviert wurde.

PS: Ich glaube nicht, dass "ZX8uAy7DSZM=" ein korrekter Wert ist. Deine anderen Ergebnisse haben immer ein "IUYL258//OA==" am Ende, wieso jetzt also nicht? Ich arbeite zum Testen mit den Werten aus deinem initialen Post.

Gruß
Daniel Marschall
Daniel Marschall
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz