C++采用ring3读取MBR实例

2019/7/10 23:11:28

本文主要是介绍C++采用ring3读取MBR实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文实例讲述了C++采用ring3读取MBR的方法,分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
DWORD dwBytesReturned = 0; 
    BYTE bytBuffer_1[512]; 
    BYTE bytBuffer_2[512]; 
    CHAR string[2048]; 
    HANDLE hDevice, hDriver; 
    BOOL bRet; 
 
    hDevice = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); 
 
    if(hDevice == INVALID_HANDLE_VALUE) 
    { 
        printf("\nFailed - CreateFile - Open the PhysicalDrive0.\n"); 
        return 0; 
    } 
 
    bRet = ReadFile(hDevice, (LPVOID)bytBuffer_1, 512, &dwBytesReturned, NULL); 
    if(bRet == FALSE) 
    { 
        printf("\nFailed - ReadFile - the first one.\n"); 
        return 0; 
    } 
    printf("aaaa"); 
    Sleep(1000*3); 
    printf("\nRead MBR using the ReadFile function...\n"); 
    printf("- - - - - - - - - - - - - - - - - - - - - - - - - - - -"); 
 
    sprintf(string, "\n"); 
 
    for(DWORD i = 0; i < 512; i++) 
    { 
        sprintf(string, "%s %02X", string, bytBuffer_1[i]); 
 
        if(((i + 1) % 16) == 0) 
            sprintf(string, "%s\n", string); 
 
        if(((i + 1) % 16) == 8) 
            sprintf(string, "%s -", string); 
    } 
 
    printf("%s", string); 
 
    printf("- - - - - - - - - - - - - - - - - - - - - - - - - - - -");
 

打印结果如下:

希望本文所述对大家的C++程序设计有所帮助。



这篇关于C++采用ring3读取MBR实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程