Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 27

Thema: Seriennummer des BIOS auslesen (C)

  1. #1
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52

    Seriennummer des BIOS auslesen (C)

    Hallo,

    wie kann ich die Seriennummer des BIOS auslesen?

    Sven
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    hmmm,

    das Bios hat eine Seriennummer?

    Bist du wirklich gegen TCPA oder arbeitest du gerade an sowas?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52
    Ja, ich bin gegen TCPA und nein ich arbeite nicht gerade an so etwas, und ich benötige einen Tip wie und/oder wo ich die Seriennumer auslesen kann und nicht einen Kommentar.
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  4. #4
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    wie kann man mit C überhaupt auf das Bios zugreifen?
    I haven't lost my mind - It's somewhere on a backup-disc

  5. #5
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    also ich bin fuer freundlichkeit in diesem forum

  6. #6
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52
    Original geschrieben von tuxipuxi
    also ich bin fuer freundlichkeit in diesem forum
    Ich wollte nicht unfreundlich sein. Wenn ich allerdings eine kurze, präzise Frage stelle, dann geschieht dies nicht aus Jux und dollerei, sondern hat wahrscheinlich einen ernsten Hintergrund. Eigentlich habe ich einen Tip erwartet und keine Bemerkung. witzige Bemerkungen auf ernsthafte Fragen kann ich erst nach Feierabend humorvoll begegnen

    Sven
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  7. #7
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von SeeksTheMoon
    wie kann man mit C überhaupt auf das Bios zugreifen?
    <vermutung>vielleicht mit interrupts?</vermutung>

  8. #8
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    okok, aber ich meine immer noch ne zweizeilige Erklärung wozu wäre angebracht

    <vermutung2>der Kernel muss da auch mithelfen</vermutung2>

    <vermutung3>hier wirst du wohl kaum die gewünschte Antwort kriegen (ausser anda_skoa weiss es </vermutung3>

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  9. #9
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    <vermutung4> anda_skoa ist nicht der hardwarenahe typ und weiss es deswegen nicht </vermutung4>

  10. #10
    Registrierter Benutzer
    Registriert seit
    08.11.2002
    Ort
    Hennef
    Beiträge
    106
    hallo,

    dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8
    findet alle Strings im bios.

    Code:
    #include <stdio.h>
    #include <fcntl.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <sys/types.h>
    
    int main() {
    
    off_t seek=0x000fff59; 
    int mem_fd;
    char buffer[30]={0};
    int count;
    
    mem_fd=open("/dev/mem",O_RDWR); 
    
    lseek(mem_fd,seek,SEEK_SET); 
    
    read(mem_fd,buffer,30);
    
    printf("%s\n" ,buffer);
    return 1;
    }
    zeigt bei mir die Nummer an.
    AMI Bios Elitegroup/K7S5A

    Ich bezweifle aber das die verschiedenen Bios Hersteller
    die Strings alle an die gleiche Speichierstelle im Bios Rom setzen.
    Das einzigste worauf man sich zumeist verlassen kann ist
    das an 0xFFF0 der Sprungbefehl ins Bios steht(5Byte).
    Danach kommen dann noch 11 Byte da steht dann Realease Datum drin
    und vieleicht noch die Bios Version.
    (aber Ausmahmen bestätigen auch hier die Regel).

    gruß

  11. #11
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52
    Die BIOS-Informationen stehen bei jedem BIOS an der selben Stelle.
    Ich weiß, daß die BIOS-Seriennummer an der Adresse $FEC71 steht. Wie kann ich darauf zugreifen?

    Ich verwende den Borland C-Compiler 5.5. Ich finde die Datei unistd.h nicht. Könnte man das obige Beispiel auch anders schreiben?

    Sven
    Geändert von againsttcpa (04-06-2003 um 06:24 Uhr)
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  12. #12
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    steht das zeugs eigentlich nirgends in /proc ??

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  13. #13
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222
    das von pik7 gezeigte programm ist nur für linux,
    und ist so nicht auf windows portierbar.
    der weg wäre dort aber ähnlich, das bios wird irgendwo ins speicher gemappt,
    du müsstest nur die adresse haben, und dann einfach das zeug auslesen.

    wenn ich fragen darf, wofür brauchst du die seriennummer des bios ?

    gruss
    Arthur

  14. #14
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52
    Durch Googeln bin ich dahintergekommen, daß unistd.h etwas mit dem POSIX-Standard zu hat. Für Windows habe ich schon entsprechende Funktionen. Ich hatte nur gehofft es wäre möglich für Windows/Linux denselben oder ähnlichen Code verwenden zu können.

    Ich schreibe Software für die Baubranche, da wären CAD, AVA usw., die Grundversionen sind jeweils Freeware, die speziell für die Architekten und Ingenieure vorhandene Version(en) werden ein geringes Entgeld kosten.
    Da die BIOS-Seriennummern einmalig sind, wollte ich diese für Freischaltungszwecke der kostenpflichtigen Versionen verwenden.

    Sven
    Geändert von againsttcpa (04-06-2003 um 12:35 Uhr)
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  15. #15
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222
    ich würde mich da eher an die mac-adresse halten, so machen es die "grossen".
    ist genauso eindeutig wie die serial nummer und kommst leichter/sicherer ran.

    gruss
    Arthur

    ps.
    ich würde mir nicht zuviel aufwand damit machen, hab noch nichts gesehen was 100% schutz
    bringen würde.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •