was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews
 sonstiges ¦  tutorials ¦  Add&Win Gewinnspiel

Tips (1541)

Dateien (137)
Datenbanken (90)
Drucken (35)
Grafik (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Mathematik (76)
Multimedia (45)
Oberfläche (107)
Objekte/
ActiveX (51)

OpenTools API (3)
Sonstiges (126)
Strings (83)
System (266)
VCL (242)

Tips sortiert nach
Komponente


Tip suchen

Tip hinzufügen

Add&Win Gewinnspiel

Werbung

78 Visitors Online


 
...überprüfen, ob das Programm im VMWare ausgeführt wird?
Autor: Elias Bachaalany
Homepage: http://lgwm.org
[ Tip ausdrucken ]  

Tip Bewertung (16):  
     


program detectvmware;

{$APPTYPE CONSOLE}

uses SysUtils;

{
  This function can be used to determine whether your program is
  running from within VMWare.

  For more information please refer to the article at:
  http://www.codeproject.com/system/VmDetect.asp
}

function IsInsideVMWare: Boolean;
var
  
rc: Boolean;
begin
  
rc := False;

  try
    asm
      
push   edx
      push   ecx
      push   ebx

      mov    eax, 'VMXh'
      mov    ebx, 0 // any value but not the MAGIC VALUE
      
mov    ecx, 10 // get VMWare version
      
mov    edx, 'VX' // port number

      
in     eax, dx // read port
                     // on return EAX returns the VERSION
      
cmp    ebx, 'VMXh' // is it a reply from VMWare?
      
setz   [rc] // set return value

      
pop    ebx
      pop    ecx
      pop    edx
    end;
  except
    on 
EPrivilege do rc := False;
  end;

  Result := rc;
end;

begin

  
Write('IsInsideVMWare:');
  if IsInsideVMWare then
    
WriteLn('Yes')
  else
    
WriteLn('No');
end.


 

Bewerten Sie diesen Tipp:

dürftig
ausgezeichnet


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners