当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

Win2K下的Api函数的拦阻[VC/C++编程]

赞助商链接



  本文“Win2K下的Api函数的拦阻[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

这么多高手在这里,哎,小弟乐意向各位高手学习.

Api拦阻并非一个新的技术,很多商业软件都采取这种技术.对windows的Api函数的拦阻,不外乎两种办法,第一种是Mr. Jeffrey Richter 的改正exe文件的模块输入节,种办法,很安全,但很复杂,并且有些exe文件,没有Dll的输入标记的列表,有大概呈现拦阻不到的情形.第二种办法就是常用的JMP XXX的办法,固然很陈腐,却很简单实用.

本文一介绍第二种办法在Win2k下的利用.第二种办法,Win98/me 下因为进入Ring0级的办法很多,有LDT,IDT,Vxd等办法,很简单在内存中动态改正代码,但在Win2k下,这些办法都不能用,写WDM太过复杂,表面上看来很难实现,

其实不然.Win2k为我们供应了一个强盛的内存Api操作函数---VirtualProtectEx,WriteProcessMemeory,ReadProcessMemeory,有了它们我们就可以在内存中动态改正代码了,其原型为:

BOOL VirtualProtectEx(
   HANDLE hProcess,   // 要改正内存的进程句柄
   LPVOID lpAddress,   // 要改正内存的起始地址
   DWORD dwSize,     // 改正内存的字节
   DWORD flNewProtect,  // 改正后的内存属性
   PDWORD lpflOldProtect // 改正前的内存属性的地址
);
BOOL WriteProcessMemory(
   HANDLE hProcess,        // 要写进程的句柄
   LPVOID lpBaseAddress,     // 写内存的起始地址
   LPVOID lpBuffer,        // 写入数据的地址
   DWORD nSize,          // 要写的字节数
   LPDWORD lpNumberOfBytesWritten // 实际写入的子节数
);
BOOL ReadProcessMemory(
   HANDLE hProcess,       // 要读进程的句柄
   LPCVOID lpBaseAddress,    // 读内存的起始地址
   LPVOID lpBuffer,       // 读入数据的地址
   DWORD nSize,         // 要读入的字节数
   LPDWORD lpNumberOfBytesRead // 实际读入的子节数
);


  以上是“Win2K下的Api函数的拦阻[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • win2000系统文件名详解
  • 删除win2003默许同享的打印机和传真、筹划任务的办法[图文]
  • WIN2003服务器不支持FLV视频播放的缘由及办理办法
  • Win2008远程桌面端口更改办法
  • Win2003远程登录(远程桌面)最大衔接数改正办法
  • win2003撤消ctrl+ shift+ alt 的登录方法
  • win2003若何撤消关机选项 2003撤消关机提醒窗口的办法
  • Win2003系统CS找不到 vids.cvid 问题的办理
  • Win2003服务器安装及设置教程 MySQL安全设置图文教程
  • <b>简单快速服务器安全(win2003)</b>
  • Win2008 关闭"IE加强的安全配置"堵塞办法
  • 微软展示Win2008服务器热抽换功效
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .