AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Entschlüsselung von D7 auf D10.2 Tokyo portieren

Ein Thema von Poelser · begonnen am 8. Okt 2020 · letzter Beitrag vom 9. Okt 2020
 
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Entschlüsselung von D7 auf D10.2 Tokyo portieren

  Alt 8. Okt 2020, 15:52
Funktioniert zwar immer noch nicht, aber ich bin ja nun einen Schritt weiter. Die Umstellung auf AnsiChar funktioniert jetzt mit Tokyo und Lazarus identisch.

Was nicht funktioniert, ist diese Funktion:
Delphi-Quellcode:
class procedure TTools_Crypt.CryptByte(var aByte: Byte; var CV: Word);
var
  rBX, rDX: Word;
  i: Byte;
  rBL: Byte absolute rBX;
begin
  rBX:=CV;
  for i:=1 to 8 do
  begin
    rDX:=rBX;
    rDX:=rDX shl 1;
    asm
      mov AX, rDX
      shr AL, 1
      xor AL, AH
      mov rDX, AX
    end;
    rBX:=rBX shl 1;
    asm
      mov AX, rDX
      rcr AX, 1
      mov rDX, AX
      mov AX, rBX
      rcr AX, 1
      mov rBX, AX
    end;
    rBX:=rBX shr 1;
  end;
  aByte:=aByte xor rBL;
  CV:=rBX;
end;
Vorher wird mit all den anderen Funktionen ein (verschlüsselter) String in einen Puffer geschrieben. In diesem Puffer wird Byte für Byte entschlüsselt, in CV kommt der Schlüssel rein (das was in Const Cryptval steht). Dieser Puffer wird anschliessend in den String zurückgeschrieben.

Nur zur Erinnerung: Ursprünglich funktioniert das mit D7, und auch im aktuellen Lazarus kein Problem (Lazarus braucht zusätzlich nur {$ASMMODE intel}).

Aber in Tokyo kann ich im Debugger sehen, dass im Puffer was anderes erzeugt wird, und dieser falsche Kram landet im String.

Damit ergibt sich die Frage, warum verhält sich Tokyo hier anders als Lazarus und D7?
Was muss ich ändern, gibt es hier vielleicht noch einen Compilerschalter, den mir Google nicht rausrückt? Ich verstehe von Intel-Assembler leider zu wenig
Oder gibt's in Tokyo hier 'nen Bug?

Geändert von Poelser ( 8. Okt 2020 um 16:06 Uhr) Grund: Hatte übersehen, das kann ja auch noch sein
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:34 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