资源简介
在驱动层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个文件信息
相关资源
- res10_300x300_ssd_iter_140000.caffemodel与dep
- CVSNT 完整覆盖版防TortoiseCVS中文乱码
- Alcor(安国)SC908SNAU6989SN主控量产工具
- 抓包工具 sniffer
- 八三编码器设计 VHDL代码 简单,包附
- 数字频率合成dds正弦波基于FPGA的DDS产
- 3人表决器 QuartusII
- 六路智能抢答器VHDL语言
- DISKID硬盘序列号查看器
- HDD repair.rar
- vhdl与lcd1602实现的多控制电子钟
- HDU 1010-2500解题报告
- verilog的PCI源代码,非常详细,顶层模
- 单片机数字时钟包附电路图 源程序
- 用VC 编写的基于SNMP的路由器拓扑程序
- ASK调制与解调VHDL程序及仿真
- 红外循迹小车VHDL程序
- VHDL学习及实例(100个例子)
- VHDL 7人表决器
- VHDL语言编写的100实用的例程
- VHDL写的四人抢答器
- lcd12864的VHDL程序
- 基于VHDL的交通灯控制器设计
- VHDL带分频功能的函数发生器实现六种
- Diskhook(模拟硬盘序列号)
- 基于Ti-Cu二元共晶团簇的Ti-Zr-Cu-Ni-Sn块
- 基于分层的矿井工作面WSN路由协议
- HD3000黑苹果显卡驱动MAC版完美
- SN9C291B datasheet
- Heroes3 资源文件查看器SND文件修改
评论
共有 条评论