某平台反war3明图原理分析

在某平台被检测到作弊后,玩家英雄模型会变为红色,并且发送聊天消息提示“作弊者”字样。

目测是通过地图脚本来实现的作弊检测,此类检测依靠jass函数进行作弊检测,只要找到检测逻辑就可惜轻松过检测。

本文的主要目的并不是帮助玩家作弊,而是分析检测作弊的原理。

那么先对 某平台的地图进行分析,发现大量lua脚本,解包以后,搜索“作弊”关键字没有结果,随便打开一个脚本 原来部分字符串都被编码过了。

字符串以16进制的形式写在脚本里。把“作弊”的UTF8编码加上 \x 就能搜索到了。

定位到该脚本内,明显发现脚本被混淆过。

变量名一塌糊涂,缩进也是,不过从字里行间还是能看出一些线索

local function __0x6398__(__0x0142__)
  if __0x0142__.__0x4346__>=99 then
    if __0x1757__(1,100)<=20 then
      __0x0142__.__0x4348__=true
    else
      __0x0142__.__0x4348__=false
    end
   end
end

 这个函数对一个变量进行了判断,如果变量值大于99 那么随机生成一个在[1,100]之间的数 如果这个数小于20 设置一个标志位。

这个函数一看就明白作者的意图了,检测到作弊不一定报告,而是有一定几率,增加外挂作者的工作量。

local function __0x6392__(__0x0422__)
local __0x0608__=0
local __0x6393__=false
local __0x6394__=89
if __0x0422__.__0x6387__>0 then
__0x6393__=true
end
if __0x0422__.__0x6388__>0 then
__0x6393__=true
end
if __0x0422__.__0x6389__>0 then
__0x0608__=__0x0608__+99
__0x6394__=99
end
if __0x0422__.__0x6386__>30 then
local __0x6395__=0.7
local __0x6396__=__0x0422__.__0x6385__/__0x0422__.__0x6386__/__0x6395__*100
__0x0608__=__0x0608__+__0x6396__
if __0x6396__>=100 then
__0x6393__=true
end
end
if __0x0422__.__0x6390__>0 then
__0x0608__=math.max(__0x0608__,50)
local __0x6397__=10
__0x0608__=__0x0608__+__0x0422__.__0x6390__*__0x6397__
end
if __0x6393__ then
__0x0608__=100
else
__0x0608__=math.min(__0x0608__,__0x6394__)
end
return math.floor(__0x0608__)
end

这个函数检测了一大堆变量 用来设置 __0x0608__   这个值 ,经过分析,这个值其实就是判断一个玩家是作弊玩家的可信度 confidence。

当confidence >= 99 即确认这个玩家正在作弊。

for _,__0x0108__ in ipairs(__0x6408__[__0x4332__]) do
__0x0142__:__0x0825__(__0x0108__)
local __0x6412__=__0x0015__.__0x3327__(__0x2541__.selection())
__0x0636__.info('__0x6412__',__0x6412__)
__0x0636__.info('__0x0108__',__0x0108__)
__0x0636__.info('__0x0543__',__0x0543__)
if __0x6412__==__0x0108__ then
__0x1933__.__0x6385__=__0x1933__.__0x6385__+1
__0x0636__.info('__0x1933__.__0x6385__',__0x1933__.__0x6385__)
if __0x6412__==__0x0543__ then
__0x1933__.__0x6387__=__0x1933__.__0x6387__+1
__0x0636__.info('__0x1933__.__0x6387__',__0x1933__.__0x6387__)
end
end
__0x1933__.__0x6386__=__0x1933__.__0x6386__+1
__0x0636__.info('__0x1933__.__0x6386__',__0x1933__.__0x6386__)
end

把元素一个一个取出来 作为参数传给一个函数 然后通过jass api 获取玩家当前选择的单位

根据条件 调整参数,__0x6385__ __0x6387__ __0x6386__可以看出 如果一切正常 __0x6386__ 应该+1

local __0x6413__=__0x0053__.__0x0142__[13]:__0x1314__((string.char(101,50,49,76)),__0x0040__.__0x0525__[(string.char(233,128,137,228,186,186,229,140,186,229,159,159))]:__0x0146__())
__0x0142__:__0x0825__(__0x6413__)
local __0x6414__=__0x0015__.__0x3327__(__0x2541__.selection())
__0x0636__.info('__0x2541__.selection()',__0x2541__.selection())
__0x0636__.info('__0x6413__',__0x6413__)
__0x0636__.info('__0x6414__',__0x6414__)
if __0x6414__~=__0x6413__ then
__0x1933__.__0x6389__=__0x1933__.__0x6389__+1
__0x0636__.info('__0x1933__.__0x6389__',__0x1933__.__0x6389__)
end
__0x6413__:__0x0120__(string.char(233,154,144,232,186,171))
__0x0142__:__0x0825__(__0x6413__)
local __0x6415__=__0x0015__.__0x3327__(__0x2541__.selection())
__0x0636__.info('__0x6415__',__0x6415__)
__0x6413__:__0x0081__()
if __0x6415__==__0x6413__ then
__0x1933__.__0x6388__=__0x1933__.__0x6388__+1
__0x0636__.info('__0x1933__.__0x6388__',__0x1933__.__0x6388__)
end

 同样的手法 不过经过后期的分析,__0x6414__ __0x6413__ 为table __0x6415__ 正常应为nil

如果按照老方法patch SelectUnit 或者以其他方式拦截 驱使玩家选中单位的操作 都会在这里被检测到

local __0x6422__=nil
for __0x0239__=0,3 do
for __0x0249__=0,2 do
local __0x6423__,__0x1397__=__0x2541__.button(__0x0239__,__0x0249__)
if __0x1397__ then
__0x6422__=true
end

 刚开始这里确实没看出来作者的意图 不过 那两个循环仔细观察就能看出来猫腻

一共4*3次循环 不就是war3右下方的动作栏嘛

加上button的提示 那么这应该就是检测是否能看见某个单位的 技能 或者 可用的动作

如果作弊者开启了显示技能这个作弊选项的话 就会被检测到

实际上 即使作弊者没开显示技能 只要他能看见视野外的 “模型” 这个函数同样能检测出来。

这就是目前某平台全部的检测手段。

多亏了lua引擎的日志系统 对地图脚本进行更改 就可以得到更多更详尽的数据

[info]: __0x6412__	nil
[info]: __0x0108__	table: 3AEA3E98
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	1
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3AEA5440
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	2
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3AEA6A20
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	3
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3AEA7EE8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	4
[info]: __0x6412__	nil
[info]: __0x0108__	table: 48A0AA38
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	5
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3AEA89A0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	6
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B803CC0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	7
[info]: __0x6412__	nil
[info]: __0x0108__	table: 436A3638
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	8
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B8082F8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	9
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B809130
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	10
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3ABD4208
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	11
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43DFBE98
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	12
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43E825D8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	13
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B8DD778
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	14
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B8DA8E0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	15
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEC0490
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	16
[info]: __0x6412__	nil
[info]: __0x0108__	table: 436A7618
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	17
[info]: __0x6412__	nil
[info]: __0x0108__	table: 436A2598
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	18
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEC28E0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	19
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEC3948
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	20
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D23BD18
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	21
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D23DB80
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	22
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEC4EF0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	23
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D2390B0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	24
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D23A9A0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	25
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D237398
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	26
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEC6070
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	27
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4387A790
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	28
[info]: __0x6412__	nil
[info]: __0x0108__	table: 441E5088
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	29
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEE1EE0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	30
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEDEE18
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	31
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEFAD18
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	32
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEEC2D0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	33
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEED808
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	34
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEEE480
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	35
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B74C2E8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	36
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B74D740
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	37
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B74E1F8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	38
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B74F768
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	39
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B751598
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	40
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B752670
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	41
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B7533C8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	42
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B754200
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	43
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B7552D8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	44
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B7566F8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	45
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B757B18
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	46
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B758C60
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	47
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B759948
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	48
[info]: __0x6412__	nil
[info]: __0x0108__	table: 437CC630
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	49
[info]: __0x6412__	nil
[info]: __0x0108__	table: 437CB440
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	50
[info]: __0x6412__	nil
[info]: __0x0108__	table: 437CA918
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	51
[info]: __0x6412__	nil
[info]: __0x0108__	table: 437CA100
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	52
[info]: __0x6412__	nil
[info]: __0x0108__	table: 437C9610
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	53
[info]: __0x6412__	nil
[info]: __0x0108__	table: 437D9600
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	54
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4375DEA8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	55
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B75A908
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	56
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B74B280
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	57
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B75BEC8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	58
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B75D898
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	59
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B75EE78
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	60
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B75F9A0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	61
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B760730
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	62
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B761728
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	63
[info]: __0x6412__	nil
[info]: __0x0108__	table: 48907A78
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	64
[info]: __0x6412__	nil
[info]: __0x0108__	table: 48908DF0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	65
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B762B10
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	66
[info]: __0x6412__	nil
[info]: __0x0108__	table: 489042B0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	67
[info]: __0x6412__	nil
[info]: __0x0108__	table: 441D2518
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	68
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B763FA0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	69
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4351E140
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	70
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B765388
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	71
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B7668F8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	72
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B767420
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	73
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FC4F00
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	74
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FCFE38
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	75
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FC69E8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	76
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4936E4E8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	77
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B767D88
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	78
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D242BC8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	79
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D2466D8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	80
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4937B560
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	81
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D245600
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	82
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D2441A8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	83
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4D241070
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	84
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B769838
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	85
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF2A5B0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	86
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF2BC38
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	87
[info]: __0x6412__	nil
[info]: __0x0108__	table: 40957D10
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	88
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FCDBA8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	89
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FCADF0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	90
[info]: __0x6412__	nil
[info]: __0x0108__	table: 40961320
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	91
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4095A1D0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	92
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FCBFA8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	93
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FC9228
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	94
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FC7E08
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	95
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEBC8A0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	96
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BEBBD40
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	97
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3B89B140
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	98
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF1E2C8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	99
[info]: __0x6412__	nil
[info]: __0x0108__	table: 48B47188
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	100
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF20C58
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	101
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF223C0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	102
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43E35AE8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	103
[info]: __0x6412__	nil
[info]: __0x0108__	table: 438867F0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	104
[info]: __0x6412__	nil
[info]: __0x0108__	table: 432D1180
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	105
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43884100
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	106
[info]: __0x6412__	nil
[info]: __0x0108__	table: 438817E0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	107
[info]: __0x6412__	nil
[info]: __0x0108__	table: 432C78D0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	108
[info]: __0x6412__	nil
[info]: __0x0108__	table: 432C46B8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	109
[info]: __0x6412__	nil
[info]: __0x0108__	table: 44004598
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	110
[info]: __0x6412__	nil
[info]: __0x0108__	table: 440019A0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	111
[info]: __0x6412__	nil
[info]: __0x0108__	table: 43FFD2F8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	112
[info]: __0x6412__	nil
[info]: __0x0108__	table: 432CB568
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	113
[info]: __0x6412__	nil
[info]: __0x0108__	table: 432C9150
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	114
[info]: __0x6412__	nil
[info]: __0x0108__	table: 432CC1E0
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	115
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF44620
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	116
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF44D20
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	117
[info]: __0x6412__	nil
[info]: __0x0108__	table: 3BF5F2F8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	118
[info]: __0x6412__	nil
[info]: __0x0108__	table: 4875B390
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	119
[info]: __0x6412__	nil
[info]: __0x0108__	table: 48BB1D58
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	120
[info]: __0x6412__	nil
[info]: __0x0108__	table: 40B108C8
[info]: __0x0543__	table: 40B108C8
[info]: __0x1933__.__0x6386__	121
[info]: __0x6413__	table: 40A371B0
[info]: __0x6414__	table: 40A371B0
[info]: __0x6415__	nil

 上面的日志是另外添加上的,可以看到检测方法 __0x6410__ 已经被完全bypass

与作弊有关的值均没有被设置 __0x6386__ 为没有检测到作弊行为时设置的值

[info]: ---------------------------玩家编号---------------------------	1
[info]: -----------------------------[检测作弊]-----------------------------
[info]: 0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	2
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	114
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	3
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	114
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	4
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	114
[info]: __0x0422__.__0x6390__	16
[info]: 89
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	5
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	114
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	6
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	114
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	7
[info]: -----------------------------[检测作弊]-----------------------------
[info]: 0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	8
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	121
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	9
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	121
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	10
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	121
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	11
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	121
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------
[info]: ---------------------------玩家编号---------------------------	12
[info]: -----------------------------[检测作弊]-----------------------------
[info]: __0x0422__.__0x6386__	121
[info]: 0.0
[info]: -----------------------------[检测作弊]-----------------------------

上面截取的一段日志也是来自于同一场游戏,可以看到已经有玩家的confidence 达到了89

根据该玩家的被设置的标志位

他应该开启了作弊,并且没有bypass技能检测。

根据一段时间的观察 检测函数一般会在游戏开始后 10、15、20、25 分钟之中 随机选择两个时间进行检测。这局游戏时间较短,他很侥幸的躲过了一劫。

 

至于过检测的方法,绝对不止一种。

为了维护游戏的公平性,暂时不能公布。

也许以后吧。

posted @ 2018-10-16 22:49  子兰  阅读(696)  评论(0编辑  收藏  举报