Historia wersji

Lista zmian silnika, klientów i udostępnionego API.

Historia silnika

v1.0 - 15.10.2026

  • Pierwsze wydanie — pierwszy publiczny silnik wirtualizacji i obfuskacji Lua
  • Wirtualizacja kodu — zawsze jeden tryb: wirtualizacja kodu (VM), skończony automat stanów (FSM), taśma splotu albo mieszanie przepływu kodu
  • Wirtualizacja kodu kompiluje wybrane funkcje do zaszyfrowanego kodu rejestrowego i wykonuje go interpreterem handlerów
  • Skończony automat stanów (FSM) wykonuje ten kod ze stanów. Kody operacji są pogrupowane w stany i wykonywane z tych stanów
  • Taśma splotu wykonuje ten kod na jednej zmiennej taśmie. Superoperatory przesuwają taśmę i zapisują ją w trakcie wykonania
  • Mieszanie przepływu kodu spłaszcza dyspozycję do harmonogramu numerowanych bloków. Bieżący blok wybiera następny
  • Kodowanie opcode i wygenerowane nazwy zależą od ziarna. Suma kontrolna kodu jest sprawdzeniem integralności
  • Automatyczne wykrywanie dialektu — najstarsze poprawne parsowanie spośród Lua 5.1, 5.2, 5.3, 5.4, 5.5, potem Luau
  • LuaJIT tylko przy jawnym wyborze — nie jest wnioskowany ze źródła
  • Dekoratory LUAVIRTUALIZER — VM(VM), VM(FSM), VM(WEAVE), VM(FLAT), VM(RND) albo VM(NONE) na funkcji oraz ENABLE i DISABLE dla strategii i grup w tym fragmencie
  • VM(RND) i --code-virtualization rnd — każde uruchomienie wybiera wirtualizację kodu, skończony automat stanów (FSM) albo taśmę splotu. Mieszanie przepływu kodu nie wchodzi do losowania. To samo ziarno powtarza wybór
  • Grupy dekoratorów — NAMES, STRINGS, NUMBERS, BOOLEANS, SHAPE, BUCKET, CALLS, COMMENTS, PROTECT i ALL. ENABLE zastępuje zestaw funkcji, a DISABLE odejmuje od niego
  • Tryb demo — wyłącznie spłaszczona wirtualizacja kodu, limit źródła 1000 bajtów
  • Tryb licencji — pełny zestaw strategii, limit źródła 10 MB
  • Samoobrona — sonda integralności psuje klucze, gdy skrypt zostanie podmieniony
  • Protection linker — fałszywe wywołania, honeypoty resolverów i pułapki stosu powiązane z helperami
  • Zmiana nazw zmiennych, parametrów i funkcji — identyfikatory z zachowaniem zakresu i przekierowaniem wywołań
  • Zmiana wywołań funkcji — kierowanie wywołań przez pośrednią tablicę nazw
  • Mieszanie funkcji — zmiana kolejności funkcji najwyższego poziomu, gdy wykonanie zostaje poprawne
  • Rozwijanie stałych — wstawianie nazwanych stałych i usuwanie nieużywanych deklaracji
  • Style nazw — podobne do identyfikatorów, O/0, szesnastkowe i skrócone
  • Szyfrowanie ciągów — polimorficzne funkcje deszyfrujące, więc literały nie leżą w jawnym tekście
  • Dzielenie ciągów, modyfikacja ciągów i sejf kodów znaków
  • Szyfrowanie liczb całkowitych i zmiennoprzecinkowych, formy integer-to-float, sloty tablic, maski afiniczne i przepisywanie MBA
  • Szyfrowane literały tablic — tabele liczb, znaków, floatów i ciągów dekodowane przy użyciu
  • Pule wartości-przynęt — liczby, tablice, funkcje, znaki, szum anti-regex i ciągi autostartu
  • Nieprzezroczyste predykaty i szum — operatory trójargumentowe, złożone warunki, nieprzezroczyste gałęzie, łańcuchy mikserów, martwy kod i szum w kształcie try/finally
  • Przynęty — nieużywane funkcje, funkcje anonimowe, wypełnienie literałem, fałszywe komentarze require, dynamiczne odwołania, obfuskowane require i zaślepki callbacków
  • Wykrywanie debuggera oraz sondy anty-VM, anty-sandbox i anty-emulator
  • Usuwanie komentarzy — usuwanie komentarzy -- z wyjścia

Historia klienta

v1.0 - 15.10.2026

  • Pierwsze wydanie — pierwsze publiczne klienty
  • Windows GUI — aplikacja desktopowa do wyboru plików, trybu wirtualizacji kodu (VM), skończonego automatu stanów (FSM), taśmy splotu albo mieszania przepływu, dialektu, strategii i wirtualizacji
  • CLI dla Windows i Linuksa — lua-virtualizer -i input.lua -o result.json --output-script protected.lua, z --code-virtualization vm|fsm|weave|flat|rnd i --target dla jawnego dialektu
  • Wirtualizer online i Web API — te same tryby wirtualizacji, z przeglądarki albo przez HTTP
  • Rozszerzenie dla Visual Studio Code i zgodnych edytorów (jak Cursor) do pobrania — wirtualizacja jednej funkcji z menu akcji, uzupełnianie kodu i podpowiedzi dla dekoratorów LUAVIRTUALIZER
  • Oficjalne SDK — pakiety PHP, Python, JavaScript, Rust, C#, PowerShell, Go, Java i Ruby na stronie API
  • Demo na każdym kliencie — wyłącznie wirtualizacja flat, limit 1000 bajtów; licencja podnosi limit do 10 MB i odblokowuje pełny zestaw strategii