Einzelnen Beitrag anzeigen

Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Kopierschutz einer Anwendung

  Alt 22. Nov 2006, 01:43
Zitat von ErazerZ:
Delphi-Quellcode:
{
  Orginal code by Gobo
}

function IsVirtualMachine: Boolean;
var
  Temp: Array[0..5] of Byte;
  TempB: Byte;
begin
  asm
    sidt Temp
    mov bh, byte ptr [Temp + 5]
    mov TempB, bh
  end;
  case TempB of
    $ff, $e8:
      Result := True;
    else
      Result := False;
  end;
end;
Ist SIDT nicht ein privilegierter Opcode? Das kann eigentlich nur anhand eines "Bugs" in VMWare funktionieren... Nebenbei, wozu der Umstand mit mov bh und TempB? Warum nicht einfach Temp[5] mit $ff und $e8 vergleichen?

Last but not least: Mit WMI gehts über ne query auf Win32_ComputerSystem (Manufacturer, Model) viel simpler:

Normaler PC:
Manufacturer: Dell Computer Corporation
Model: Latitude D600

VMware:
Manufacturer: VMware, Inc.
Model: VMware Virtual Platform

VirtualPC:
Manufacturer: Microsoft Corporation
Model: Virtual Machine

"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat