Hallo.
Ich habe bei dem 0xDEAD0000 und 0xDEAD00B8 das result verdreht (= mit <> verwechselt). So müsste es korrekt sein:
Delphi-Quellcode:
Function IsVirtual: boolean;
begin
// Hier Code einsetzen, der GDT, IDT und LDTR erfasst
If Check_GDT_and_IDT_IsVirtual(GDT, IDT) Then
Begin
result := true;
End
Else
Begin
if IsWin9x() then
begin
end
result := LDTR <> $DEAD00B8;
else
begin
result := LDTR <> $DEAD0000;
end;
end;
End;
Gruß
blackdrake