当前位置: 首页 > news >正文

第3章 Windows运行机理-3.1 内核分析(12)

我们可从CpuCool.c程序中看到VxD的装入内存、安装功能和设置VxD功能号3的全过程。在代码中都有详细的注释。其实,VxD的装入方法与一个通常的文件一样,也是通过Win API的函数CreateFile来完成,大家一定不要被Create这个词误解了,其实,CreateFile可以用来打开和创建新文件。

int APIENTRY WinMain( HANDLE hInstance,

HANDLE hPrevInstance,

LPSTR lpszCmdLine,int nCmdShow)

{

static char szAppName[]="CoolCPU";

char Buffer[64];

HMENU hPopupMenu;

WNDCLASS wndclass;

HWND hwnd;

MSG msg;

int Ret;

hResInstance=hInstance;

//是否是中文

LoadString(hResInstance,IDS_CODEPAGE,Text,sizeof(Text));

Ret=StrToInt(Text);

if(GetSystemMetrics(SM_DBCSENABLED) && GetACP()==(DWORD)Ret)

China=1;

else

China=0;

//取得操作系统的版本

WinNT=GetVersion();

WinNT=(WinNT&0x80000000)==0 ? 1:0;

//如果不是WinNT就打开VxD,因为VxD只能在WIN9X下工作

if(WinNT==0)

{//打开VxD

lstrcpy(SthVxDName,"\\\\.\\");

GetStartPath(Buffer,sizeof(Buffer));

//VxD只认短路径

GetShortPathName(Buffer,&SthVxDName[4],

sizeof(SthVxDName));

lstrcat(SthVxDName,"SthVxD.VxD");

//尝试打开默认的VxD

hCVxD = CreateFile("\\\\.\\SthVxD", 0,0,0, CREATE_NEW,

FILE_FLAG_DELETE_ON_CLOSE, 0);

if(hCVxD==INVALID_HANDLE_VALUE)

{

//直接打开全路径的VxD

hCVxD = CreateFile(SthVxDName, 0,0,0, CREATE_NEW,

FILE_FLAG_DELETE_ON_CLOSE, 0);

}

if(hCVxD==INVALID_HANDLE_VALUE)

{//直接打开默认的.VxD

hCVxD = CreateFile("\\\\.\\SthVxD.VxD", 0,0,0, CREATE_NEW,

FILE_FLAG_DELETE_ON_CLOSE, 0);

}

//成功否

if(hCVxD!=INVALID_HANDLE_VALUE)

{

EnableHlt=TRUE;

//设置VxD功能号3

DeviceIoControl(hCVxD,3,(LPVOID)NULL,0,

(LPVOID)&EnableHlt,sizeof(EnableHlt),

&cbBytesReturned,NULL);

}

else {

if(China)

{

LoadString(hResInstance,IDS_MAYBEERROR,

Cap,sizeof(Cap));

LoadString(hResInstance,IDS_NOTLOADVxD,

Text,sizeof(Text));

MessageBox(NULL,Text,Cap,MB_OK);

}

else MessageBox(NULL,"Can't load STHVxD.VxD,STHVCD maybe failure !",

"Maybe Error",MB_OK);

}

}

hIcon=LoadIcon(hResInstance,MAKEINTRESOURCE(IDI_ICON));

if(China) hPopupMenu=LoadMenu(hResInstance,MAKEINTRESOURCE(IDR_CMENU));

else hPopupMenu=LoadMenu(hResInstance,MAKEINTRESOURCE(IDR_MENU));

hPopMenu=GetSubMenu(hPopupMenu,0);

if(!hPrevInstance)

{

wndclass.style =CS_HREDRAW | CS_VREDRAW;

wndclass.lpfnWndProc =(WNDPROC)WndProc;

wndclass.cbClsExtra =0;

wndclass.cbWndExtra =0;

wndclass.hInstance =hInstance;

wndclass.hIcon =hIcon;

wndclass.hCursor =LoadCursor(NULL,IDC_ARROW);

wndclass.hbrBackground =(HBRUSH)COLOR_WINDOW;

wndclass.lpszMenuName =NULL;

wndclass.lpszClassName =szAppName;

RegisterClass(&wndclass);

}

MainWin=hwnd=CreateWindow( szAppName,"CoolCPU",

WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|

WS_MINIMIZEBOX,

0,0,

240,160,

NULL,NULL,hResInstance,NULL);

ShowWindow(hwnd,SW_HIDE);

UpdateWindow(hwnd);

AddShellIcon();

while(GetMessage(&msg,NULL,0,0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

DelShellIcon();

DestroyIcon(hIcon);

DestroyMenu(hPopupMenu);

//关闭降温

if(WinNT==0)

{

if(hCVxD!=INVALID_HANDLE_VALUE)

{

EnableHlt=0;

//设置VxD功能号3

DeviceIoControl(hCVxD,3,(LPVOID)NULL,0,

(LPVOID)&EnableHlt, sizeof(EnableHlt),

&cbBytesReturned,NULL);

}

}

//关闭VxD

if( hCVxD != INVALID_HANDLE_VALUE )

CloseHandle(hCVxD);

return msg.wParam;

}

http://www.jsqmd.com/news/408174/

相关文章:

  • 好写作AI | 简历平平无奇?用AI优化个人经历,拿捏名企HR
  • 论文汇总丨超100篇AI for Science重要成果,一文速览2025年技术创新
  • GESP2023年12月认证C++二级( 第二部分判断题(1-10))
  • 三步骤,零编程:耐达讯自动化工业网关实现Profinet转Devicenet快速集成
  • 【网络安全】ARP攻击一篇文章讲透:原理、攻击与防御
  • GESP2023年12月认证C++二级( 第一部分选择题(9-15))
  • 性能测试面试题,5分钟速刷一下!
  • 2026年AI训练图片、视频、数据集供应商优选,卓特视觉赋能企业AI训练 - 品牌2026
  • 黑客内网渗透第一课:ARP欺骗攻击实战与防御
  • 闭眼入!8个AI论文软件测评:本科生毕业论文写作必备工具推荐
  • 计算机毕业设计springboot基于Spark的豆瓣电影数据分析与可视化系统 SpringBoot框架下结合Spark的电影信息可视化分析与决策支持系统 影视数据挖掘及智能推荐平台
  • 2026年度权威发布:最新铝合金电缆厂家实力与技术创新深度解析 - 品牌推荐
  • 淘宝评论API接入后
  • ARP攻击详解:为什么局域网这么脆弱?个人与企业防护指南
  • 2026年评价高的高速卷帘门公司推荐:快速门安装、磁吸门帘、钢质抗风门、PVC快速门、pvc堆积式快速门选择指南 - 优质品牌商家
  • 柴油发电机组哪个牌子技术先进,热门品牌大揭秘 - 工业品牌热点
  • Jam 陷阱
  • 融合与重构:从EasyDSS一站式视频云平台看流媒体技术如何重塑企业交互边界
  • 实战演练:用ARP实现中间人攻击,以及如何发现它
  • 2026蛋白棒专用设备推荐 供应商+价格+机型全指南 - 包罗万闻
  • 免费!开源!高帧率!这款iOS+Android投屏神器,终于有人把它讲清楚了
  • 2026年出境旅行社推荐:基于多场景实测评价,针对服务标准化与安全隐忧痛点精准指南 - 品牌推荐
  • 好写作AI | 口语化太严重?一键将大白话升级为学术语言!
  • day022
  • 2026年室内局部装修找哪家,圣朝装饰精准匹配需求超省心 - 工业推荐榜
  • 好写作AI | 别再说你没灵感:50个创意选题库,让你的大脑瞬间开机!
  • 出境游服务哪家更可靠?2026年出境旅行社推荐与评测,解决信息差与体验不佳痛点 - 品牌推荐
  • 2026年大模型API价格全解析:从厘级到免费的理性选型指南
  • 2026 至暗时刻 - 枝-致
  • 好写作AI | 策划案平平无奇?用AI生成让人眼前一亮的创新点子!