1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Motherboard Serial No unter C / C++ / assembler

    • Frage
  • Zarathustra
  • 8. April 2003 um 15:03
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Zarathustra
    Punkte
    55
    Beiträge
    6
    • 8. April 2003 um 15:03
    • #1

    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

  • dose
    Punkte
    1.679
    Beiträge
    335
    • 8. April 2003 um 21:39
    • #2

    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...

  • MaxAuthority
    Punkte
    3.165
    Beiträge
    626
    • 8. April 2003 um 22:41
    • #3

    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...

  • ze_artfuldodger
    Punkte
    265
    Beiträge
    53
    • 9. April 2003 um 02:46
    • #4

    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

  • dose
    Punkte
    1.679
    Beiträge
    335
    • 9. April 2003 um 23:06
    • #5

    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...

  • Zarathustra
    Punkte
    55
    Beiträge
    6
    • 10. April 2003 um 17:25
    • #6

    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

  • Irrlicht
    Punkte
    421
    Beiträge
    82
    • 10. April 2003 um 17:48
    • #7

    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
    Set 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
    Alles anzeigen
  • dose
    Punkte
    1.679
    Beiträge
    335
    • 10. April 2003 um 18:26
    • #8

    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...

  • algee
    Punkte
    5
    Beiträge
    1
    • 9. März 2004 um 10:49
    • #9

    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

  • marX
    Punkte
    460
    Beiträge
    88
    • 9. März 2004 um 19:49
    • #10
    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 Routinen

    Also 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.

  1. Datenschutzerklärung
  2. Impressum