LabVIEWForum.de
Motherboard ID / CPU ID auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Motherboard ID / CPU ID auslesen (/Thread-Motherboard-ID-CPU-ID-auslesen)



Motherboard ID / CPU ID auslesen - Hanz Peter - 24.11.2008 15:51

Hallo.

Vll kann mir jemand bei folgendem Problem behilflich sein:

ich möchte gerne prüfen, ob mein LV Programm von einem bestimmten PC ausgeführt wird, dazu ist es nötig, die Motherboard ID und/oder CPU ID auszulesen. Kennt jmd eine Möglichkeit wie das zu bewerkstelligen ist?

mfg
HP


Motherboard ID / CPU ID auslesen - rolfk - 29.11.2008 17:52

' schrieb:Hallo.

Vll kann mir jemand bei folgendem Problem behilflich sein:

ich möchte gerne prüfen, ob mein LV Programm von einem bestimmten PC ausgeführt wird, dazu ist es nötig, die Motherboard ID und/oder CPU ID auszulesen. Kennt jmd eine Möglichkeit wie das zu bewerkstelligen ist?

mfg
HP

Motherboard ID weiss ich nicht. CPU ID geht bei nur bei älteren Intel Pentium CPUs. Neuere haben dieses umstrittene Feature nicht mehr und AMD hatte das in dieser Form nie.

Am einfachsten ist es um die IP Netwerk Nummer des PCs zu verwenden. Eine andere recht einfache Methode ist um die verschiedenen Informationen wie BIOS Serial Number, HD Volume Serial Number etc. aus der Registry zu lesen. Das ist zwar nicht gefeit gegen Manipulationen aber könnte durchaus genug sein.
Wenns denn unbedingt genauer und mehr "tamper proof" sein soll wirst Du nicht umhin kommen um BIOS Informationen mehr direkt einzulesen. Das geht recht komfortabel mit WMI das mit .Net und auch als Windows COM API dokumentiert ist. Ersteres solltest Du direkt mit dem LabVIEW .Net Interface ansprechen können, aber beim COM API kämest Du nicht um eine extra DLL die Du in C schreiben müsstest herum, da ActiveX zwar auf COM aufbaut aber ein COM Interface noch lange nicht ActiveX kompatibel sein muss und in diesem Fall ist das auch so ein Intereface.

Andere Möglichkeiten sind um die BIOS Informationen direkt mit einem Kerneltreiber der Physical Memoryaccess ermöglicht zu lesen. Dazu gibt es von OpenG die OpenG PortIO Library die in der letzten Version auch Physical Memoryaccess unterstützt. Danach kannst Du gemäss den Spezifikationen in DSP0134 der Distributed Management Task Force, Inc. (DMTF) nach den SMBIOS Tabellen suchen und deren Informationen parsen und auswerten. Das ist grundsätzlich nicht sehr schwierig aber doch ziemlich viel Arbeit.

Rolf Kalbermatter


Motherboard ID / CPU ID auslesen - Lucki - 29.11.2008 19:43

Gelöscht, soweit mir das als nicht-admin möglich war.


Motherboard ID / CPU ID auslesen - Lucki - 29.11.2008 19:43

' schrieb:ich möchte gerne prüfen, ob mein LV Programm von einem bestimmten PC ausgeführt wird, dazu ist es nötig, die Motherboard ID und/oder CPU ID auszulesen. Kennt jmd eine Möglichkeit wie das zu bewerkstelligen ist?

Ich würde dafür lieber die MAC-Adresse verwenden. Von Ni gibt es ein Programm (Googlen MAC +LabVIEW) "get_remote_mac_Adress.vi" LV6.1 . Du willst aber nicht die Adresse eines entfernten PC, sondern vom dem PC auf dem der Befehl gegeben wurde. Dafür kann man das VI ganz stark abspecken, so daß nur noch dieses bisserl Code übrig bleibt:
[attachment=15613]
Die HD-VOL-ID ist am untauglichsten, weil diese mit dem im Internet frei erhältlichen Programm VolID jederzeit von Hinz und Kunz gändert werden kann.