⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vxd-c6.htm

📁 汇编语言编写的虚拟驱动程序
💻 HTM
📖 第 1 页 / 共 5 页
字号:
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> DISCARDABLE</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _IDATA</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> CLASS 'ICODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> DISCARDABLE</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _PTEXT</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> CLASS 'PCODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> NONDISCARDABLE</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _PMSGTABLE</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:7.5pt;
font-family:黑体'> CLASS 'MCODE'</span></b></tt><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> NONDISCARDABLE IOPL</span></b></tt><span
lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _PMSGDATA</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> CLASS 'MCODE'</span></b></tt><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> NONDISCARDABLE IOPL</span></b></tt><span
lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _PDATA</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> CLASS 'PDATA'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> NONDISCARDABLE SHARED</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _STEXT</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> CLASS 'SCODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> RESIDENT</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _SDATA</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> CLASS 'SCODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> RESIDENT</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _DBOSTART</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:
7.5pt;font-family:黑体'> CLASS 'DBOCODE'</span></b></tt><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:黑体'>&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> PRELOAD NONDISCARDABLE
CONFORMING</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _DBOCODE</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:黑体'> CLASS 'DBOCODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:7.5pt;
font-family:黑体'> PRELOAD NONDISCARDABLE CONFORMING</span></b></tt><span
lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _DBODATA</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:黑体'> CLASS 'DBOCODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:7.5pt;
font-family:黑体'> PRELOAD NONDISCARDABLE CONFORMING</span></b></tt><span
lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _16ICODE</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:黑体'> CLASS '16ICODE'</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:7.5pt;
font-family:黑体'> PRELOAD DISCARDABLE</span></b></tt><span lang=EN-US> <br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> _RCODE</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> CLASS 'RCODE'</span></b></tt><span
lang=EN-US> </span></p>

<p style='margin-right:36.0pt;margin-left:36.0pt'><tt><b><span lang=EN-US
style='font-size:7.5pt;font-family:黑体'>EXPORTS</span></b></tt><span lang=EN-US>
<br>
</span><tt><b><span lang=EN-US style='font-size:7.5pt;font-family:"Courier New";
mso-ascii-font-family:黑体'>&nbsp;&nbsp;&nbsp;</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:黑体'> DYNAVXD_DDB</span></b></tt><tt><b><span
lang=EN-US style='font-size:7.5pt;font-family:"Courier New";mso-ascii-font-family:
黑体'>&nbsp;</span></b></tt><tt><b><span lang=EN-US style='font-size:7.5pt;
font-family:黑体'> @1</span></b></tt></p>

<h3><span style='font-size:13.5pt;mso-bidi-font-size:16.0pt;font-family:宋体;
mso-ascii-font-family:Arial;mso-hansi-font-family:Arial;color:#66FFFF'>完整例子:</span><span
lang=EN-US style='font-size:13.5pt;mso-bidi-font-size:16.0pt'><o:p></o:p></span></h3>

<p class=MsoNormal><span style='mso-bidi-font-size:10.0pt;font-family:宋体;
mso-ascii-font-family:Arial;mso-hansi-font-family:Arial'>下面是一段加载动态</span><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:Arial'>VxD</span><span
style='mso-bidi-font-size:10.0pt;font-family:宋体;mso-ascii-font-family:Arial;
mso-hansi-font-family:Arial'>并且通过</span><span lang=EN-US style='mso-bidi-font-size:
10.0pt;font-family:Arial'>DeviceIoControl API </span><span style='mso-bidi-font-size:
10.0pt;font-family:宋体;mso-ascii-font-family:Arial;mso-hansi-font-family:Arial'>来调用</span><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:Arial'>VxD</span><span
style='mso-bidi-font-size:10.0pt;font-family:宋体;mso-ascii-font-family:Arial;
mso-hansi-font-family:Arial'>内部函数的</span><span lang=EN-US style='mso-bidi-font-size:
10.0pt;font-family:Arial'>Win32</span><span style='mso-bidi-font-size:10.0pt;
font-family:宋体;mso-ascii-font-family:Arial;mso-hansi-font-family:Arial'>应用程序的源代码。</span><span
lang=EN-US style='mso-bidi-font-size:10.0pt;font-family:Arial'><o:p></o:p></span></p>

<p><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>; VxDLoader.asm</span><span
lang=EN-US> </span></p>

<p class=MsoNormal style='margin-right:36.0pt;mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;margin-left:36.0pt'><b><span lang=EN-US
style='font-size:10.0pt;font-family:Arial'>.386</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>.model
flat,stdcall</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>include
windows.inc</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>include
kernel32.inc</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>includelib
kernel32.lib</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>include
user32.inc</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>includelib
user32.lib</span></b><span lang=EN-US> </span></p>

<p style='margin-right:36.0pt;margin-left:36.0pt'><b><span lang=EN-US
style='font-size:10.0pt;font-family:Arial'>.data</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
AppName db &quot;DeviceIoControl&quot;,0</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
VxDName db &quot;\\.\shellmsg.vxd&quot;,0</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
Success db &quot;The VxD is successfully loaded!&quot;,0</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
Failure db &quot;The VxD is not loaded!&quot;,0</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
Unload db &quot;The VxD is now unloaded!&quot;,0</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
MsgTitle db &quot;DeviceIoControl Example&quot;,0</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
MsgText db &quot;I'm called from a VxD!&quot;,0</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
InBuffer dd offset MsgTitle</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dd offset MsgText</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>.data?</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
hVxD dd ?</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>.code</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>start:</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
invoke CreateFile,addr VxDName,0,0,0,0,FILE_FLAG_DELETE_ON_CLOSE,0</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;
.if eax!=INVALID_HANDLE_VALUE</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov hVxD,eax</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke MessageBox,NULL,addr Success,addr AppName,MB_OK+MB_ICONINFORMATION</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke DeviceIoControl,hVxD,1,addr InBuffer,8,NULL,NULL,NULL,NULL</span></b><span
lang=EN-US> <br>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke CloseHandle,hVxD</span></b><span lang=EN-US> <br>
</span><b><span lang=EN-US style='font-si

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -