![]() |
Re: Ein DWORD mit einem Array of Char füllen?
Wenn du undokumentierte Strukturen untersuchst ist das schon wichtig.
Stichwort BIG-ENDIAN und LITTLE-ENDIAN ;) Nun, wozu man Unions und das "absolute" Statement gebrauchen kann, ist ja gut sichtbar. Weiteres ist denkbar ... aber sobald du es erstmal angewandt hast, werden sich dir diese anderen Einsatzmöglichkeiten schon erschließen, glaube mir ;) |
Re: Ein DWORD mit einem Array of Char füllen?
Assarbad, hast du paar links oder ähnliches
ich hab davon noch nie gehört ich kann mir auch nichts darunter vorstellen |
Re: Ein DWORD mit einem Array of Char füllen?
|
Re: Ein DWORD mit einem Array of Char füllen?
danke !
|
Re: Ein DWORD mit einem Array of Char füllen?
Tja bei all den korrekten Lösungen will ich hier noch eine draufsetzen.
Delphi-Quellcode:
Gruß Hagenfunction Swap(Value: DWord): DWord; asm BSWAP EAX end; var UserName: array[0..3] of Char; ID: DWord; absolute UserName; begin UserName := '1234'; ShowMessage( IntToHEX(Swap(ID), 8) ); end; |
Re: Ein DWORD mit einem Array of Char füllen?
Shit, Asserbad hat's ja schon gepostet, sehe ich erst jetzt. (Hey Brille wo steckst du schon wieder ! mach dich her ich sehe nichts :))
Gruß Hagen |
Re: Ein DWORD mit einem Array of Char füllen?
Fehlt nur noch eine Erklärung ;) (warum du swappst) ;)
Weil Snoop nach einem Beispiel gefragt hat: Ein ganz praktisches Beispiel sind die Signaturen im EXE-Header und im PE-Header. In Delphi findet man die meist als Konstanten wieder. Und da zB im PE-Header der "String" so aussieht 'PE'#0#0 also die Buchstaben P und E gefolgt von zweimal dem Zeichen 0, ist esmöglich dies als Hexadezimalwert zu schreiben. Nur da sieht es komplett anders aus: IMAGE_NT_SIGNATURE = $00004550; // PE00 #0#0 kommen zuerst ;) ... und dann folgen E und P ... auf der Festplatte ist es beispielsweise genau andersherum abgespeichert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 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