by Anonymous » Today, 02:38
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)
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]#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)[/code]