Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
Re: Luckies "myIsDebuggerPresent" liefert immer tr
6. Apr 2010, 12:49
POP EAX würde das Result (welches ja in EAX liegt) überschreiben.
Delphi-Quellcode:
function MyIsDebuggerPresent: Boolean;
var
BeingDebugged: Boolean;
begin
asm
push eax
push ebx
mov eax, fs:[$18]
mov ebx, [eax+$30]
mov eax, [ebx+2]
mov [BeingDebugged], al
pop ebx
pop eax
end;
Result := BeingDebugged;
end;
Delphi-Quellcode:
function MyIsDebuggerPresent: Boolean; assembler;
asm
push ebx
mov eax, fs:[$18]
mov ebx, [eax+$30]
mov eax, [ebx+2]
pop ebx
end;
Delphi-Quellcode:
function MyIsDebuggerPresent: Boolean; assembler;
asm
mov eax, fs:[$18]
mov edx, [eax+$30]
mov eax, [edx+2]
end;
function MyIsDebuggerPresent: Boolean; assembler;
asm
mov eax, fs:[$18]
mov eax, [eax+$30]
mov eax, [eax+2]
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|