also sprach Zarathustra...
hallo,
ich hab eine frage:
weiß jemand, wie (bzw. ob) man programmiertechnisch [C oder C++ oder assembler] die Motherboard Serial No herausbekommt!?!?!?
bin für jeden hinweis dankbar,
lg Zarathustra
Motherboard Serial No unter C / C++ / assembler
-
-
Entweder isses im BIOS irgendwo als String hardcoded, oder mit Glück gibt es einen standardisierten BIOS-Call dafür...mehr kann ich Dir darüber leider auch nicht sagen...
-
also MÖGLICH ist es sicherlich, weil auch tools wie sisoft sandra die s/n auslesen, soweit ich weiss. frag mich aber bitte nicht wie...
-
ich glaub nicht das das irgendwie geht - erinnert sich noch
jemand an den aufruhr mit der pentium3-seriennummer? es gibt
afaik keine standardisierte möglichkeit.mal ne and're frage: wozu brauchst das? für eine eindeutige
identifizierung des clients? nimm die mac-adresse, was
besseres fällt mir im moment a ned dazu ein.mfg
art -
Es muß gehn, immerhin stehts ja auch beim BIOS-Bootscreen und das anscheinend SiSoft Sandra kann...die Frage is nur wie, wo sind Reverse Engineers wenn man sie braucht...
-
also sprach Zarathustra...
hi,
ich spezifizier meine anfrage neu:
Wie liest man bei WIN2000 bzw. WINXP aus dem Speicherbereich (0xf000:0xffff) ohne Zugriffsverletzung? Das ist nämlich der Bereih, in dem die Serien Nummer liegt.
Am feinsten wär eine Lösung auf C basierend [Blockierte Grafik: http://hades.gothic.at/iforum/images/icons/icon12.gif]
Ohne MFC Routinen!
thx Zarathustra -
Also offensichtlich kann man sogar über WindowsScripting Host die Seriennummer auslesen:
http://msdn.microsoft.com/library/defaul…/win32_bios.asp
Hier ein Beispiel, das ein paar BIOS infos ausliest:
Code
Alles anzeigenSet objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colBIOS = objWMIService.ExecQuery _ ("SELECT * FROM Win32_BIOS") For Each objBIOS in colBIOS Wscript.Echo "Build Number: " & objBIOS.BuildNumber Wscript.Echo "Current Language: " & objBIOS.CurrentLanguage Wscript.Echo "Installable Languages: " & objBIOS.InstallableLanguages Wscript.Echo "Manufacturer: " & objBIOS.Manufacturer Wscript.Echo "Name: " & objBIOS.Name Wscript.Echo "Primary BIOS: " & objBIOS.PrimaryBIOS Wscript.Echo "Release Date: " & objBIOS.ReleaseDate Wscript.Echo "Serial Number: " & objBIOS.SerialNumber Wscript.Echo "SMBIOS Version: " & objBIOS.SMBIOSBIOSVersion Wscript.Echo "SMBIOS Major Version: " & objBIOS.SMBIOSMajorVersion Wscript.Echo "SMBIOS Minor Version: " & objBIOS.SMBIOSMinorVersion Wscript.Echo "SMBIOS Present: " & objBIOS.SMBIOSPresent Wscript.Echo "Status: " & objBIOS.Status Wscript.Echo "Version: " & objBIOS.Version For Each intCharacteristic in objBIOS.BiosCharacteristics Wscript.Echo "BIOS Characteristics: " & intCharacteristic Next Next
-
AFAIK müßte das ab F000:0000 (oder maybe F800:0000) sein, mit debug z.B. gehts (d f800:0000), aber glücklich werden wirst damit net ganz...
Keine Ahnung ob man im Protected Mode so einfach drauf zugreifen kann, im Real (V86) Mode dürfts aber gehn... -
es ist so easy:
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/wmic.asp
damit kann man ALLES aus einem rechner rausholen.
ich habe die manufactor-id so gefunden:
vorher einmal "wmic" unter cmd ausführen, der dienst wird installiert
dann unter MS-DOS(e):
wmic /OUTPUT:c:\bla.txt PATH Win32_BIOS GET /VALUE
in der Datei c:\bla.txt sind jetzt alle werte der variablen der wmi-klasse "Win32_BIOS" enthalten.
Die Variable "SerialNumber" enthält (bie mir) die Seriennummer des PCs.
unter
http://msdn.microsoft.com/library/en-us/…wmi_classes.asp
findet man alle wmi-Klassen, die sich auf diese weise auslesen lassen.
echt krass, was da alles geht...
mfg aLGee -
Zitat von Zarathustra
Wie liest man bei WIN2000 bzw. WINXP aus dem Speicherbereich (0xf000:0xffff) ohne Zugriffsverletzung? Das ist nämlich der Bereich, in dem die Serien Nummer liegt.
Am feinsten wär eine Lösung auf C basierend ohne MFC RoutinenAlso Ohne Windows-API geht das SICHER nicht, da der leseversuch auf ein von deinem programm nicht allokierter speicher logischerweise immer in einer zugriffsverletzung endet ;)!!
ze_artfuldodger: also ich habe ein programm zu hause das bei intel-cpu's die serial ausliest !! 2. hats du schon mal davon gehört, dass es auch netzwerkkarten gibt bei denen man die mac-adresse ändern kann ??
mein tipp: google (dess programmierers bester freund :))
mfg marX
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!