zoukankan      html  css  js  c++  java
  • 某平台反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 分钟之中 随机选择两个时间进行检测。这局游戏时间较短,他很侥幸的躲过了一劫。

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

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

    也许以后吧。

  • 相关阅读:
    2010年7月29日_周四_Working with CallbackResults
    2010年7月19日_周一_Using the Common Data Source API in a Web application
    2010年7月20日_周二_Accessing ArcGIS Server from a Web application
    Flex代码自动换行(自动格式化)
    2010年7月21日_周三_Developing a scriptable Web ADF control
    2010年7月30日_周五_ASP.NET callback solution
    2010年8月02日_周一_map control
    SDE数据库的异地部署
    2010年7月27日_周二_introduction_to_web_controls
    ICE在VC中的配置
  • 原文地址:https://www.cnblogs.com/BD1A489/p/9801244.html
Copyright © 2011-2022 走看看