AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Benötige Hilfe bei einer Entschlüsselung bei altem Programm
Thema durchsuchen
Ansicht
Themen-Optionen

Benötige Hilfe bei einer Entschlüsselung bei altem Programm

Ein Thema von Thomas Feichtner · begonnen am 8. Feb 2012 · letzter Beitrag vom 9. Feb 2012
Antwort Antwort
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Benötige Hilfe bei einer Entschlüsselung bei altem Programm

  Alt 9. Feb 2012, 09:58
Hallo Gammatester,

warum das geanze Gedöns weiß ich auch nicht. Ich habe dir per Mail den meiner Meinung nach den ganzen Source geschickt welche notwendig sein sollte.
Wir müssen hier Daten aus einem alten Programm importieren.
mfg

Thomas Feichtner

Geändert von Thomas Feichtner ( 9. Feb 2012 um 11:32 Uhr)
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#2

AW: Benötige Hilfe bei einer Entschlüsselung bei altem Programm

  Alt 9. Feb 2012, 10:33
Hier der schnell zusammengehackte Proof-of-Concept:
Delphi-Quellcode:
program fcrypt;

{$ifdef VER70}
  type ansichar = char;
{$else}
  {$apptype console}
{$endif}

{----------------------------------------------------}
var
  zz: array[0..5] of byte;

const
   p = 65521;

function nextrand: word;
begin
  asm
   push bx
   mov ax, Word ptr zz [0];
   mov bx, Word ptr zz [2];
   mov cx, Word ptr zz [4];

   sub ax, bx;
   jnc @@nrStore;
   add ax, p

@@nrStore:
   mov Word ptr zz [0], bx
   mov Word ptr zz [2], cx
   mov Word ptr zz [4], ax
   mov @result, ax
   pop bx
  end;
end;

{----------------------------------------------------}
procedure crypt(var bdata; datalen: integer);
var
  i: integer;
  data: array[0..32000] of word absolute bdata;
begin
  for i:=0 to datalen div 2 - 1 do data[i] := data[i] xor nextrand;
end;


{----------------------------------------------------}
const
  Initkey: array[0..5] of ansichar = 'OsyPPS';

const
  test: array[0..5] of byte = ($82, $6a, $55, $b0, $3b, $63);

var
  ct: array[0..sizeof(test)-1] of ansichar;
  i: integer;

begin
  move(initkey, zz, 6);
  move(test,ct,sizeof(ct));
  crypt(ct,6);
  write('Der entschlüsselte Text lautet: ');
  for i:=0 to 5 do write(ansichar(ct[i]));
  writeln;
end.
Kompilieren und Ausgabe:
Code:
Y:\WORK\Dev>D:\DMX\M12\DCC32 -b fcrypt.pas
CodeGear Delphi for Win32 compiler version 20.0
Copyright (c) 1983,2008 CodeGear
fcrypt.pas(67)
68 lines, 0.10 seconds, 14668 bytes code, 13068 bytes data.

Y:\WORK\Dev>FCRYPT.EXE
Der entschlüsselte Text lautet: THOMAS
Der Rest bleibt als Übungsaufgabe, hoffentlich hilft's weiter.

Gruß Gammatester
  Mit Zitat antworten Zitat
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Benötige Hilfe bei einer Entschlüsselung bei altem Programm

  Alt 9. Feb 2012, 11:17
Hallo Gammatester,

ja vorerst hilft es weiter. Was müsste ich machen dass es außerhalb einer Konsolenanwendung läuft?
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#4

AW: Benötige Hilfe bei einer Entschlüsselung bei altem Programm

  Alt 9. Feb 2012, 11:26
Was müsste ich machen dass es außerhalb einer Konsolenanwendung läuft?
Na kein write/writeln verwenden.
  Mit Zitat antworten Zitat
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Benötige Hilfe bei einer Entschlüsselung bei altem Programm

  Alt 9. Feb 2012, 11:33
Ja danke jetzt funktioniert es. Hatte eine Zeile vergessen zu übernehmen.
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz