Wie schreibe ich Rohsektoren zu \\. \ PhysicalDrive0 unter Windows 11? (Zugriff verweigert)C++

Programme in C++. Entwicklerforum
Anonymous
 Wie schreibe ich Rohsektoren zu \\. \ PhysicalDrive0 unter Windows 11? (Zugriff verweigert)

Post by Anonymous »

Ich erstelle ein Tool, das Rohdaten direkt auf die Festplatte unter Windows 11 schreiben muss. Ich erhalte immer Fehler_access_denied < /code>. /> Versucht, in eine Nicht-OS-Partition zu schreiben < /li>
Versuchte, die Partition zu sperren und abzunehmen. RING 0 Die einzige Option?

Code: Select all

#include 
#include 

int main() {
HANDLE hDrive = CreateFileW(
L"\\\\.\\PhysicalDrive0",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL
);

if (hDrive == INVALID_HANDLE_VALUE) {
printf("Failed to open drive, error: %lu\n", GetLastError());
return 1;
}

BYTE buffer[512] = {0}; // one sector of zeros
DWORD bytesWritten;

BOOL result = WriteFile(hDrive, buffer, sizeof(buffer), &bytesWritten, NULL);

if (!result) {
printf("WriteFile failed, error: %lu\n", GetLastError());
} else {
printf("Wrote %lu bytes\n", bytesWritten);
}

CloseHandle(hDrive);
return 0;
}
< /code>
Wenn Sie als Administrator oder sogar mit PSEXEC als System ausgeführt werden, wird dies normalerweise so etwas wie: < /p>
drucktWriteFile failed, error: 5
< /code>
(ERROR_ACCESS_DENIED)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post