FestplattenSeriennummer ohne GetVolumeInformation auslesen ?
Hallo,
ich möchte die Festplatten Seriennummer von einem Laufwerk auslesen. Aber OHNE zu Hilfenahme der API Funktion GetVolumeInformation. DA müsste es doch noch einen Weg mit viel Assembler geben oder ? Leider bin ich da überhaupt nicht fit drin .. Kennt jemand einen Weg ? Danke ! viele Grüße stoxx |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Wieso willst du denn den komfortablen Weg über GetVolumeInformation nicht gehen?
|
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
hi,
mit DeviceIOControl() (auch API) könnte man es bewerkstelligen, aber das ist nicht ganz unkompliziert. wieso nimmst du nicht GetVolumeInformation() ? |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Zitat:
naja .. weil das ein Teil meines Lizensierungsverfahrens darstellt. Und den API Aufruf GetVolumeInformation sieht ja gleich jeder, wenn er genauer hinguckt :-) |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
wie wär's mit dynamisch laden und den namen des funktionsaufrufs mit XOR verschleiern? *gg*
|
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Zitat:
welche Vorteile genau soll Dynamisches Laden bringen ? Den API Aufruf sieht man doch trotzdem oder ? |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Nicht im Import-Table, nur wenn man Software wie Api-Monitor oder ähnliches benutzt!
Mal davon abgesehen, wenn du die Seriennummer einer Festplatte zur Reg-Code-Generierung benutzt darf der User keine andere Festplatte benutzen (z.B. nach Backup & HeadCrash o.ä.) also: Platte A - Programm installiert und registriert Backup von Platte A Platte A -> defekt Restore auf Platte B Programm fragt nach Registrierung? oder warte auf diesen einen Prozessor (von dem ich atm nicht weiss wie er heisst) *gg |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Es gibt eine Möglichkeit die Partitionsnummer-Seriennummer herauszufinden.
Vielleicht reicht die das? |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Übrigens diese Serial ist Tatsächlich an die Partition gebunden.
Und so könnte man sie alternativ auslesen! Funktioniert nur bei FAT32 und WinNT-Systemen (2k, XP)
Delphi-Quellcode:
stm := TFileStream.Create('\\.\D:', fmOpenRead or fmShareDenyNone);
try stm.Read(buf, 512); lst.Items.Add(Format('Serial: %s', [IntToHex(PCardinal(@buf[$43])^, 8)])); finally stm.Free; end; Für FAT12, FAT16, NTFAS müssten andere Werte wie 43h eingesetzt werden. Welches Laufwerk es nun ist kann man auch an dem 2 Byte erkennen. Oder man interpretiert den kompletten Header und Prüft ob eine gültige Kennung in FileSystemName herauskommt. |
Re: FestplattenSeriennummer ohne GetVolumeInformation ausles
Zitat:
Dann bekommt der User einfach eine neue Lizenz. a) frage ich noch andere Dinge ab b) kann er soviele neue Lizenzen (dennoch im Rahmen) haben wie er will, da das programm sowieso nur eine begrenzte Laufzeit hat. Also sozusagen mit Verfallsdatum. Kennst Du zufällig eine Soft, die alle Funktions und Prozedurnahmen automatisch etwas kryptisch verschlüsselt aussehen lässt und gleich den ganzen Quelltext bearbeitet ? Wird sicherlich schwierig, da es ja alle Units durchgehen müsste. hmm |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz