yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4545回复:75

纯为灌水

楼主#
更多 发布于:2003-02-25 20:45
介绍
突破Windows XP/2000下硬件端口访问的限制。


我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-25 20:48

正文
突破Windows XP/2000下硬件端口访问的限制
Windows 9x/ME/NT/2000/XP环境下的直接硬件存取操作
Copyright 1998-2001 Yariv Kaplan
http://www.internals.com
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-25 20:49
在网上漫游时,偶然间找到一个好工具,但但是下载后没有进行详细研究,后来有网友向我推荐,才好好看看,发现的确是个好东东,这里向大家推荐,希望能够为在这方面遇到困难的朋友提供一点帮助。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-25 20:51
本人在Windows98下曾经编过直接对端口操作的程序,后来在WindowsXP下运行时出错,才想起这个东西,其实是一个外国朋友提供的静态和动态链接库,带有程序源代码。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-25 20:52
这里给出的是该链接库的说明文件,该因为原文是英文,因此这里将其译成中文,因为匆忙,没有校对,请各位大虾帮助提提意见。这里表示感谢。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-25 20:53
更详细的技术信息请到相关网站上去找。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-02-25 20:55
WinIo程序库允许在32位的Windows应用程序中直接对I/O端口和物理内存进行存取操作。通过使用一种内核模式的设备驱动器和其它几种底层编程技巧,它绕过了Windows系统的保护机制。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-25 20:56
WinNT/2000/XP下,WinIo函数库只允许被具有管理者权限的应用程序调用。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-02-25 20:57
如果使用者不是以管理者的身份进入的,则WinIo DLL不能够被安装,也不能激活WinIO驱动器。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-02-25 20:59
通过在管理者权限下安装驱动器软件就可以克服这种限制。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-02-25 21:01
然而,在这种情况下,ShutdownWinIo函数不能在应用程序结束之前被调用,因为该函数将WinIo驱动程序从系统注册表中删除。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-02-25 21:05
该函数库提供8个函数功能调用:
bool _stdcall InitializeWinIo();
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-02-25 21:14
本函数初始化WioIO函数库。
必须在调用所有其它功能函数之前调用本函数。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-02-25 21:16
如果函数调用成功,返回值为非零值。
如果调用失败,则返回值为0。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-02-25 21:25
void _stdcall ShutdownWinIo();
本函数在内存中清除WinIO库
本函数必须在中止应用函数之前或者不再需要WinIO库时调用,
b
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-02-25 21:29
bool _stdcall GetPortVal(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);
使用此函数从一个输入或输出端口读取一个字节/字/双字数据。
参数:
  wPortAddr
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-02-25 21:30
bool _stdcall SetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);
使用本函数将一个字节/字/双字的数据写入输入或输出接口。
参数:
  wPortAddr
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-02-25 21:42
PBYTE _stdcall MapPhysToLin(PBYTE pbPhysAddr, DWORD dwPhysSize, HANDLE *pPhysicalMemoryHandle)
使用此函数将物理内存的一部分映射到一个32位应用程序的线性地址空间。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-02-25 21:44
下面是一个例子:
PBYTE pbLinAddr;
HANDLE PhysicalMemoryHandle;
pbLinAddr = MapPhysToLin(0xA0000, 65536, &PhysicalMemoryHandle);

我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
yuri69
驱动小牛
驱动小牛
  • 注册日期2002-07-12
  • 最后登录2005-12-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-02-25 21:45
该函数将把物理地址范围为0xA0000 - 0xAFFFF的地址空间映射到与应用程序对应的线性地址空间。 返回值为一个与物理地址0xA0000相关的线性地址。如果出现错误,则返回值为NULL。
我不会停止对你的思念,就像呼吸一样,我不去特意的想,但是,只能屏息,而不可能停止
上一页
游客

返回顶部