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
-
- Frage
-
Zarathustra -
8. April 2003 um 15:03 -
Unerledigt
-
-
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
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
-
Maximilian Rupp
27. Dezember 2024 um 12:06 Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!