• 大小: 74KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: hd  sn  

资源简介

在驱动层hook ZwDeviceIoControlFile,当有请求获取硬盘物理SN时,返回指定SN,从而达到模拟硬盘物理SN的效果. 本工具包含源码,可自行编译.

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include “GUI.h“
#include “commdef.h“

#define WM_NOTIFYICON  (WM_APP+100)
#define MAX_LOADSTRING 100

// Global Variables:
BOOL      __bIsHooked=FALSE;
HANDLE    __SysHandle;
HINSTANCE __hInstance; // current instance
TCHAR sztitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text

// Foward declarations of functions included in this code module:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE int);
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);
LRESULT CALLBACK About(HWND UINT WPARAM LPARAM);
LRESULT CALLBACK SettingProc(HWND UINT WPARAM LPARAM);

BOOL                IconMessage(HWNDDWORDPSTR);
BOOL                LoadDeviceDriver( const TCHAR * Name const TCHAR * Path HANDLE * lphDevice );
BOOL                UnloadDeviceDriver( const TCHAR * Name );
VOID                ReadPhysicalDriveOnNT( BYTE * );
BOOL                WriteResourceToFile(UINT UINT const char * );


int APIENTRY WinMain(HINSTANCE hInstance
                     HINSTANCE hPrevInstance
                     LPSTR     lpCmdLine
                     int       nCmdShow)
{
  // TODO: Place code here.
MSG msg;
HACCEL hAccelTable;

// Initialize global strings
LoadString(hInstance IDS_APP_title sztitle MAX_LOADSTRING);
LoadString(hInstance IDC_GUI szWindowClass MAX_LOADSTRING);
MyRegisterClass(hInstance);

//only support NT/XP
DWORD NTVersion;
NTVersion = GetVersion();
if( NTVersion >= 0x80000000 ){
MessageBox(NULL“Only Support NT/XP““Error“MB_OK|MB_IConerror);
return FALSE;
};


// Perform application initialization:
if (!InitInstance (hInstance nCmdShow)) 
{
return FALSE;
}

hAccelTable = LoadAccelerators(hInstance (LPCTSTR)IDC_GUI);

// Main message loop:
while (GetMessage(&msg NULL 0 0)) 
{
if (!TranslateAccelerator(msg.hwnd hAccelTable &msg)) 
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

return msg.wParam;
}


ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX); 

wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance (LPCTSTR)IDI_GUI);
wcex.hCursor = LoadCursor(NULL IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCSTR)IDC_MENU;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance (LPCTSTR)IDI_SMALL);

return RegisterClassEx(&wcex);
}

BOOL InitInstance(HINSTANCE hInstance int nCmdShow)
{
   HWND hWnd;

   __hInstance = hInstance; // Store instance handle in our global variable

   hWnd = CreateWindow(szWindowClass sztitle WS_OVERLAPPEDWINDOW
      CW_USEDEFAULT 0 CW_USEDE

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-07-25 16:53  hook更改硬盘序列号\
     文件       66048  2014-07-25 16:53  hook更改硬盘序列号\GUI.exe
     文件        3608  2006-10-12 18:19  hook更改硬盘序列号\HdHook.sys
     目录           0  2014-07-25 16:53  hook更改硬盘序列号\src\
     目录           0  2014-07-25 16:51  hook更改硬盘序列号\src\DRIVER\
     文件       13607  2006-11-29 11:33  hook更改硬盘序列号\src\DRIVER\HdHook.C
     文件        2479  2006-10-12 10:45  hook更改硬盘序列号\src\DRIVER\HdHook.H
     文件        1291  2006-10-11 10:46  hook更改硬盘序列号\src\DRIVER\HdHook.RC
     文件        3608  2006-10-12 18:19  hook更改硬盘序列号\src\DRIVER\HdHook.sys
     文件         267  1996-08-09 04:30  hook更改硬盘序列号\src\DRIVER\MAKEFILE
     文件         111  2006-10-12 10:37  hook更改硬盘序列号\src\DRIVER\SOURCES
     目录           0  2014-07-25 16:55  hook更改硬盘序列号\src\GUI\
     文件        1676  2006-10-15 00:52  hook更改硬盘序列号\src\GUI\Commdef.h
     文件       14408  2009-05-18 23:43  hook更改硬盘序列号\src\GUI\GUI.APS
     文件       12243  2006-11-29 12:06  hook更改硬盘序列号\src\GUI\GUI.cpp
     文件        4871  2006-10-12 18:20  hook更改硬盘序列号\src\GUI\GUI.dsp
     文件         529  2006-10-12 13:26  hook更改硬盘序列号\src\GUI\GUI.dsw
     文件         315  2006-10-12 14:34  hook更改硬盘序列号\src\GUI\GUI.h
     文件       48640  2009-05-18 23:43  hook更改硬盘序列号\src\GUI\GUI.opt
     文件        1424  2009-05-18 23:40  hook更改硬盘序列号\src\GUI\GUI.plg
     文件        4901  2006-10-15 00:53  hook更改硬盘序列号\src\GUI\GUI.rc
     文件         871  2014-07-25 16:52  hook更改硬盘序列号\src\GUI\GUI.sln
     文件        7286  2014-07-25 16:52  hook更改硬盘序列号\src\GUI\GUI.vcproj
     文件        4317  2006-11-29 12:05  hook更改硬盘序列号\src\GUI\HDSerial.cpp
     文件        7649  2006-10-12 14:23  hook更改硬盘序列号\src\GUI\INSTDRV.CPP
     目录           0  2014-07-25 16:51  hook更改硬盘序列号\src\GUI\Icon\
     文件        4710  2006-10-12 10:29  hook更改硬盘序列号\src\GUI\Icon\GUI.ico
     文件        3608  2006-10-12 18:19  hook更改硬盘序列号\src\GUI\Icon\HdHook.sys
     文件         318  2006-10-12 16:09  hook更改硬盘序列号\src\GUI\Icon\HookOff.ico
     文件         318  2006-10-12 16:09  hook更改硬盘序列号\src\GUI\Icon\HookOn.ico
     文件        9216  2006-10-12 18:18  hook更改硬盘序列号\src\GUI\Icon\Thumbs.db
............此处省略2个文件信息

评论

共有 条评论