Historia wersji

Lista zmian silnika i interfejsów.

Historia silnika

v1.0.2 - 30.07.2026

  • Przepisano sprawdzanie integralności — sonda body-digest (FNV po znormalizowanym skrypcie na dysku z wyłączeniem zakresu sondy) zamiast kontroli kształtu / liczby funkcji
  • Klucze integralności i deszyfrowania ciągów generowane są z bieżącej treści skryptu; edycja treści psuje te klucze
  • Wykrywanie debuggera nie czyści już kluczy mechanizmu sprawdzania integralności, gdy obie opcje są włączone

v1.0.1 - 29.07.2026

  • Naprawiono obsługę try {} finally {}, żeby funkcjonowała poprawnie w PS5 i PS7

v1.0.0 - 28.07.2026

  • Pierwsze wydanie
  • Samoobrona (self-defending) — sonda integralności kształtu źródła; wykryty sabotaż psuje klucze chronionych ciągów
  • Protection linker — fałszywe wywołania w runtime, honeypoty resolverów i pułapki na płytkim stosie powiązane z helperami
  • Zmiana nazw zmiennych — zmiana nazw zmiennych użytkownika na losowe identyfikatory z zachowaniem zakresu
  • Zmiana nazw parametrów — zmiana nazw parametrów funkcji/filtrów oraz ich powiązań w ciele
  • Zmiana nazw funkcji — zmiana nazw definicji funkcji/filtrów i przekierowanie wszystkich wywołań
  • Mieszanie funkcji — losowa kolejność definicji funkcji najwyższego poziomu
  • Spłaszczanie przepływu sterowania — zamiana kodu liniowego na dyspozytor switch/while
  • Maszyna stanów — dwustanowy automat zarządzający blokami liniowymi
  • Wirtualizacja VM — sprowadzanie prostych instrukcji do mikro-interpreterów opkodów
  • Szyfrowanie liczb całkowitych — zastępowanie literałów całkowitych równoważnymi wyrażeniami arytmetycznymi
  • Liczby całkowite do tablic — ekstrakcja literałów całkowitych do indeksowanych tablic odczytu
  • Maska afiniczna liczb całkowitych — opakowywanie liczb w odwracalne maski xor/afiniczne
  • Liczby całkowite na zmiennoprzecinkowe — wyrażanie liczb całkowitych przez wyrażenia zmiennoprzecinkowe [Math]
  • Szyfrowanie liczb zmiennoprzecinkowych — zastępowanie literałów zmiennoprzecinkowych równoważnymi wyrażeniami [Math]
  • Liczby zmiennoprzecinkowe do tablic — ekstrakcja literałów zmiennoprzecinkowych do indeksowanych tablic odczytu
  • Dzielenie ciągów — rozbijanie literałów tekstowych na łączone podciągi
  • Szyfrowanie ciągów — polimorficzne funkcje deszyfrujące ciągi w czasie działania
  • Sejf tablic znaków — kodowanie ciągów jako tablic kodów znaków odtwarzanych w czasie działania
  • Refleksja/wywołania poleceń — budowanie nazw poleceń przez konkatenację i wywołania pośrednie
  • Wstawianie martwego kodu — wstrzykiwanie obojętnych instrukcji nie wpływających na wynik
  • Komplikowanie wyrażeń logicznych — przepisywanie warunków logicznych na równoważne złożone formy
  • Funkcje wabiki — dodawanie nieużywanych, prawdopodobnie wyglądających definicji funkcji wabików
  • Wykrywanie debuggera — zabezpieczenia anty-debug kończące działanie przy obecności debuggera/punktu wstrzymania
  • Fałszywe znaczniki dot-source — dodawanie zakomentowanych fałszywych znaczników zależności dot-source
  • Nieprzezroczyste rozgałęzienia — wstawianie zawsze-fałszywych nieprzezroczystych predykatów między instrukcjami
  • Wabiki scriptblock — dodawanie obojętnych powiązań zmiennych typu scriptblock na początku
  • Wypełnianie literałami — dodawanie dużego nieużywanego here-stringa, aby zwiększyć rozmiar/numery linii
  • Szum try/finally — opakowywanie regionów w obojętne bloki try/finally
  • Zaślepka zdarzeń — wstawianie martwych zaślepek rejestracji zdarzeń/timerów
  • Usuwanie komentarzy — usuwanie z wyjścia komentarzy liniowych # i blokowych <# #>

Historia wersji

v1.0.0 - 28.07.2026

  • Pierwsze wydanie