Delphi-PRAXiS
Seite 6 von 7   « Erste     456 7      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Der DEC x32 ASM in x64/PurePascal Konvertierungsthread (https://www.delphipraxis.net/165599-der-dec-x32-asm-x64-purepascal-konvertierungsthread.html)

Schorschi5566 3. Dez 2013 16:12

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Hallo gammatester,

Zitat:

Zitat von gammatester (Beitrag 1238305)
Das geht so überhaupt nicht! Es liegt aber nicht an meinen Routinen, sondern an den häufigen selbstgestrickten DEC-Routinen:

Ok, verstehe. Ist zwar schlecht, weil's dann wohl darauf rausläuft, dass ich sämtliche Programme, die ich künftig noch pflegen muss und die irgendwo diese Routine verwendet haben um irgendwas zu verschlüsseln, in einer 32-Bit-Version auf ein neues Verfahren umkonvertieren muss um dann in einer künftigen 64-Bit-Version mit beispielsweise Deinen Routinen zu arbeiten. Das wird kein Spaß. :(

Wie sieht's denn damit aus? Das ist zumindest auch unter (beispielsweise) PHP verwendbar...
Delphi-Quellcode:
function EncryptStringForPHP(Text, Password: RawByteString): RawByteString;
var
  Salt : Binary;
begin
  Salt := RandomBinary(8);
  with TCipher_Blowfish.Create do
    try
      mode := cmCFB8;
      Init(Password, Salt, Context.KeySize);
      Result := TFormat_MIME64.Encode(Salt + EncodeBinary(Text, TFormat_Copy));
    finally
      Free;
      ProtectBinary(Salt);
      ProtectBinary(Password);
    end;
end;
Grüße,
Uwe

Schorschi5566 3. Dez 2013 16:31

AW: 256 bit Integer Addition von ASM in PurePascal
 
Hallo Sven,

Zitat:

Zitat von JamesTKirk (Beitrag 1238299)
Ist zwar schon ne Weile her der Post, aber dennoch sollte man erklären woran es hier hakt: FPC arbeitet standardmäßig im AT&T Syntax Modus, wobei register mit einem "%"-Prefix benannt sind und noch dazu Source und Destination Register vertauscht sind. Will man den Intel Modus verwenden (der für i386 und x86_64 unterstützt ist), so muss man eine
Delphi-Quellcode:
{$asmmode intel}
Direktive einfügen.

Hakt es jetzt also daran, dass die DEC 6.0 kompatibel zu FPC werden soll oder daran, dass weiterhin Assembler verwendet werden soll? Oder wie?

Oder anders gefragt: Wäre eine 64-Bit-Version für Delphi unter Windows machbar oder ist gar schon lauffähig?

Also für den Moment wäre Vielen sicherlich schon mit einer DEC 5.9 geholfen, die mit Delphi unter 64-Bit so funktioniert, wie die DEC 5.2 unter 32-Bit, denke ich mal.

Vielleicht sollte man ja erstmal diesen Teilschritt realisieren.


Grüße,
Uwe

JamesTKirk 4. Dez 2013 06:41

AW: 256 bit Integer Addition von ASM in PurePascal
 
Zitat:

Zitat von jaenicke (Beitrag 1238307)
Zitat:

Zitat von JamesTKirk (Beitrag 1238299)
Eine Anmerkung noch zu Calling Conventions: diese sind unter x86_64-win64 und x86_64-[alles andere] unterschiedlich. Letztere verwenden die Linux x86_64 ABI während nur Windows hier sein eigenes Süppchen kocht.

Genau genommen fällt UEFI aus dem "alles andere" auch heraus und nutzt die selbe Konvention wie Windows.

1. bezog sich mein x86_64-[alles andere] eigentlich auf die anderen von Free Pascal unterstützten Betriebssysteme unter x86_64
2. war ja wohl Microsoft sehr stark an UEFI beteiligt, was man auch daran sehen kann, dass Portable Executable als Binärformat gewählt wurde...

Zitat:

Zitat von Schorschi5566 (Beitrag 1238388)
Hakt es jetzt also daran, dass die DEC 6.0 kompatibel zu FPC werden soll oder daran, dass weiterhin Assembler verwendet werden soll? Oder wie?

Ich denke es hakt weniger daran, dass DEC 6.0 FPC kompatibel werden soll (was ich durchaus begrüßen würde, aber ich denke das ist ein längerfristiges Ziel), sondern eher daran, dass Assertor nicht so viel Zeit in DEC investieren kann, wie er vielleicht gerne möchte.

Zitat:

Zitat von Schorschi5566 (Beitrag 1238388)
Oder anders gefragt: Wäre eine 64-Bit-Version für Delphi unter Windows machbar oder ist gar schon lauffähig?

Wenn du dir den Thread Der DEC x32 ASM in x64/PurePascal Konvertierungsthread, dann scheint es schon prinzipiell voran gekommen zu sein, aber es ist wohl noch nicht vollständig. Für mehr Details müsstest du dich aber wohl an Assertor wenden.

Gruß,
Sven

gammatester 4. Dez 2013 08:08

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Zitat:

Zitat von Schorschi5566 (Beitrag 1238384)
Wie sieht's denn damit aus? Das ist zumindest auch unter (beispielsweise) PHP verwendbar...
Delphi-Quellcode:
function EncryptStringForPHP(Text, Password:
//...
with TCipher_Blowfish.Create do
    try
      mode := cmCFB8;
      Init(Password, Salt, Context.KeySize);
      Result := TFormat_MIME64.Encode(Salt + EncodeBinary(Text, TFormat_Copy));

Mein Blowfish-CFB arbeitet mit Blockgröße; die einzige Chiffre, die CFB8 unterstützt, ist auf spezielle Useranfrage AES. Wenn es denn unbedingt das ineffektive CFB8 sein muß (eigentlich für langsame byteweise Übertragung gedacht), kann man als Vorlage die beiden kleinen AES-Funktionen aus aes_cfb8.pas nehmen.

Schorschi5566 4. Dez 2013 18:16

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Hallo gammatester,

Zitat:

Zitat von gammatester (Beitrag 1238452)
Wenn es denn unbedingt das ineffektive CFB8 sein muß (eigentlich für langsame byteweise Übertragung gedacht), kann man als Vorlage die beiden kleinen AES-Funktionen aus aes_cfb8.pas nehmen.

Nein, muss es nicht unbedingt sein. War nur die erste Funktion, die ich damals so unter Delphi und PHP zum Laufen gebracht habe...:stupid:

Ich habe Dir mal 'ne PM geschickt.


Grüße,
Uwe

JamesTKirk 4. Dez 2013 21:51

AW: 256 bit Integer Addition von ASM in PurePascal
 
Zitat:

Zitat von JamesTKirk (Beitrag 1238444)
Zitat:

Zitat von Schorschi5566 (Beitrag 1238388)
Oder anders gefragt: Wäre eine 64-Bit-Version für Delphi unter Windows machbar oder ist gar schon lauffähig?

Wenn du dir den Thread Der DEC x32 ASM in x64/PurePascal Konvertierungsthread, dann scheint es schon prinzipiell voran gekommen zu sein, aber es ist wohl noch nicht vollständig. Für mehr Details müsstest du dich aber wohl an Assertor wenden.

Man merkt, dass ich das heute früh geschrieben habe, da ich um die Uhrzeit nicht gemerkt habe, dass es sich hierbei ja um die beiden selben Threads handelt... :oops:

Gruß,
Sven

gammatester 5. Dez 2013 08:27

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Schorschi5566 (Beitrag 1238533)
Zitat:

Zitat von gammatester (Beitrag 1238452)
... kann man als Vorlage die beiden kleinen AES-Funktionen aus aes_cfb8.pas nehmen.

... War nur die erste Funktion, die ich damals so unter Delphi und PHP zum Laufen gebracht habe...

Gestern abend habe ich die Routinen nach dem Rezept erstellt und hänge sie hier an (falls mehr Interessenten gibt) mit Testprogrammen für DEC und die Unit, beide liefern byte-identische Ergebnisse. Ein großes Problem ist, das es offensichtliche keine oder nur sehr schwierig zu findende veröffentlichte Testvektoren für Blowfish-CFB8 gibt.

a.def 5. Mai 2017 22:43

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Ja, der Thread ist alt!

Ich habe nur eine Frage. Ich versuche gerade DEC 5.2 x64 zu kompilieren was natürlich schief geht. Ich habe bisher alles angepasst, was man hier in diesem Thread finden konnte.
Aber leider ist die Unit DECUtil noch voll von nicht funktionierendem ASM-Code.

Gibt es dafür eine Lösung bzw. gibt es eine schnelle DEC-Alternative? System.Hash ist mir zu lahm und Spring4D weiß ich leider nicht anzuwenden :pale:

Rollo62 6. Mai 2017 06:34

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Habs lange nicht benutzt, aber LockBox war eigentlich super für solche Dinge, zumindest für mich ...
Warum benutzt du nicht das ?

Rollo

a.def 6. Mai 2017 15:36

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Wie installiert man LockBox denn nicht einmal das schaffe ich.
Sieht super umständlich aus finde ich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Seite 6 von 7   « Erste     456 7      

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