AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi FestplattenSeriennummer ohne GetVolumeInformation auslesen ?
Thema durchsuchen
Ansicht
Themen-Optionen

FestplattenSeriennummer ohne GetVolumeInformation auslesen ?

Ein Thema von stoxx · begonnen am 9. Feb 2004 · letzter Beitrag vom 11. Feb 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#11

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 13:40
Hallo Neolithos,

die Idee klang interessant. Nur kommt bei mir da nicht die Festplattennummer, mach ich was falsch ?
habe ganz normales NTFS.
Weiss auch nicht, was Du da machst *g*


Code:
procedure TForm1.Button1Click(Sender: TObject);
var stm : TFileStream;
   buf : array[0..511] of byte;
begin
stm := TFileStream.Create('\\.\C:', fmOpenRead or fmShareDenyNone);
  try
    stm.Read(buf, 512);
    lst.items.add(inttostr(PCardinal(@buf[$43])^));
    lst.Items.Add(Format('Serial: %s', [IntToHex(PCardinal(@buf[$43])^, 8)]));
  finally
    stm.Free;
  end;
end;
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#12

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 13:41
ich schau mal wie der Hase bei NTFS läuft, kann ein bißchen dauern!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#13

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 13:47
Nimm mal die Position 48h.

Was mach ich nun:

1. Ich öffne die Festplatte als Binärstrom (so geht es nur NTFS)
2. Ich lese den ersten Sector.
3. Ich caste die Position an der die Festplatten-Serial steht.

Verständlich?
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#14

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 14:13
Zitat von stoxx:
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
PE-Crypt glaub ich macht sowas, aber nur mit kompilierten .exe
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#15

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 14:30
Zitat von neolithos:
Nimm mal die Position 48h.

Was mach ich nun:

1. Ich öffne die Festplatte als Binärstrom (so geht es nur NTFS)
2. Ich lese den ersten Sector.
3. Ich caste die Position an der die Festplatten-Serial steht.

Verständlich?

Hallo Neolithos,

was Du da machst, war mir klar. Aber die Position an sich hast Du durch probieren herausgefunden ?
48 bzw die 72 ste Stelle geht bei mir


PCardinal(@buf[72])

was aber total unverständlich ist, dass es nur geht, wenn ich die Buffergröße auf 512 einstelle.
Bei buf : array[0..510] und
stm.Read(buf,511) kommt was ganz anderes, dürfte doch eigentlich nicht sein oder ?
Sollte man eventuell noch die Clustergröße berücksichtigen ?
sicher oder ? Gibt es denn irgendwo Informationen über den Aufbau des erstens Sektors einer Partition ?
vielen Dank Euch beiden !

viele Grüße
stoxx
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#16

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 14:49
Zitat von stoxx:
was aber total unverständlich ist, dass es nur geht, wenn ich die Buffergröße auf 512 einstelle.
Bei buf : array[0..510] und
stm.Read(buf,511) kommt was ganz anderes, dürfte doch eigentlich nicht sein oder ?
Das steht aber so in der MSDN, man kann auf Festplatten nur in Blöcken die durch 512 teilbar sind zugreifen. (Das kenn ich auch noch von DOS-Zeiten so)

Zitat von stoxx:
Sollte man eventuell noch die Clustergröße berücksichtigen ?
Nein, der erste Sektor ist immer 512 Byte groß, das hat nix mit Clustern zu (Cluster ist eine log. Einheit der Partitionen)!

Zitat von stoxx:
Gibt es denn irgendwo Informationen über den Aufbau des erstens Sektors einer Partition ?
Zu hauf im Internet...
Stichworte: FAT, NTFS, FileSystem, Operationsystems, Betriebssystem, Partionstabelle

Nich alle auf einmal
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#17

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 15:59
Zitat von stoxx:
Gibt es denn irgendwo Informationen über den Aufbau des erstens Sektors einer Partition ?
Zu hauf im Internet...
Stichworte: FAT, NTFS, FileSystem, Operationsystems, Betriebssystem, Partionstabelle

Nich alle auf einmal [/quote]


Hi,

die ersten Probleme fangen schon an
jetzt hab ich mal geguckt und nun steht überall, dass in Byte 0 drin stehen soll ob es eine Starbare oder nicht Starbare Partion ist. siehe Link

http://wwwbs.informatik.htw-dresden....g/Seite0A.html

Jetzt hab ich aber mal meinen ersten Sektor von c in eine DAtei abgespeichert und mit einem Hex Editor angesehen.
Nur komischerweise fängt die Datei folgendermaßen an:

EB 52 90 4E 54 46 53 20

da ist nix von hex 00 oder hex 80 ??
wieso das ?
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#18

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 10. Feb 2004, 23:35
Was die da gelesen haben ist der MBR.

Den kann man via '\\.\PHYSICALDRIVE0' lesen! Öffnet einen Bytestrom auf die gesamte Blatte.

Dich Interessiert aber nicht der Aufbau der gesamten Platte, sondern nur der der einzelnen Partition.

http://www.ntfs.com/fat-systems.htm
http://averstak.tripod.com/fatdox/bootsec.htm

Versuch es mal darüber!
Wenn du dich mal in dieses Thema eingelesen kann es ganz interessant werden!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#19

Re: FestplattenSeriennummer ohne GetVolumeInformation ausles

  Alt 11. Feb 2004, 00:04
feine Links ! Danke !


P.S. was heisstn eigentlich nahe Dresden ?
Wie weit weg von Freiberg ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 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