Entwickler-Ecke

Sonstiges (Delphi) - Bitte auf verschiedenen Windows Systemen und WINE testen!


Florian Bernd - Do 13.09.07 21:07
Titel: Bitte auf verschiedenen Windows Systemen und WINE testen!
Hey,

ich arbeite an einer Funktion mit der man erkennen kann, ob das eigene Programm auf einer VM gestartet wurde.
Bisher funktioniert dieser allerdings nur mit den Betriebsystemen <= XP. Vista geht noch nicht.

Daher brauche ich eure Hilfe:

Alle die Vista auf ihrem richtigen PC installiert haben bitte einmal das Testprogramm starten und mir die ausgegebene(n) Nummer nennen. Bitte zusätzlich auch sagen um welche Vista Version es sich handelt (Ultimate, Home Premium, etc)

Das Programm gibt es im Anhang.

Vielen Dank

Moderiert von user profile iconChristian S.: Titel angepasst
Moderiert von user profile iconFlorian Bernd: Titel nochmal geändert :D Soll ja auf einem RICHTIGEN Vista getestet werden


BenBE - Do 13.09.07 21:22

Kannst Du bitte zu deinem Programm bitte noch ein paar Details zur Funktionsweise geben?

Kannst Du ggf. ein wenig vom Source zeigen?


Florian Bernd - Do 13.09.07 21:31

Das ganze ist nur ein Test bisher. Es gibt die base adress der IDT für jeden Prozessor aus. Für Windows XP und drunter habe ich schon einen Bereich in dem die Werte liegen dürfen. Liegen sie nicht in diesem Bereicht läuft das System auf einer VM.

Ab Vista wurde dieser Bereich allerdings verändert und ich versuche nun gemeinsamkeiten in den Werten zu finden.


BenBE - Do 13.09.07 21:36

hmmm, warum nicht das hier nehmen???
http://www.codeproject.com/system/VmDetect.asp

Hast Du zu dem Thema noch ein wenig Doku?

Edit: Für Norman's Sandbox gab's glaube mal eine CPU-Instruction, die falsch implementiert war; such einfach mal bei Heise) ...


Florian Bernd - Do 13.09.07 21:42

Bisschen Doku gibts hier:
http://www.delphipraxis.net/topic118378_vmware+virtualpc+virtualbox+etc+detection.html

Das Programm von codeproject hat das selbe Problem wie meins bisher. Es kennt die neuen Vista Adressen noch nicht.


Coder - Do 13.09.07 22:01

Vista Home Premium
Keine VM

---------------------------
CPU 1
---------------------------
Base adress:

3DA7070
---------------------------
OK
---------------------------

MfG


Florian Bernd - Do 13.09.07 22:07

Danke dir :)

Hast du wirklich nur eine CPU? Wenn ja hast du irgendwas an AntiViren oder Firewall Software installiert, was die IDT hooken könnte?

Alle anderen Werte fallen nämlich in den Bereich zwischen 8100000 und 84000000.


Andreas L. - Do 13.09.07 22:46

Vista Home premium 32Bit ohne VM:
---------------------------
CPU 1
---------------------------
Base adress:

838FC400
---------------------------
OK
---------------------------
---------------------------
CPU 2
---------------------------
Base adress:

8263E960
---------------------------
OK
---------------------------


Florian Bernd - Do 13.09.07 22:51

Danke dir :) Die Werte passen sogar ins Schema :P


Florian Bernd - Do 20.09.07 23:38

Hab hier mal eine neue Version. Wichtig wäre mir, wenn das auch jemand auf WINE testen könnte :)


elzumo - So 14.10.07 16:25

Hab mal ausgeführt, allerdings in einer Sandbox.


Smikey - So 14.10.07 16:29


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
System Info
-----------
        Win Type : WinNT
        CPU count: 1

Processor # 1
-------------
        GDT : 0xC1387000 <  255>
        IDT : 0xC03D0000 < 2047>
        LDTR: 0xDEAD0088 <WinNT>
        Type: Unknown


This application is [probably] running IN a virtual maschine!



Das war WINE in einem Ubuntu 7.10...
KEINE VM.. !!!

mfg smikey