AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Bitte testen! IDT base Adresse auslesen + VMM detection
Thema durchsuchen
Ansicht
Themen-Optionen

Bitte testen! IDT base Adresse auslesen + VMM detection

Ein Thema von Zacherl · begonnen am 13. Sep 2007 · letzter Beitrag vom 23. Sep 2007
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#21

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 13. Sep 2007, 20:15
Code:
---------------------------
CPU 1     
---------------------------
Base adress:  

E386D400
---------------------------
OK  
---------------------------
Code:
---------------------------
CPU 2     
---------------------------
Base adress:  

C61D98E0
---------------------------
OK  
---------------------------
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#22

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 13. Sep 2007, 20:49
Danke dir Du hast komische Werte Dein Wert fällt vollkommen aus der Reihe:

Zitat:
WinVista Ultimate
---------------------------
CPU1: 83ABF400
CPU1: 82252400
CPU1: E386D400
CPU2: C61D98E0
---------------------------

WinVista Buisness
---------------------------
CPU1: 81AFF400
CPU2: 82648960
---------------------------

WinVista Home Premium
---------------------------
CPU1: 822CD400
CPU1: 83D20400
CPU1: 827FF400
CPU2: 835DE960
CPU1: 821A6400
CPU2: 82603960
---------------------------
Die anderen Werte der CPU1 liegen in einem Bereich nicht größer als 84000000 und nicht kleiner 81000000. Außerdem enden alle mit 400.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#23

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 13. Sep 2007, 20:52
Ich war schon immer anders, als die anderen
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#24

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 13. Sep 2007, 20:55
hast du irgendwas an Antiviren Software oder Firewalls installiert, welche eventuell die Tabelle hooken könnten?
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#25

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 14. Sep 2007, 01:37
Zitat von Zacherl:
Das Programm von mir setzt die Affinity Mask auf die erste CPU. Daher wird doch auch nur die Base Adresse der IDT von CPU1 angezeigt. Bei meinen Tests hatte eigentlich immer die erste CPU die "normalen" Werte. Oder ist das nicht immer so?
Sagen wir mal so, es gibt Ausnahmen. Die hast du ja selber implizit schon genannt ... Software, die was hookt. Bspw. SoftICE soll es tun. Ich habe kein SoftICE, daher weiß ich es nicht hundertprozentig sicher. Allerdings hookte SoftICE so ziemlich jeden Aspekt des Systems ... vermutlich der Grund warum das Produkt eingestellt wurde.

Wichtiger wäre es wohl, eine Kombination aus GDT, LDT und IDT zusammen mit TSS zu benutzen und eben die CPUs zu beachten. Seit VMWare 5.5 (oder 6?) kannst du zumindest nicht mehr davon ausgehen, daß nur eine CPU in einer VM verfügbar ist. Abgesehen davon solltest du den Humbug, der in den Papers von Rutkowska und dem welches Blackdrake ausgegraben hat (was dank der Schreibfehler deutlich unprofessionell auf mich wirkt) nicht zu ernstnehmen. Was ich meine ist der Teil wo gesagt wird, daß die IDT reloziert werden muß, weil es sonst zum Konflikt kommen würde. Ich konnte in meinem Paper eindeutig nachweisen, daß diese Annahme falsch ist, auch wenn ich prinzipiell nicht unbedingt eine bessere Idee habe. Allerdings ist SIDT eben keine privilegierte Instruktion, so daß der VMM nicht wissen kann wann sie ausgeführt wird - es sei denn diese Instruktion wird komplett emuliert ... was wiederum die Relokation der IDT (usw.) überflüssig machen würde.

Zitat von Zacherl:
Kann man sagen, dass wenn mindestens ein Wert der CPU "normal" ist es sich nicht um eine VM handelt?
Außer bei Hooks. Es dürfte wohl ziemlich effektiv sein, wenn man auf einem Device-IRQL die Adresse der IDT austauscht. Da man es ohnehin immer nur für eine CPU macht und die einzigen Anforderungen die Ausrichtung (Alignment) und die Tatsache, daß es im residenten Speicher untergebracht sein muß, sein dürften, ist es nicht schwer einen solchen Hook zu setzen.

Da aber deine Absicht nur ist, den Anwender drauf hinzuweisen, daß er es nicht in einer VM laufen lassen soll, weil es rechenintensiv ist, sollte es ja kein Problem sein, wenn du auch mal innerhalb einer VM diesen Hinweis nicht anzeigst. Schlimmer wäre der umgekehrte Fall, wo du einen Nutzer auf einer nativen Maschine auf diese Sachen hinweist, weil du es fälschlicherweise als VM erkennst.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#26

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 14. Sep 2007, 05:52
Danke für deine ausführliche Antwort

Zitat von Olli:
Da aber deine Absicht nur ist, den Anwender drauf hinzuweisen, daß er es nicht in einer VM laufen lassen soll, weil es rechenintensiv ist, sollte es ja kein Problem sein, wenn du auch mal innerhalb einer VM diesen Hinweis nicht anzeigst. Schlimmer wäre der umgekehrte Fall, wo du einen Nutzer auf einer nativen Maschine auf diese Sachen hinweist, weil du es fälschlicherweise als VM erkennst.
Das leider ist bei Vista momentan das Problem wenn ich den IDT Source nehme. Muss ich es also doch mit dem SIDT Source versuchen.

Trotzdem bitte noch weiter testen.
  Mit Zitat antworten Zitat
Leonard

Registriert seit: 12. Okt 2005
Ort: Lutherstadt Eisleben
64 Beiträge
 
Delphi 11 Alexandria
 
#27

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 14. Sep 2007, 07:55
Guten Morgen,
hier nochmal meine Werte mit der aktuellen Version.

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

80036400
---------------------------
OK  
---------------------------
Code:
---------------------------
CPU 2     
---------------------------
Base adress:  

890577E8
---------------------------
OK  
---------------------------
mfg Leonard
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#28

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 14. Sep 2007, 10:49
Danke dir Die Werte der ersten CPU passen auch ins Konzepzt .. scheine aber den Bereich auf 80000000 - 84000000 erweitern zu müssen.
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#29

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 16. Sep 2007, 17:07
Hallo.

Haben dir die Informationen von http://www.delphipraxis.net/internal...=777195#777195 eigentlich weitergeholfen oder soll ich die Tests mit dem neuen Testprogramm von diesem Thread durchführen? Microsoft Virtual PC 2007 hat dein Testprogramm bei meinen Windows Versionen jedenfalls perfekt detektiert.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#30

Re: Bitte testen! IDT base Adresse auslesen + VMM detection

  Alt 16. Sep 2007, 20:55
Ja danke dir, die Infos waren sehr nützlich. Hier mal ein neues Testprogramm, welches jetzt eine optimale Erkennungsrate haben sollte.

(Die LDT ist bisher noch 0 da mir der Code zum Auslesen fehlt. Siehe: http://www.delphipraxis.net/internal...t.php?p=778447)

[Edit: Neustes Programm im ersten Beitrag]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz