一键打卡 每日打卡 龙鳞魔堡 金豆锻造 荣誉胸章 海底寻宝 非诚勿扰 虚拟刮奖 杂货道具 好友印象 心情随笔 中华银行 家族部落 积分兑换 图片上传 图片压缩 在线翻译 在线查毒
发表新帖 回帖
No.201611
👦 632307153
  

给开冒险岛私服的老板看的,反外挂的原理

中华游戏网 cnyouw写于:中华游戏网-CNYOUW 👦会员:632307153 🕘时间:2011-01-29 19:59 👀围观:18089人 💬回复:13
给开私服的老板看的,反外挂的原理(转来的.......)0 n0fRu`SNV  
反外挂的原理 %z)EO9vtr  
我感觉与什么模拟键盘鼠标没有关联下面我来介绍一些反外挂方法以及解决方法 =,:K)  
8(lCi$  
主动防御: Tg''1 Wl*  
取得外挂内存特征 进程名称 外挂标题以及外挂的窗口类名外挂向游戏注入DLL的名称外挂对游戏产生的钩子~判断有关游戏用到的系统DLL是否被修改 BKb<2  
X47!E |*  
NP注入保护法 f=_g8+}h  
(!</%^ZI  
他的反外挂方式就是向我们每个进程插入一个DLL 用DLL来判断里面的代码是否危及到游戏~ -Ktwo_ V*  
z7=fDe -  
解决方法就是向我们自己的外挂安装一个DLLHOOK使他的DLL无法插入我们的进程以得到保护 3,$iG e  
p;->hn~D'5  
标题保护法 a%J /0'(d  
v33T @  
游戏判断每个窗口的标题是否附带他规定的关键字眼如果带则判断为外挂 J/kH%_ >Ir  
LDQ e^  
解决方法就是自定一个算法在外挂每次启动时随机标题 o# {#r@,i  
]|LgVXEpx  
注入保护法 ;`jU_  
p24.bLr  
游戏判断外挂向游戏注入的进程名称~ 这点没必要去修改名称直接在DLL内隐藏进程既可 8S>>7z!U  
{D(,ft;s^  
类名保护法 HdCk!Fv  
*m&&1W_  
现在很多游戏的反外挂已经涉及到对外挂的窗口类名进行判断~例如魔兽就是~只要你的程序窗口类名涉及到他规定的关键字就为外挂不管你是不是 这就是大家常见的没有开外挂也被封 &?T${*~  
l,y^HTc}7/  
内存特征保护法 UrK"u{G  
ScJu_A f  
游戏的反外挂会取得你的内存特征(就像杀毒软件取得病毒关键代码一样) j|4tiv>  
解决方法很多 提升你的进程权限使他无法察看你的外挂内存~ 加花到你的关键内存特征处使游戏判断失误 等等.... rPTfpeqN)  
*l!5QG UoK  
进程名称 g i4  
8+(c1  
这个就很常见了..比如你开起一个名为 "外挂.exe" 那没得说了肯定就封 5 ,ZRP'oI  
E fSMFPM  
解决方法就是将他改位系统进程名称 svchost.exe 或者瑞星 Rising.exe 其他的也可以~(我就用Rising.exe 哈哈 uUS)#qM |  
Qj!d^8  
系统DLL判断法 </ZHa:=7  
5$^c@ 0  
有时候对于游戏的反外挂你要修改系统的一些DLL才可以~~所以游戏就会判断这个DLL是否被修改~从而达到反外挂 1t2cY;vJ  
X;]3$\F  
这个我还没有什么解决方法 ~他的判断方式很多 大小 CRC 一系列的 r@|ZlM@O  
l<N?'&  
#W5Yw>$  
被动防御: b|wWHNEdb,  
游戏运行时开启APIHOOK 拦截API信息使API执行无效~ 保护游戏内存使其无法被调试或被调试则出错 P"Rk?lL  
gKQ@!U U8  
有关反APIHOOK ~@fanR =  
cx:jUsb6  
P^4'|#~2T  
本节要介绍如何反APIHOOK的原理与实现。 zJ_My&~  
9::YR;NY  
游戏使用了驱动拦截进程的创建,为每个进程都加入一个DLL文件。这个DLL里会对当前进程中大量的关健API进行HOOK处理。一旦发现该进程调用的API有危害及游戏的进程时就会进行过滤处理。原理上与上节的全局钩子+APIHOOK实现的进程保护差不多。 l $Zs~@N  
L>:FGNf^H  
也就是说APIHOOK就是过滤我们对一些特殊的关健API调用。 *vs~SzF$  
7}07Pit  
为了能实现反APIHOOK功能,我们有必要对APIHOOK这个实现原理有由了解 (`mOB6j  
h/=-tr  
什么是APIHOOK? Sf/W9Jw  
7'UWRRsxUF  
通过某些手段能够控制住目标进程对某些API功能的调用,我们称为APIHOOK cVg$dt  
Ar5JP_M`E  
APIHOOK有哪些方式? Q)dT(Td9~  
?h&l tD  
常见的HOOK API调用的实现方式有两种。 <PQRd  
~UW{)]_jox  
一种是找到该API在内存的入口地址,修改其入口前八字节数据为了一汇编的 jmp xxxxxxxx 无条件跳转指令,使其调用该API时会跳到指定的另一处函数入口处,即与这个API有着相同的参数与返回值的回调处理程序 T&*eOr  
Tw}z7U"  
M6x;BjrV  
.~,^u  
第二种是在进程的输入表(IAT表)找到保存在这里的要调用的那个API地址,修改这个地址,使程序在输入表里找该API地址时取的是我们修改后的回调程序入口地址。 u'Pn(A@1R  
G5+]DogS  
]+,nA R  
rgn|24x  
上面的两种方式,其实第二种不必去考滤,因为程序要调用某个API可以不通过输入表。第一种修改入口前八字节才是最重要的,因为只要程序要调用这个API,必然得从它的入口地址进入。 ?>TbT fmR  
*NjMb{[ZQ  
解决方法 +V89J!7  
MM*-i=  
在进程创建时就先把一些关健的将要使用的API入口处八字节数据读出保存,然后在每次要调用这些API时,把这原保存的八字节数据都写回去。这样一来,游戏对我们的API入口处拦截就失败了。 C~_q^fXJt  
b,vL8*  
但有一点需要注意的,我们的程序必需得在游戏之前运行才可以。如果游戏以我们之前已经运行了的话,就晚了,那时你保存下来的八字节数据早就被游戏动过手脚了的。而且,对于这种被修改过的数据你保存下来后,若该游戏结束运行了时,你还去恢复API入口并调用这些API的话,会出现非法操作的。 _w%s(dzk  
ZjavD^ky  
游戏内存保护法 -faw:  
@`2ozi~lO  
提升进程权限使得外挂无法编辑游戏的内存以达到反外挂 Tvrc%L(]  
,whM22Af~{  
或者是你修改了他的内存就报错 v1K4$&{F  
d#Wn[h$"  
这个地解决方法就是利用底层技术      (此在网上转来) #VR`?n?,  
f>4+,@G   
更多交流请加QQ群:3034161 .lG +a!)  
中华游戏网 cnyouw
No.766917
👦 qq501743472
  
支持啊!
本帖评分记录: 共1条   [总计: 龙鳞+0.2 ]  [删除 我的评分记录]

2012-12-12 18:16🧙cnyouw魔法师🪄BUFF加成:龙鳞+0.2
今日发帖冠军特权奖励,我是冠军求超越~~~来嘛~~
CNYOUW.CNSIGNATURE
求互粉,加粉后请点评一下(只能显示10位粉丝,多了看不到,貌似是这样的,求知道的大神解释),互粉互利,长期有效+++另求进家族,进家族有礼啊,望新老朋友多多支持++支持中华游戏网!
No.700121
👦 沈小二
  
我擦楼主好文采
CNYOUW.CNSIGNATURE
中华游戏网 — 玩你所玩,乐你所乐!cnyouw.cn
No.72873
👦 zip122
  
冒险岛有私服么
CNYOUW.CNSIGNATURE
中华游戏网 — 玩你所玩,乐你所乐!cnyouw.cn
No.393748
👹 as159149
  
   深感无奈.....私服也外挂....
CNYOUW.CNSIGNATURE
中华游戏网 — 玩你所玩,乐你所乐!cnyouw.cn
No.401215
👹 qsqwffdd
  
需然我不是开冒险岛私服的老板不过也来学习学习
CNYOUW.CNSIGNATURE
旋转
No.395745
👹 ginalks
  
不错。就是看不懂
CNYOUW.CNSIGNATURE
中华游戏网 — 玩你所玩,乐你所乐!cnyouw.cn
No.67713
👹 真的无聊
  
看不懂没用
CNYOUW.CNSIGNATURE
中华游戏网 — 玩你所玩,乐你所乐!cnyouw.cn
No.346209
👦 susan丶
  
没兴趣。。。。。。
CNYOUW.CNSIGNATURE
I wish I had your pair of wings
Just like last night in my dreams
No.187234
👦 lvyuan520
  
好贴啊不能沉 帮你顶一顶!
CNYOUW.CNSIGNATURE
哇咔咔~~~哇
快速回复
进入高级模式[可上传附件]
验证问题:
在大明湖畔等皇上的是谁? 正确答案:

Ctrl + Enter 快速发布

🤪为防止个别捣乱会员恶意灌水
注册会员发帖量达到 20
即可解锁快捷表情发送