Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   MBR auslesen (https://www.delphipraxis.net/125104-mbr-auslesen.html)

Cyf 30. Nov 2008 20:14


MBR auslesen
 
Ich hab zu dem Thema schon ein bisschen gesucht, aber keine wirkliche Lösung gefunden, außer das HxD wohl direkt Festplattensektoren auslesen kann (aber ich wills ja selbst machen :lol: )
Hat jemand eine Idee wie sich der MBR auslesen lässt? Und nein, das hat nicht wirklich praktische Gründe, ich will ihn mir einfach nur mal anschauen :-D

DeddyH 1. Dez 2008 08:06

Re: MBR auslesen
 
Willst Du das aus Delphi heraus machen oder einfach nur mal nen MBR sehen?

turboPASCAL 1. Dez 2008 09:03

Re: MBR auslesen
 
Ist relativ einfach.

Delphi-Quellcode:
  fHandle := CreateFile(
    PChar('.PHYSICALDRIVE0'), // ...PHYSICALDRIVE0 <--<< first Harddisk ( Primary Master )
    GENERIC_READ,            // ...read only
    FILE_SHARE_WRITE,        // ...Wichtig, nicht das es Probleme gibt
    nil,
    OPEN_EXISTING,           // ...ist klar warum
    0,
    0);

  if fHandle = INVALID_HANDLE_VALUE then
  begin
    ShowMessage('CreateFile - Error: Invalid Handle');
    exit;
  end;

  Success := ReadFile(fHandle,
    Buffer,
    512,                     // ....read the first 512 Byte (MBR)
    nBytesRead,
    nil);

  CloseHandle(fHandle);      // ...Schnell wieder dem MBR zu-machen ;-)

  // --- nun sollte man den MBR im Array "Buffer" haben ---
Fertig.

Anmerkung:
  • Ungetested!
  • Unter Vista braucht man Anminrechte bzw das Programm benötigt diese.
  • Anwendung auf eigene Gefahr.

DeddyH 1. Dez 2008 09:36

Re: MBR auslesen
 
Ich hätte das jetzt mit Linux und dd gemacht ;)

turboPASCAL 1. Dez 2008 10:46

Re: MBR auslesen
 
Zitat:

Zitat von DeddyH
Ich hätte das jetzt mit Linux und dd gemacht ;)

Gut, man kann auch mit der Kuh um's Dorf laufen. :mrgreen:
Was ist ein "dd" ?

Luckie 1. Dez 2008 12:13

Re: MBR auslesen
 
dd ist ein Linux Programm im Images von Partitionen und Festplatten zu erzeugen. Steht wohl für DiskDouble oder so was. Komischerweise wird dd oftmals von Virenscanner als Malware eingestuft.

DeddyH 1. Dez 2008 12:21

Re: MBR auslesen
 
[OT] dd steht für Copy & Convert. Da aber das Kürzel cc bereits für den C-Compiler reserviert war, hat man einfach den nächsten Buchstaben genommen. [/OT]

Luckie 1. Dez 2008 12:31

Re: MBR auslesen
 
Hmpf, dann eben so.

Übrigens brauht man auch unter XP für den direkten physischen Zugriff auf Laufwerke Administratorenrechte.

DGL-luke 1. Dez 2008 12:32

Re: MBR auslesen
 
och, gibt auch die interpretation "dump device" or "data destroy"...

divBy0 1. Dez 2008 14:38

Re: MBR auslesen
 
Der Code von turboPASCAL funktioniert bei mir leider nicht. Bekomme immer als Rückgabewert immer INVALID_HANDLE_VALUE.

Hat das vielleicht noch jemand ausprobiert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Seite 1 von 3  1 23      

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