资源简介
在驱动层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个文件信息
相关资源
- 计算PSNR的小程序
- 《EDA技术实用教程(第五版)》习题
- 基于snmp的网络流量监控系统的设计与
- URAT VHDL程序与仿真
- Unity Unity SnowPackage下雪效果插件
- Sniffer_CardTool超级卡软件.exe
- 基于VHDL电子时钟
- DHCP snooping代码
- 主动snake方法提取轮廓
- SNN-Math5.0.zip
- 移位相加8位硬件乘法器的 VHDL实现
- snort最新规则很难下到的
- VerilogHDL设计与实战视频教程源码.tx
- 遥感影像上面状道路的准自动提取算
- 基于vhdl语言的信号发生器
- 数字逻辑实验
- 任意N位和M位的乘法器VHDL实现
- 嵌入式linux下截图工具gsnap移植源码
- VHDL描述4*4标准矩阵键盘扫描读取并点
- vhdl写的rs232
- 5110LCD与89c52做出来的贪吃蛇程序工程
- VHDL 4*4矩阵键盘源程序
- 基于Verilog HDL设计的定时器系统
- 占空比测量Verilog HDL
- HDB3解码Verilog程序源码,hdb3_decode.v
- 最新 飞思卡尔Verilog HDL规范.rar
- ahb接口的SDRAM源代码
- 获取硬盘序列号
- 基于VHDL语言的十六路彩灯控制器设计
- 无线传感器网TPSN的优化方案.pdf
评论
共有 条评论