function IsVmWare:Boolean; var val:Byte; buf:array [0..5] of byte; begin asm lea eax,buf sidt [eax] add eax,5 mov al,byte ptr [eax] mov val,al end; Result:=(val = $E8) or (val = $FF); end;