【登录】 【注册】
进入此贴详细完整版>> 给开冒险岛私服的老板看的,反外挂的原理中华游戏网 > 网游单机下载

主题:给开冒险岛私服的老板看的,反外挂的原理
作者:632307153
时间:2011-01-29 19:59

给开私服的老板看的,反外挂的原理(转来的.......)0 A1(=7ZKz  
反外挂的原理 4`#3p@-  
我感觉与什么模拟键盘鼠标没有关联下面我来介绍一些反外挂方法以及解决方法 QBiLH]qa  
{^VvL'n  
主动防御: z`[q$H7?  
取得外挂内存特征 进程名称 外挂标题以及外挂的窗口类名外挂向游戏注入DLL的名称外挂对游戏产生的钩子~判断有关游戏用到的系统DLL是否被修改 TGe{NUO  
B!cg)Y?.bd  
NP注入保护法 ?4i:$.A Y  
4#BoS9d2I<  
他的反外挂方式就是向我们每个进程插入一个DLL 用DLL来判断里面的代码是否危及到游戏~ QcDWVM'v  
D#n^U `\if  
解决方法就是向我们自己的外挂安装一个DLLHOOK使他的DLL无法插入我们的进程以得到保护 )pA N_e"  
yPqZ ,  
标题保护法 aj<=]=hr  
NuqWezJm&  
游戏判断每个窗口的标题是否附带他规定的关键字眼如果带则判断为外挂 uk~4R@=&H  
"' hc)58y  
解决方法就是自定一个算法在外挂每次启动时随机标题 jTJ]: EN  
) b vZ~t+^  
注入保护法 RuHMD"  
.<C}/Cl  
游戏判断外挂向游戏注入的进程名称~ 这点没必要去修改名称直接在DLL内隐藏进程既可 +\a`:QET  
aGY F\7  
类名保护法 xW;-=Q  
Q@-7{3  
现在很多游戏的反外挂已经涉及到对外挂的窗口类名进行判断~例如魔兽就是~只要你的程序窗口类名涉及到他规定的关键字就为外挂不管你是不是 这就是大家常见的没有开外挂也被封 4(f4 4' ^  
2So7fZa^wg  
内存特征保护法 U,4:yc,)s  
5B'};AQ  
游戏的反外挂会取得你的内存特征(就像杀毒软件取得病毒关键代码一样) yEe4{j$  
解决方法很多 提升你的进程权限使他无法察看你的外挂内存~ 加花到你的关键内存特征处使游戏判断失误 等等.... =@d IM  
O8N\  
进程名称 /Ma"a ^  
Y dK]%%  
这个就很常见了..比如你开起一个名为 "外挂.exe" 那没得说了肯定就封 1>SCY _C v  
,HFoy-Yq  
解决方法就是将他改位系统进程名称 svchost.exe 或者瑞星 Rising.exe 其他的也可以~(我就用Rising.exe 哈哈 3./4] _p  
*M_Gu{xc  
系统DLL判断法 YkKq}DXj  
zp2IpYQ,3  
有时候对于游戏的反外挂你要修改系统的一些DLL才可以~~所以游戏就会判断这个DLL是否被修改~从而达到反外挂 0?",dTf3i  
)TBG-<wt  
这个我还没有什么解决方法 ~他的判断方式很多 大小 CRC 一系列的 gB\KD{E  
Ex ?)FL$4  
N+9`'n^x  
被动防御: u8A u `  
游戏运行时开启APIHOOK 拦截API信息使API执行无效~ 保护游戏内存使其无法被调试或被调试则出错 ^p0BeSRiy;  
FasA f( 3  
有关反APIHOOK nKJJ7 R L  
yH8 N8  
rI5)w_E?  
本节要介绍如何反APIHOOK的原理与实现。 DM*mOT  
iG1vy'J#o  
游戏使用了驱动拦截进程的创建,为每个进程都加入一个DLL文件。这个DLL里会对当前进程中大量的关健API进行HOOK处理。一旦发现该进程调用的API有危害及游戏的进程时就会进行过滤处理。原理上与上节的全局钩子+APIHOOK实现的进程保护差不多。 ncluA~8  
O0{M3-  
也就是说APIHOOK就是过滤我们对一些特殊的关健API调用。 $:%?-xy(  
5CxD ys&<  
为了能实现反APIHOOK功能,我们有必要对APIHOOK这个实现原理有由了解 XTHy CK  
3JiDi X"|  
什么是APIHOOK? k@eU #c5c  
s wdW70  
通过某些手段能够控制住目标进程对某些API功能的调用,我们称为APIHOOK rZDlPp>BPZ  
*FkG32k  
APIHOOK有哪些方式? c%aY6dQG&%  
%:/_O*~)Yg  
常见的HOOK API调用的实现方式有两种。 PEPBnBA&1  
3+;}2x0-F  
一种是找到该API在内存的入口地址,修改其入口前八字节数据为了一汇编的 jmp xxxxxxxx 无条件跳转指令,使其调用该API时会跳到指定的另一处函数入口处,即与这个API有着相同的参数与返回值的回调处理程序 hN6j5.x%  
9'I I!  
! Q`GA<ikv  
)j40hrR  
第二种是在进程的输入表(IAT表)找到保存在这里的要调用的那个API地址,修改这个地址,使程序在输入表里找该API地址时取的是我们修改后的回调程序入口地址。 r`|/qP:T[  
E lt=/,v`!  
(L?fYSP!  
yFT)R hN  
上面的两种方式,其实第二种不必去考滤,因为程序要调用某个API可以不通过输入表。第一种修改入口前八字节才是最重要的,因为只要程序要调用这个API,必然得从它的入口地址进入。 "$ ? f&*  
?#^_yd|<  
解决方法 63d ' fgVp  
h'x|yy]@3  
在进程创建时就先把一些关健的将要使用的API入口处八字节数据读出保存,然后在每次要调用这些API时,把这原保存的八字节数据都写回去。这样一来,游戏对我们的API入口处拦截就失败了。 Eg?6$[U`8<  
\d0R&vFHQ  
但有一点需要注意的,我们的程序必需得在游戏之前运行才可以。如果游戏以我们之前已经运行了的话,就晚了,那时你保存下来的八字节数据早就被游戏动过手脚了的。而且,对于这种被修改过的数据你保存下来后,若该游戏结束运行了时,你还去恢复API入口并调用这些API的话,会出现非法操作的。 \k1psqw^O  
6=kA  
游戏内存保护法 5A:mu+Iz6H  
8VJUaL@  
提升进程权限使得外挂无法编辑游戏的内存以达到反外挂 %v\0Dm+A  
n\}!'>d'  
或者是你修改了他的内存就报错 M`ETH8Su=  
|\ j'Z0  
这个地解决方法就是利用底层技术      (此在网上转来)  b]s*z<|%  
)DsC:cP  
更多交流请加QQ群:3034161 2B7X~t>8a  

1楼:ximximqqq(2011-01-29 20:05)

是什么来的啊
2楼:瑾々轩(2011-01-29 20:20)

完全看不懂...
3楼:632307153(2011-01-29 20:29)

好贴不能沉!自己来顶一顶
4楼:冚家产(2011-02-01 20:02)

LZ的贴好深奥
5楼:lvyuan520(2011-02-02 09:40)

好贴啊不能沉 帮你顶一顶!
6楼:susan丶(2011-02-02 10:20)

没兴趣。。。。。。
7楼:真的无聊(2011-02-02 10:45)

看不懂没用
8楼:ginalks(2011-03-24 11:10)

不错。就是看不懂
9楼:qsqwffdd(2011-03-30 15:11)

需然我不是开冒险岛私服的老板不过也来学习学习
10楼:as159149(2011-03-30 21:39)

   深感无奈.....私服也外挂....
11楼:zip122(2011-12-28 13:27)

冒险岛有私服么
12楼:沈小二(2012-08-17 16:53)

我擦楼主好文采
13楼:qq501743472(2012-12-12 18:16)

支持啊!

进入此贴详细完整版>> 给开冒险岛私服的老板看的,反外挂的原理 返回顶部


COPYRIGHT © 2006-2024 中华游戏网 cnyouw.cn. ALL RIGHTS RESERVED. SITEMAP