diff --git a/lua/autorun/server/nova_sv_init.lua b/lua/autorun/server/nova_sv_init.lua index 701cc2c..f6655f6 100644 --- a/lua/autorun/server/nova_sv_init.lua +++ b/lua/autorun/server/nova_sv_init.lua @@ -1,9 +1,9 @@ Nova = Nova or { - ["version"] = "1.7.13" + ["version"] = "1.7.14" } Nova.extensions = Nova.extensions or { - ["latest_version_anticheat"] = "1.0.4" + ["latest_version_anticheat"] = "1.0.5" } local lines = { diff --git a/lua/nova/modules/banbypass/indicators.lua b/lua/nova/modules/banbypass/indicators.lua index 547c35a..2367b56 100644 --- a/lua/nova/modules/banbypass/indicators.lua +++ b/lua/nova/modules/banbypass/indicators.lua @@ -171,7 +171,7 @@ local indicatorPayload = [[ net.SendToServer() end - local keys = {KEY_INSERT, KEY_HOME} + local keys = {KEY_INSERT, KEY_HOME, KEY_PAGEUP, KEY_PAGEDOWN} local hookName = %q local oldCursor = vgui.CursorVisible() hook.Add( "Think", hookName, function() @@ -532,4 +532,10 @@ hook.Add("nova_init_loaded", "banbypass_indicator", function() SendPayload(ply, encryptionKey) GetPlayerSteamData(ply) end) +end) + +// Remove all indicators for a player when they disconnect +hook.Add("nova_base_playerdisconnect", "banbypass_indicators", function(steamID) + Nova.log("d", string.format("Removing indicators for %s", Nova.playerName(steamID))) + indicatorCache[steamID] = nil end) \ No newline at end of file diff --git a/lua/nova/modules/functions/obfuscator.lua b/lua/nova/modules/functions/obfuscator.lua index 95b35e8..4f278de 100644 --- a/lua/nova/modules/functions/obfuscator.lua +++ b/lua/nova/modules/functions/obfuscator.lua @@ -6,6 +6,8 @@ local payloads = { ["banme"] = [==[function(r)net.Start("nova_anticheat_detection")net.WriteString("anticheat_manipulate_ac")net.WriteString(r)net.SendToServer()end]==], } +local enable_debugging = false + local function DumpFunction(func) /*local v, f = {}, jit.util.funcinfo(func) for i = 0, f.bytecodes-1 do @@ -54,8 +56,15 @@ function Nova.obfuscator.variable:Get(identifier) varName = varName .. (math.random(0,1) == 1 and "K" or "k") end - self.identifier[identifier] = varName self.lookup[varName] = identifier + + // if debugging is enabled, we use the identifier as the variable name + if enable_debugging then + self.identifier[identifier] = identifier + else + self.identifier[identifier] = varName + end + end return self.identifier[identifier] end diff --git a/lua/nova/modules/language/de.lua b/lua/nova/modules/language/de.lua index 978cac5..cae398d 100644 --- a/lua/nova/modules/language/de.lua +++ b/lua/nova/modules/language/de.lua @@ -538,8 +538,8 @@ Sicherheit: ["indicator_install_reinstall"] = "Spieler hat das Spiel kürzlich neu installiert", ["indicator_advanced"] = "Spieler verwendet Debug-/Entwickler-Befehle (Er kennt sicht möglicherweise aus...)", ["indicator_first_connect"] = "Erstes Mal auf diesem Server (falls das Spiel nicht neu installiert wurde)", - ["indicator_cheat_hotkey"] = "Spieler hat die Taste INSERT oder HOME gedrückt, die oft zum öffnen von Cheat Menüs verwendet werden", - ["indicator_cheat_menu"] = "Spieler hat ein Menü über die Taste (INSERT oder HOME) geöffnet", + ["indicator_cheat_hotkey"] = "Spieler hat eine Taste (INSERT, HOME, PAGEUP, PAGEDOWN) gedrückt, die oft zum öffnen von Cheat Menüs verwendet werden", + ["indicator_cheat_menu"] = "Spieler hat ein Menü über eine der Tasten INSERT, HOME, PAGEUP oder PAGEDOWN geöffnet", ["indicator_bhop"] = "Spieler hat einen Bunnyhop-Bind auf seinem Mausrad (z. B. 'bind mwheelup +jump')", ["indicator_memoriam"] = "Spieler hat den Cheat 'Memoriam' in der Vergangenheit genutzt oder tut es aktuell", ["indicator_multihack"] = "Spieler hat den Cheat 'Garrysmod 64-bit Visuals Multihack Reborn' in der Vergangenheit genutzt oder tut es aktuell", diff --git a/lua/nova/modules/language/en.lua b/lua/nova/modules/language/en.lua index c0b251b..1113375 100644 --- a/lua/nova/modules/language/en.lua +++ b/lua/nova/modules/language/en.lua @@ -534,8 +534,8 @@ Security: ["indicator_install_reinstall"] = "Player recently reinstalled this game", ["indicator_advanced"] = "Player uses debug/developer commands (he might know what he is doing...)", ["indicator_first_connect"] = "First time connected to this server (if game hasn't been reinstalled)", - ["indicator_cheat_hotkey"] = "Player pressed the INSERT or HOME key, which are often used to open cheat menus", - ["indicator_cheat_menu"] = "Player has opened a menu via the key (INSERT or HOME)", + ["indicator_cheat_hotkey"] = "Player has pressed a key (INSERT, HOME, PAGEUP, PAGEDOWN) that is often used to open cheat menus", + ["indicator_cheat_menu"] = "Player has opened a menu using one of the keys INSERT, HOME, PAGEUP or PAGEDOWN", ["indicator_bhop"] = "Player has a bunnyhop bind on his mouse wheel (like 'bind mwheelup +jump')", ["indicator_memoriam"] = "Player has used the cheat 'Memoriam' in the past or is currently doing so", ["indicator_multihack"] = "Player has used the cheat 'Garrysmod 64-bit Visuals Multihack Reborn' in the past or is currently doing so", diff --git a/lua/nova/modules/language/ru.lua b/lua/nova/modules/language/ru.lua index 61b7655..4b3700b 100644 --- a/lua/nova/modules/language/ru.lua +++ b/lua/nova/modules/language/ru.lua @@ -536,8 +536,8 @@ https://github.com/Freilichtbuehne/nova-defender-anticheat/releases/latest]], ["indicator_install_reinstall"] = "Игрок недавно переустановил эту игру", ["indicator_advanced"] = "Игрок использует команды отладки/разработчика (он может знать, что делает...)", ["indicator_first_connect"] = "Первое подключение к этому серверу (если игра не была переустановлена)", - ["indicator_cheat_hotkey"] = "Игрок нажал клавишу INSERT или HOME, которые часто используются для открытия чит-меню", - ["indicator_cheat_menu"] = "Игрок открыл меню с помощью клавиши (INSERT или HOME)", + ["indicator_cheat_hotkey"] = "Игрок нажал клавишу (INSERT, HOME, PAGEUP, PAGEDOWN), которая часто используется для открытия чит-меню", + ["indicator_cheat_menu"] = "Игрок открыл меню с помощью одной из клавиш INSERT, HOME, PAGEUP или PAGEDOWN", ["indicator_bhop"] = "Игрок имеет привязку распрыжки к своему колесу мыши (например, «bind mwheelup +jump»).", ["indicator_memoriam"] = "Игрок использовал чит «Memoriam» в прошлом или делает это прямо сейчас", ["indicator_multihack"] = "Игрок использовал чит «Garrysmod 64-bit Visuals Multihack Reborn» в прошлом или делает это прямо сейчас", diff --git a/lua/nova/modules/language/zh_hans.lua b/lua/nova/modules/language/zh_hans.lua index aa3e17d..1598347 100644 --- a/lua/nova/modules/language/zh_hans.lua +++ b/lua/nova/modules/language/zh_hans.lua @@ -530,8 +530,8 @@ https://github.com/Freilichtbuehne/nova-defender-anticheat/releases/latest]], ["indicator_install_reinstall"] = "玩家最近重新安装了这个游戏", ["indicator_advanced"] = "玩家使用调试/开发者命令(他可能知道他在做什么...)", ["indicator_first_connect"] = "第一次连接到这个服务器(如果游戏没有被重新安装)", - ["indicator_cheat_hotkey"] = "玩家按下了 INSERT 或 HOME 键,这两个键通常用于打开作弊菜单", - ["indicator_cheat_menu"] = "玩家使用(INSERT 或 HOME)键打开了菜单", + ["indicator_cheat_hotkey"] = "玩家按下了一个键(INSERT、HOME、PAGEUP、PAGEDOWN),该键通常用于打开作弊菜单", + ["indicator_cheat_menu"] = "玩家使用 INSERT、HOME、PAGEUP 或 PAGEDOWN 键之一打开了菜单", ["indicator_bhop"] = "玩家在他的鼠标滚轮上绑定了兔子跳(如'bind mwheelup +jump')", ["indicator_memoriam"] = "玩家过去或现在使用了作弊'Memoriam'", ["indicator_multihack"] = "玩家过去或现在使用了作弊'Garrysmod 64-bit Visuals Multihack Reborn'",