Einzelnen Beitrag anzeigen

Thomas Feichtner

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

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

  Alt 8. Feb 2012, 23:03
Zum Entschlüsseln von Daten wurden in einem altem Pascal-Programm folgender Code verwendet. Kann mir jemand Helfen daraus eine Funktion zu basteln?
Es muss bei folgenden HEX String "82 6a 55 b0 3b 63" "THOMAS" raus kommen.

Code:
(*******************************************************************************
 PROCEDURE Crypt (dataPtr: AdsMem;           8 [bp] --> es:di 4 Byte Pointer
                  dataLen: WORD              6 [bp] --> cx   2 Byte Laenge
                  ); EXTERN;
*******************************************************************************)
Crypt PROC FAR
   push bp
   mov bp, sp

   call near TestRandom

   push cx
   mov cx, 6 [bp]                     ; cx:=   dataLen
   jcxz @crReturn

   push es
   push di
   les di, 8 [bp]                     ; es:di:= dataPtr
   shr cx, 1                           ; immer 2 Bytes werden ver/entSchlüsselt

@crLoop:
   call near NextRand;
   xor ax, Word Ptr es:[di]
   stosW                               ; es:[di]:= verschluesseltes Word
   dec cx
   jnz @crLoop

   pop di
   pop es

@crReturn:
   pop cx
   mov sp, bp
   pop bp
   retf 6                              ; dataPtr, dataLen wegwerfen
Crypt ENDP
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat