AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
Thema durchsuchen
Ansicht
Themen-Optionen

Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

Ein Thema von Assertor · begonnen am 7. Jan 2012 · letzter Beitrag vom 17. Sep 2020
Antwort Antwort
Seite 6 von 7   « Erste     456 7      
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#51

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 3. Dez 2013, 17:12
Hallo gammatester,

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
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#52

AW: 256 bit Integer Addition von ASM in PurePascal

  Alt 3. Dez 2013, 17:31
Hallo Sven,

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 {$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
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#53

AW: 256 bit Integer Addition von ASM in PurePascal

  Alt 4. Dez 2013, 07:41
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...

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.

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
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons

Geändert von JamesTKirk ( 4. Dez 2013 um 07:42 Uhr) Grund: Schreibfehler...
  Mit Zitat antworten Zitat
gammatester

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

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 4. Dez 2013, 09:08
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.
  Mit Zitat antworten Zitat
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#55

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 4. Dez 2013, 19:16
Hallo gammatester,

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...

Ich habe Dir mal 'ne PM geschickt.


Grüße,
Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#56

AW: 256 bit Integer Addition von ASM in PurePascal

  Alt 4. Dez 2013, 22:51
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...

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
gammatester

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

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 5. Dez 2013, 09:27
... 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.
Angehängte Dateien
Dateityp: zip blowfish_cfb8.zip (3,2 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#58

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 5. Mai 2017, 23:43
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
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.095 Beiträge
 
Delphi 12 Athens
 
#59

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 6. Mai 2017, 07:34
Habs lange nicht benutzt, aber LockBox war eigentlich super für solche Dinge, zumindest für mich ...
Warum benutzt du nicht das ?

Rollo
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#60

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread

  Alt 6. Mai 2017, 16:36
Wie installiert man LockBox denn nicht einmal das schaffe ich.
Sieht super umständlich aus finde ich.

Geändert von a.def ( 6. Mai 2017 um 16:40 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 7   « Erste     456 7      

 

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 09:10 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