![]() |
[Inline Assenbler] LDT Base / Limit - Programmabsturz
Hey,
ich versuche die LDT Base und das LDT Limit über inline Assembler zu ermitteln. Folgenden Code habe ich gefunden:
Delphi-Quellcode:
Dieser lässt sich allerdings nur bis mov ax,[ebx] ausführen. Danach verabschiedet sich das Testprogramm ohne jedliche Exception.
asm
sgdt fword ptr [gdtr] sldt [ldtr] mov eax, dword ptr[gdtr+2] mov [gdt],eax // GDT Base movzx ebx, word ptr [ldtr] and bl,11111000b add ebx,eax // Addr. des LDT Deskriptors mov ax,[ebx] mov [ldt_limit],ax // LDT Limit (die unteren 16 bits reichen) mov ah,[ebx+7] mov al,[ebx+4] shl eax,16 mov ax,[ebx+2] mov [ldt],eax end; Hat jemand ne Idee woran das liegen könnte? Gruß |
Re: [Inline Assenbler] LDT Base / Limit - Programmabsturz
Also mit der/den Desciptor table habe ich noch nie gearbeitet.
Aber: 1. Darfst du überhaupt so ohne weiteres auf die Register zugreifen? 2. Wo bist du eigentlich grade? Ich würde jetzt auch frei behaupten, im User-Modus bzw. in deinem Anwenderprogramm kommst du nicht auf die Tabellen. ==> in ebx steht anscheinend nix sinnvolles, bzw. nichts sinnvolles für deinen virtuellen Addressraum. Es sollte als eine AV kommen. Ich wies ja nicht, was du für ein Programm schreibst, hast du überhaupt Exceptionbehandlung? |
Re: [Inline Assenbler] LDT Base / Limit - Programmabsturz
Moin Zacherl,
Zitat:
|
Re: [Inline Assenbler] LDT Base / Limit - Programmabsturz
Hier habe ich den gefunden:
![]() Da steht auch, dass er eventuell nicht unter WinNT Systemen funktionieren wird. |
Re: [Inline Assenbler] LDT Base / Limit - Programmabsturz
Zitat:
|
Re: [Inline Assenbler] LDT Base / Limit - Programmabsturz
Das Problem ist folgendes: Ab NT wird die LDT eigentlich nicht mehr verwendet, damit ist auch der Descriptor in der GDT nicht mehr vorhanden.
Man könnte doch jetzt aber prüfen, ob der Descriptor vorhanden ist und dann die Base und das Limit der LDT ermitteln. Fals nicht vorhanden wird halt 0 zurückgegeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 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