游戏外挂设计技术探讨
日期:2008年2月25日 作者: 查看:[大字体 中字体 小字体]-
LPVOID lpAddress, // region of committed pages
SIZE_T dwSize, // size of the region
DWORD flNewProtect, // desired access protection
PDWORD lpflOldProtect // old protection
);
该函数用于改变本进程内虚拟地址页的保护属性。其中,lpAddress表示被改变保护属性页区域地址;dwSize表示页区域大小;flNewProtect表示新的保护属性,可取值为PAGE_READONLY、PAGE_READWRITE、PAGE_EXECUTE等;lpflOldProtect表示用于保存改变前的保护属性。如果函数调用成功返回“T”,否则返回“F”。
有了这两个API函数,我们就可以随心所欲的修改进程内存了。首先,调用VirtualQuery()函数查询被修改内存的页信息,再根据此信息调用VirtualProtect()函数改变这些页的保护属性为PAGE_READWRITE,有了这个权限您就可以任意修改进程内存数据了。下面一段代码演示了如何将进程虚拟地址为0x0040106c处的字节清零。
BYTE* pData = 0x0040106c;
MEMORY_BASIC_INFORMATION mbi_thunk;
//查询页信息。
VirtualQuery(pData, &mbi_thunk, sizeof(MEMORY_BASIC_INFORMATION));
//改变页保护属性为读写。
VirtualProtect(mbi_thunk.BaseAddress,mbi_thunk.RegionSize,
PAGE_READWRITE, &mbi_thunk.Protect);
//清零。
*pData = 0x00;
//恢复页的原保护属性。
DWORD dwOldProtect;
VirtualProtect(mbi_thunk.BaseAddress,mbi_thunk.RegionSize,
mbi_thunk.Protect, &dwOldProtect);
(3)、注入外挂代码进入被挂游戏进程中完成了定位和修改程序中调用API函数代码后,我们就可以随意设计自定义的API函数的替代函数了。做完这一切后,还需要将这些代码注入到被外挂游戏程序进程内存空间中,不然游戏进程根本不会访问到替代函数代码。注入方法有很多,如利用全局钩子注入、利用注册表注入挡截User32库中的API函数、利用CreateRemoteThread注入(仅限于NT/2000)、利用BHO注入等。因为我们在动作模拟技术一节已经接触过全局钩子,我相信聪明的读者已经完全掌握了全局钩子的制作过程,所以我们在后面的实例中,将继续利用这个全局钩子。至于其它几种注入方法,如果感兴趣可参阅MSDN有关内容。
有了以上理论基础,我们下面就开始制作一个挡截MessageBoxA和recv函数的实例,在开发游戏外挂程序 时,可以此实例为框架,加入相应的替代函数和处理代码即可。此实例的开发过程如下:
(1) 打开前面创建的ActiveKey项目。
(2) 在ActiveKey.h文件中加入HOOKAPI结构,此结构用来存储被挡截API函数名称、原API函数地址和替代函数地址。 - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] 下一页
-
- 游戏外挂设计技术探讨 相关文章:
- ·.travel旅游域名注册详细放宽条件首次批露
- ·Travel旅游域名政策放宽或引发抢注潮
- ·玩对对碰游戏注意事项
- ·让傲游更加稳定流畅
- ·傲游Maxthon设置有技巧 浏览网页更稳定
- ·旅游资讯网站首页的设计分析
- ·网游大盗关闭某些安全软件并盗号
- ·QQ游戏斯诺克贴库球的打法
- ·IT网游八大富豪身价曝光(2007年)
- ·腐败之盗多进程加载盗取众多网游
- 游戏外挂设计技术探讨 相关软件
- ·畅游系列之坦克大战
- ·《葫芦娃大战蝎子王》游戏试玩
- ·《Toribash》游戏试玩
- ·变形金刚游戏GT独占宣传片
- ·《古墓丽影十周年纪念版》正式版地图任我游工具
- ·【连环画】铁道游击队 01 血染洋行(沪美版)
- ·游戏马—边锋记牌器
- ·游戏马-QQ记牌器
- ·扑克游戏 81.17
- ·天狼星语音控制大话西游
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:成长的烦恼:进一步理解设计模式
下一篇:中文Google地图的发展前景
精品推荐
热点TOP10
- ·游戏外挂设计技术探讨
- ·Solaris 10 安装及SVC管理及X及Vmware及其它可能遇到的一些问题
- ·简单对象访问协议(SOAP)初级指南
- ·DCOM揭秘之六
- ·Java 2中的Facade设计模式
- ·DB2 数据库设计:取得最佳性能的准则
- ·ADO.NET实用经验无保留曝光
- ·游戏开发新手入门之跟踪窗口和使用GDI
- ·利用API在Windows下创建进程和线程
- ·DB2数据库优化10 佳性能技巧
- ·四种网络游戏外挂的设计方法
- ·Message dispatch,失踪的链环
- ·游戏开发新手入门之Windows编程
- ·网络监听技术概览
- ·数据结构与算法总论
- ·自建Blog网站完全图解
- ·Java 2中的adapter模式
- ·程序语言效率比较
- ·叠代器模式(Iterator)
- ·原始套接字透析之综合实例:网络黑手
