【精品】真正的反Opengl32.dll的AMXX插件
本帖最后由 xgl810705 于 2010-6-14 00:19 编辑本人无意间在网络发现的,真正的反OPENGL32.DLL作弊的插件。
声明:此插件非个人作品,我只知道是磊哥的作品,大家感谢他吧。
废话不说,进入用法说明:
1、plugins文件夹中添加Oplforwh.amxx和Adcforwh.amxx
2、plugins.ini文件中添加文件名:Oplforwh.amxx
Adcforwh.amxx
3、amxx.cfg添加命令:anti_say_bantype 1(封禁类型)
anti_say_bantime 30(封禁时间)
OK,希望此插件能换CS1.5一点绿色天空!!!!!!!!!!!!!!!!!!!
希望版主给个精吧
大家觉得好就顶顶吧!!!!!!!!!!!!!!!!!!!!!!
欢迎大家测试!!!!!!!!!!!!!!!!!!!!!!
一刷图就提示使用OPENGL32.DLL,有的玩家使用一段时间才提示,高手修改一下吧,下面也有源码。 我自己顶上去 光下载不顶的死全家啊,就知道下载,不知道顶贴 ;P呵呵 太粗了吧 真的吗! 没有源码好危险呀!! 这个我听说弄不好就没有人能进来服务器! 真的这么强吗 有试过了吗 效果怎么样 我找了一下命令 有没有只提示警告的 不要自动踢人 我让自己踢好了 我帮你把源码发出来吧
#include <amxmodx>
#include <amxmisc>
new REASONOPENGL32
new commandpunishment
new csf_ac_ra
new cv_ac1
new cv_mypunish
new cv_opengl32
new cv_opengl32_amxbanstype
new cv_opengl32_bansay
new cv_opengl32_bantime
new cv_opengl32_bantype
new cv_opengl32_logtype
new Float:cv_opengl32_time
new d_guard
new d_unit
new f_sys
new Handle:g_SqlTuple
new g_configsdir
new g_filenameprecached
new g_gate
new g_gate2
new g_num_opengl32
new g_vac2
new mypunishment
new precache_opengl32
new query
new test_opengl32
stock replace_all ( string[], len, what[], with[] )
new pos
pos = contain(string[],what[])
new total
new with_len
with_len = strlen(with[])
new diff
strlen(what[])
new total_len
total_len = strlen(string[])
new temp_pos
{
if (replace)
{
if (total_len >= pos)
}
temp_pos = contain
if (temp_pos == 0xFFFFFFFF)
{
total++
}
}
stock get_configsdir(name[],len)
{
get_localinfo("amxx_configsdir",name[],len)
}
public plugin_init()
{
register_plugin("CSFile.Info OpenGL32 Detect","2.1 Final","-)>C-r-A-c-K<(-")
register_cvar("csf_opengl32_version","2.1 Final",324,0.000000)
register_cvar("csf_opengl32","1",0,0.000000)
register_cvar("csf_opengl32_checktime","10.0",0,0.000000)
register_cvar("csf_opengl32_bantype","2",0,0.000000)
register_cvar("csf_opengl32_bantime","20160",0,0.000000)
register_cvar("csf_opengl32_bansay","2",0,0.000000)
register_cvar("csf_opengl32_amxbanstype","1",0,0.000000)
register_cvar("csf_opengl32_logtype","1",0,0.000000)
register_cvar("csf_opengl32_mypunishment","",0,0.000000)
format(REASONOPENGL32={""},31," OpenGL32 Hack Detected")
format(d_guard={""},31,"%s%spa",cv_mypunish={"rc"},g_vac2={"on_"})
server_cmd("exec %s/csf_anticheat/csf_ac_opengl32.cfg",g_configsdir={""})
set_task(1.000000,"initialized",0,"",0,"",0)
}
public initialized()
{
new md5buffer
cv_opengl32 = get_cvar_num("csf_opengl32")
Float:cv_opengl32_time = Float:get_cvar_float("csf_opengl32_checktime")
cv_opengl32_bantype = get_cvar_num("csf_opengl32_bantype")
cv_opengl32_bantime = get_cvar_num("csf_opengl32_bantime")
cv_opengl32_bansay = get_cvar_num("csf_opengl32_bansay")
cv_opengl32_amxbanstype = get_cvar_num("csf_opengl32_amxbanstype")
cv_opengl32_logtype = get_cvar_num("csf_opengl32_logtype")
get_cvar_string("csf_opengl32_mypunishment",mypunishment={""},127)
server_cmd("mp_consistency ^"1^"")
if (file_exists("..\opengl32.dll"))
{
md5_file("..\opengl32.dll",md5buffer)
}
server_print("^n^t OpenGL32 * FileName <%s>",g_filenameprecached={""})
format(d_guard={""},31,"%s%s",d_guard={""},d_unit={"s"})
server_print("^n^t OpenGL32 * MD5 <%s>",md5buffer)
server_print("^n^t OpenGL32 * Initialized version %s","2.1 Final")
server_print("^n^t OpenGL32 * Author: -)>C-r-A-c-K<(-^n")
format(g_gate={""},5,"%ste",csf_ac_ra={"ra"})
if (cv_opengl32_logtype == 0x2)
{
new Host
new User
new Pass
new Db
get_cvar_string("csf_ac_sql_host",Host,63)
get_cvar_string("csf_ac_sql_user",User,63)
get_cvar_string("csf_ac_sql_pass",Pass,63)
get_cvar_string("csf_ac_sql_db",Db,63)
Handle:g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db,0)
}
}
public plugin_precache()
{
force_unmodified(0,"","","../opengl32.dll")
}
public setfile_opengl32()
{
server_print("^t OpenGL32 * Not Found Files")
}
new len
new text
new next_file
new check
new notagain
new frmError
new filecfg
format(filecfg,127,"%s/csf_anticheat/csf_ac_opengl32_lastdll.cfg",g_configsdir={""})
if (file_exists(filecfg))
{
read_file(filecfg,0,text,63,len)
}
write_file(filecfg,"",0)
}
new i
}
i++
}
if (check == 0x1)
{
notagain = 0x1
format
}
if (equal)
{
check = 0x1
}
}
if (file_exists("..\opengl32.dll"))
{
delete_file("..\opengl32.dll")
}
strlen(next_file)
if (check)
{
}
}
}
format
format
}
format(g_filenameprecached={""},63,"%s",next_file)
}
strlen(frmError)
server_print("^t OpenGL32 * %s",frmError)
}
write_file(filecfg,next_file,0)
}
public checkfiles_opengl32()
{
new filename
new len
new md5buffer
new flieopengl32
new num
format
new pDir
pDir = open_dir("..\opengl32\",filename,31)
if (pDir)
{
}
len = strlen(filename)
if (len > 0x4)
{
len+=-4
if (equal)
{
num++
format(flieopengl32,63,"..opengl32%s",filename)
md5_file(flieopengl32,md5buffer)
}
}
if (next_file(pDir,filename,31))
{
}
close_dir(pDir)
}
}
public inconsistent_file(id,filename[],reason)
{
if (equal(filename[],"../opengl32.dll",0))
{
}
}
}
public client_connect(id)
{
get_user_info(id,g_gate={""},cv_ac1={""},31)
id+=443
if (task_exists)
{
id+=443
remove_task
}
}
public client_putinserver(id)
{
if (cv_opengl32 == 0x1)
{
if (!is_user_bot(id))
{
if (!is_user_hltv(id))
{
}
}
}
}
id+=443
set_task
}
set_task(3.000000,"c_check_opengl32",id,"",0,"",0)
}