function
IsInsideVMWare: Boolean;
var
var
rc: Boolean;
begin
rc := False;
try
asm
push edx
push ecx
push ebx
mov eax, 'VMXh'
mov ebx, 0
mov ecx, 10
mov edx, 'VX'
in eax, dx
cmp ebx, 'VMXh'
setz [rc]
pop ebx
pop ecx
pop edx
end;
except
on EPrivilege do rc := False;
end;
begin
rc := False;
try
asm
push edx
push ecx
push ebx
mov eax, 'VMXh'
mov ebx, 0
mov ecx, 10
mov edx, 'VX'
in eax, dx
cmp ebx, 'VMXh'
setz [rc]
pop ebx
pop ecx
pop edx
end;
except
on EPrivilege do rc := False;
end;
Result := rc;
end;
begin
Write(' Dentro do VMWare:');
sInsideVMWare then
WriteLn('Sim’);
else
WriteLn('Não');
end.
sInsideVMWare then
WriteLn('Sim’);
else
WriteLn('Não');
end.
Nenhum comentário:
Postar um comentário