在某平台被檢測到作弊后,玩家英雄模型會變為紅色,並且發送聊天消息提示“作弊者”字樣。
目測是通過地圖腳本來實現的作弊檢測,此類檢測依靠jass函數進行作弊檢測,只要找到檢測邏輯就可惜輕松過檢測。
本文的主要目的並不是幫助玩家作弊,而是分析檢測作弊的原理。
那么先對 某平台的地圖進行分析,發現大量lua腳本,解包以后,搜索“作弊”關鍵字沒有結果,隨便打開一個腳本 原來部分字符串都被編碼過了。
字符串以16進制的形式寫在腳本里。把“作弊”的UTF8編碼加上 \x 就能搜索到了。
定位到該腳本內,明顯發現腳本被混淆過。
變量名一塌糊塗,縮進也是,不過從字里行間還是能看出一些線索
1
2
3
4
5
6
7
8
9
|
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 設置一個標志位。
這個函數一看就明白作者的意圖了,檢測到作弊不一定報告,而是有一定幾率,增加外掛作者的工作量。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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 即確認這個玩家正在作弊。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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 或者以其他方式攔截 驅使玩家選中單位的操作 都會在這里被檢測到
1
2
3
4
5
6
7
|
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引擎的日志系統 對地圖腳本進行更改 就可以得到更多更詳盡的數據
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
|
[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__ 為沒有檢測到作弊行為時設置的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
[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 分鍾之中 隨機選擇兩個時間進行檢測。這局游戲時間較短,他很僥幸的躲過了一劫。
至於過檢測的方法,絕對不止一種。
為了維護游戲的公平性,暫時不能公布。
也許以后吧