• 5578阅读
  • 3回复

关于"you are killed by warden because error response.[reason=5]"问题 [复制链接]

上一主题 下一主题
离线maoqiu
 

发帖
972
美刀
4953
鱼丸
47
只看楼主 倒序阅读 使用道具 楼主  发表于: 2018-08-03
— 本帖被 maoqiu 执行提前操作(2018-08-03) —
以下内容来自大神maesgod的专业解释:


可能有些同学在玩暗黑2的时候,有时候会碰到You are killed by warden because error response.[reason=5],然后游戏卡死,只能退出游戏的问题。

关于这个问题,是d2warden设计本身的问题。现在的d2warden使用一种比较简单粗暴的方式在侦测玩家是否使用了某种hack,因此考虑不周,容易出现误杀的情况。
这个问题的基本原理,就是某个hack规则检测出了问题。

例如,服务器需要检测玩家的d2client.dll 0x1234出是否是值0000(正常值)或者9999(hack值),如果发现玩家返回的值是0000,则认为玩家没有使用某种hack,如果玩家返回的是9999,则认为玩家使用了某种hack,当然要把玩家从服务器上踢掉。

这种检测一般情况是够用了的,但是没有考虑到windows操作系统的可重定位机制带来的影响。
由于可重定位机制的存在,导致d2client.dll启动的时候,没有被加载到预定的地址0x6FAB0000,而是被动态修改了地址,比如加载到了0x10000000,此后d2client.dll里面所有可重定位地址,都需要修改,这个过程,称为程序加载的重定位,具体可以百度。

如果某种d2warden检测规则,恰好检测到一个d2client.dll中的可重定位地址部分,那么玩家返回的值就不是理想的0000了,比如返回了5555。而这个值,既不是正确值0000,也不是hack值9999。这个时候,严格的规则检测,就会将玩家踢出游戏,并报告You are killed by warden because error response.[reason=5]

好了,其实一切的一切,都是d2warden设计不完善带来的。目前情况下,一些暂时的解决办法是:
1、看看最近是否安装了新软件、新驱动,尝试卸载掉,因为这些东西会在你启动d2之前,就预先装载了一大堆dll到内存里。
2、重新启动机器。

专业一点的办法,就是下载LordPE等软件,查看到底哪些dll占用了d2的地址空间,顺藤摸瓜,把它们禁用或者卸载掉。
离线helper

发帖
5138
美刀
58755
鱼丸
26
只看该作者 沙发  发表于: 2018-08-03
这个正常早在其他地方逗人问了
离线木棉君

发帖
4
美刀
9
鱼丸
10
只看该作者 板凳  发表于: 2018-08-04
you are killed by warden because error response.[reason=5]  怎么尝试也解决不了
离线maoqiu

发帖
972
美刀
4953
鱼丸
47
只看该作者 地板  发表于: 2018-08-04
回 2楼(木棉君) 的帖子
木棉君:you are killed by warden because error response.[reason=5]  怎么尝试也解决不了 (2018-08-04 20:27) 

重启,重启后先打开游戏,再开其他应用,比如QQ,浏览器之类的。
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个