Skip to content

PyGuard v3.1.0.0

Latest

Choose a tag to compare

@ByteCorum ByteCorum released this 01 Oct 13:54
Immutable release. Only release title and notes can be modified.
0f638c7

PyGuard v3.1.0.0

PyGuard is a Python obfuscation and anti-tampering library with modular architecture. It consists of a main obfuscation engine with multiple encryption layers, legacy obfuscation for backward compatibility, and runtime protection features.

Changelog

Added

General

  • Added strict parameters type control to avoid unexpected runtime errors
  • Added Pyrefly strict code checks to ensure height code quality
  • Added Yamllint strict workflows checks to ensure height workflows quality
  • Added comprehensive project documentation

General Commands

  • Added streamed real time pip output to dependencies command

Legacy Obfuscation

  • Added Base64 separator encoding to MediumObfuscation and PowerObfuscateion to blend separator better into encrypted code
  • Added --seplen separator length option, to allow custom separators

Main Obfuscation

  • Added advanced environment checks to detect execution in hostile environment
  • Added --decoy decoy code entry to execute if environment checks fail, to prevent attacker from knowing whether he was detected
  • Added --debug and --debug-error to make it easier to find bugs in executor

Tests

  • Added complex test case to ensure stability with complex codebases
  • Added local tests to allow contributors to test their changes without pushing

Changed

General

  • Improved project structure for better orientation
  • Rewrote readme to ensure clean and comprehensive project understanding
  • Fixed argument type error when parsing incorrect argument
  • Reworked project-wide exception handling to provide better errors
  • Rewrote logger functionality to ensure correct handling of all possible cases
  • Many small code quality and performance improvements
  • Many bug fixes

General Commands

  • Fixed inconsistency in help command handling
  • Fixed info command output suppression if --quiet is on
  • Fixed pip ignoring global instructions in dependencies
  • Rewrote help texts for better understanding

Legacy Obfuscation

  • Reworked files and dirs path handling algorithm to ensure maximum robustness

Main Obfuscation

  • Reworked files and dirs path handling algorithm to ensure maximum robustness
  • Fixed save path calculation algorithm
  • Replaced AES-GCM with AES-GCM-SIV and ChaCha20 with XChaCha20-Poly1305
  • Rewrote executor to ensure maximum possible protection
  • Reworked encryption and decryption logic for new algorithms to be as fast as possible
  • Reworked file integrity checks to ensure maximum security and bypass protection
  • Reworked string hashing because old one was poorly made
  • Changed executor import logic
  • Improved executor assembling to ensure maximum robustness

Tests

  • Reworked github workflow test pipelines to cover more cases
  • Reworked github workflow test pipelines to ensure robustness
  • Reworked local test execution structure

Removed

  • Removed --salsa option from main obfuscation, because it's unauthenticated stream cipher
  • Replaced AES-GCM with AES-GCM-SIV and ChaCha20 with XChaCha20-Poly1305

Full Changelog: v3.0.0.0...v3.1.0.0