Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
20. Jun 2018
Mit FileSeek() klappt es. :thumb:
FileSeek(fHandle,Offset*SectorSize,fsFromBeginning);
Result := ReadFile(fHandle, Sector, SectorSize, nBytesRead, nil);
Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
20. Jun 2018
Cool, dass du dich auch gerade mit so etwas beschäftigst. :-D
Ich hab gerade ne Funktion geschrieben mit denen ich dann die bestimmten Sectoren in eine Datei schreiben kann.
Funktioniert auch mit einem Header für eine Signatur zum Carven und Zusatzinformationen (Timestamp, Größe usw.), nachdem ich gerade entdeckt habe, dass es variable Records gibt. Der Padded den Header auch gleich auf 512...
Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
19. Jun 2018
Das Programm ist jetzt so weit, das die Infos zur Partition angezeigt werden und nach der Auswahl der erste Sektor ausgelesen wird.
Siehe Screenshot.
Allerdings funktioniert das Offset bei ReadFile nicht richtig, bzw. ich konnte nicht wirklich finden, womit der Record von ^Overlapped befüllt werden muss.
type TSECTOR= Array of Byte;
Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
19. Jun 2018
Leider fehlt mir gerade noch die Zuordnung von logischen Laufwerksbuchstaben der Partitionen zu den physischen Drives, um dann auf den jeweiligen Bootsektor der Partition zugreifen zu können.
Also z.B. "C:\" -> "\\.\PhysicalDrive1: Partition 1"
Hier mal ein Screenshot von OSForensics:
Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
18. Jun 2018
Vielen Dank, für deine großartige Hilfe.
Deine Exe liefert sogar noch viel mehr Informationen, als ich brauche. ;)
Mit dem Code lässt sich also sehr gut was anfangen. Der verlinkte Code ließ sich auch fehlerfrei im Lazarus kompilieren.
Edit: Hab auch noch einen Fehler im Code gefunden.
Bei Writeln(Format('Size %d',));// Uint64 kommt es zu einem Überlauf, da die Funktion selbst nur...
Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
11. Jun 2018
Danke.
Gibt es denn eine Funktion, die mir die erkannten physischen Datenträger auflisten kann?
Forum: Win32/Win64 API (native code)
by Delphi-Delphin,
10. Jun 2018
Wie kann man direkt auf dem physischen Datenträger lesen? Ich würde gerne auf den MBR/GPT und die Bootblöcke der einzelnen Partitionen zugreifen.
Verwendet wird Lazarus.