laolang 发表于 2009-1-9 22:51:13

filescheck的测试结果,封不掉内挂

本来想使用filescheck封杀内挂
经过我和浩海同志的测试,结果是不行的
我们把正规的opengl32.dll放在服务器上
然后把非法的opengl32.dll装客户端,结果是进不去了
但是,把客户端的opengl32.dll去掉,还是进不去服务器
也就是说,此方法限制了正常玩家的进入。
以前点通上有个封 particleman.dll的方法
particleman.dll是1.6的作弊文件
opengl32.dll    是1.5的作弊文件
经过测试,filescheck是不能封杀cs本身没有的作弊文件的
RFC也是如此
看来要想解决内挂问题,是要修改filescheck或RFC了,但没原码
要修改成这样的
1,检测作弊文件和服务器上是否一致,不一样就不让进
2,如果客户端没有特定作弊文件,让玩家进入
只有这样,才能既阻挡作弊,又不影响正常玩家

laolang 发表于 2009-1-9 22:55:42

本帖最后由 laolang 于 2009-1-10 14:48 编辑

1# laolang
刚看到有个朋友提供了FilesCheck.sma原码,谢谢
我把FilesCheck.sma发上,看看大家能不 能修改下,如果修改好了,就能封内挂/* AMX Mod X Plugin
*
* (c) Copyright 2008, ConnorMcLeod
* This file is provided as is (no warranties).
*
*/
#include <amxmodx>
new g_pcvarExactModel, g_pcvarSeparateLogFile
public plugin_init()
{
static const VERSION[] = "1.1"
register_plugin("Files Check", VERSION, "Greenboy")
register_cvar("fc_version", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
g_pcvarSeparateLogFile = register_cvar("fc_separatelog", "2")
}
public plugin_precache()
{
g_pcvarExactModel = register_cvar("fc_exactweapons", "0")
static szConfigFile
get_localinfo("amxx_configsdir", szConfigFile, 63)
format(szConfigFile, 63, "%s/filescheck.ini", szConfigFile)
new File = fopen(szConfigFile, "rt")
if(!File)
return
static szFile
while(!feof(File))
{
fgets(File, szFile, 63)
trim( szFile )
if(!szFile || szFile == ';' || (szFile == '/' && szFile == '/'))
continue
if (!file_exists(szFile))
continue
if(equali(szFile, ".mdl"))
{
force_unmodified(get_pcvar_float(g_pcvarExactModel) ? force_exactfile : force_model_samebounds, {0,0,0}, {0,0,0}, szFile)
}
else
{
force_unmodified(force_exactfile, {0,0,0}, {0,0,0}, szFile)
}
}
fclose(File)
}
public inconsistent_file(id, const filename[], reason)
{
static szMessage, szName, UserID, IP, szAuthid
get_user_name(id, szName, 31)
get_user_ip(id,IP,31)
get_user_authid(id, szAuthid, 31)
UserID = get_user_userid(id)
formatex(szMessage, 191, "^"%s<%s>^" 浣跨敤浜嗛潪娉曟枃浠?^"%s^"", szName, IP, filename)
switch( get_pcvar_num(g_pcvarSeparateLogFile) )
{
case 1:
{
log_amx(szMessage)
}
case 2:
{
static const szLogFile[] = "filecheck.log"
log_to_file(szLogFile, szMessage)
}
default:
{
log_message(szMessage)
}
}
server_cmd("say ^"%s^"", szMessage)
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg936\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset134 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2052\\ f0\\ fs16 \n\\ par }
*/

apocalyptic 发表于 2009-1-10 13:28:16

filescheck是不能封杀cs本身没有的作弊文件的
这早就是常识了。
fc的关键是inconsistent_file函数,这个函数只能对比现有文件的差异。就算排除文件不存在的情况,也对打击作弊意义不大,稍微改一下文件名就绕过去了。

laolang 发表于 2009-1-10 14:17:08


这早就是常识了。
fc的关键是inconsistent_file函数,这个函数只能对比现有文件的差异。就算排除文件不存在的情况,也对打击作弊意义不大,稍微改一下文件名就绕过去了。 ...
apocalyptic 发表于 2009-1-10 13:28 http://www.dt-club.net/forum/images/common/back.gif
常识吗?怎么没见点通上有人说过,要是有说过,我何必要做测试?
我以前就提问过,没见回答过
关于改文件名字,我也问过,有人说改了名字,内挂作弊器就不能使用
至于到底谁说的对,还需要测试

laolang 发表于 2009-1-10 14:44:12

花了10分钟测试过了,
我测试了1.5和1.6两个内挂作弊文件
particleman.dll是1.6的作弊文件
opengl32.dll    是1.5的作弊文件
分别把2个文件名字进行了修改,测试结果是,改名字后,能进游戏,但作弊功能丧失
请有疑问的朋友自己测试,如果能修改文件名字达到作弊目的,那么就不用修改filescheck了
如果,修改文件名字,作弊就不能使用,通过修改filescheck,还是有用的
所以,大家发言一定要经过测试,方便给没测试过的朋友提供意见

补充一点:要想修改作弊文件名字,我认为除非修改作弊内核,但又有几个 人能做到呢?

apocalyptic 发表于 2009-1-10 15:33:01

需要反复强调的还是常识吗?
至于你说的修改名字无效,只能说这些作弊器太白痴了。

laolang 发表于 2009-1-10 15:45:23

本帖最后由 laolang 于 2009-1-10 18:39 编辑

3人行,必有我师
对于大家不了解的东西,只要做出正确解答即可
好好看看曾经发过的帖子吧
我真不想让这个帖子又变成争论的帖子
如果谁想研究下filescheck,就看看
不想看的呢,自便吧

gearfox 发表于 2009-1-10 22:17:54

apocalyptic ,有话还是好好说
毕竟laolang也是一片好心

macafee 发表于 2009-1-11 14:33:16

支持laolang以数据说话的严谨态度!

0xtt7 发表于 2009-1-11 15:46:05

:):):):):):)
页: [1] 2
查看完整版本: filescheck的测试结果,封不掉内挂