源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C++采用ring3读取MBR实例

  • 时间:2020-05-02 17:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C++采用ring3读取MBR实例
本文实例讲述了C++采用ring3读取MBR的方法,分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
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 X", 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("- - - - - - - - - - - - - - - - - - - - - - - - - - - -");
打印结果如下: [img]http://files.jb51.net/file_images/article/201410/20141012104450979.jpg?2014912104513[/img] 希望本文所述对大家的C++程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部