PowerShell Pro Obfuscator version history

Changelog for the obfuscation engine, desktop clients, and hosted API.

Engine history

v1.0.2 - 30.07.2026

  • Self-defending rewritten — opaque body-digest probe (FNV over the normalized on-disk script with the probe span excluded) instead of source-shape / function-count checks
  • Integrity / string-decrypt keys are derived from the live body digest; content edits poison those keys
  • Detect-debugger no longer clears healthy self-defending keys when both options are enabled

v1.0.1 - 29.07.2026

  • Fixed try {} finally {} construct to be compatible with PS5 and PS7

v1.0.0 - 28.07.2026

  • Initial release
  • Self-defending — source-shape integrity probe; failed tamper checks perturb protected string keys
  • Protection linker — runtime decoy calls, honeypot resolvers, and shallow-stack tripwires linked to protected helpers
  • Rename variables — rename user variables to random, scope-safe identifiers
  • Rename parameters — rename function/filter parameters and their in-body bindings
  • Rename functions — rename function/filter definitions and retarget all calls
  • Shuffle functions — randomize the order of top-level function definitions
  • Control-flow flattening — convert linear code into a switch/while dispatcher
  • State machine — dual-state automaton dispatch over linear blocks
  • VM virtualization — lower simple statements to micro opcode interpreters
  • Encrypt integers — replace integer literals with equivalent arithmetic expressions
  • Integers to arrays — extract integer literals into indexed lookup arrays
  • Affine integer mask — wrap integers in reversible xor/affine masks
  • Integers to floating — express integers via [Math] floating-point expressions
  • Encrypt floating — replace float literals with equivalent [Math] expressions
  • Floats to arrays — extract float literals into indexed lookup arrays
  • Split strings — split string literals into concatenated substrings
  • Encrypt strings — runtime polymorphic string decryption helpers
  • String char-array vault — encode strings as char-code arrays rebuilt at runtime
  • Reflect/invoke commands — build cmdlet names via concatenation and indirect invocation
  • Insert dead code — inject inert statements that never affect output
  • Complexify booleans — rewrite boolean conditions into equivalent complex forms
  • Decoy functions — add unused, plausible-looking decoy function definitions
  • Detect debugger — anti-debug guards that exit when a debugger/breakpoint is present
  • Fake dot-source markers — add commented fake dot-source dependency markers
  • Opaque branches — insert always-false opaque predicate branches between statements
  • Scriptblock decoys — prepend inert scriptblock variable bindings
  • Literal padding — prepend a large unused here-string to pad size/line numbers
  • Try/finally noise — wrap regions in inert try/finally blocks
  • Event stub — insert dead event/timer registration stubs
  • Remove comments — strip line # and block <# #> comments from output

Client history

v1.0.0 - 28.07.2026

  • Initial release