-
Notifications
You must be signed in to change notification settings - Fork 206
Expand file tree
/
Copy pathstrings-integrity.lua
More file actions
26 lines (24 loc) · 1.79 KB
/
Copy pathstrings-integrity.lua
File metadata and controls
26 lines (24 loc) · 1.79 KB
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
--============================================================
-- Strings Integrity Test Suite
-- Target: NumbersToExpressions Step
-- Author: SpinnySpiwal
-- Purpose: Prevent any further quality regressions from NumbersToExpressions.
-- There was no actual bugs per se, but the bug was the use of Vanilla Lua instead of LuaJIT.
-- This test ensures that the obfuscator stays client-agnostic & doesn't require a specific Lua version.
--============================================================
local integrity = {}
for i = 0, 255 do integrity[i+1]=i end
assert(#integrity == 256, "Failed to create integrity array! Reason: array length is not 256!")
local array = {}
local function chararray(str)
for i = 1, #str do
array[i] = string.byte(str:sub(i, i))
end
return array
end
local cArray = chararray("\0\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")
for i = 1, #cArray do
if cArray[i] ~= integrity[i] then
error("Integrity check failed!")
end
end