Python code obfuscator
Python's standard library includes the dis
module, which can be used to disassemble byte-compiled Python code.
Even on a different computer where the source code is unavailable, with dis
we see that byte-compiled Python code retains the names of classes, methods, functions, variables, function arguments, method arguments, etc. created or defined in the source code that was byte-compiled.
Avoid these information leaks by using a high-quality, effective Python code obfuscator.
>>> import dis >>> import use_example_pkg 4 >>> dis.dis(use_example_pkg.license_key_checker) Disassembly of KeyChecker: Disassembly of __init__: 28 0 LOAD_FAST 0 (self) 3 LOAD_ATTR 0 (setup) 6 CALL_FUNCTION 0 9 POP_TOP 10 LOAD_CONST 1 (None) 13 RETURN_VALUE Disassembly of check_key_and_do_work: 32 0 LOAD_GLOBAL 0 (rudimentary_key_check) 3 CALL_FUNCTION 0 6 POP_TOP 33 7 LOAD_FAST 1 (work_spec) 10 POP_JUMP_IF_FALSE 50 13 LOAD_FAST 2 (data_spec) 16 POP_JUMP_IF_FALSE 50 40 19 LOAD_GLOBAL 1 (work_mutators) 22 LOAD_ATTR 2 (mutate_work_result) 41 25 LOAD_FAST 0 (self) 28 LOAD_ATTR 3 (flexwork) 31 LOAD_FAST 1 (work_spec) 34 LOAD_FAST 2 (data_spec) 37 CALL_FUNCTION 2 42 40 LOAD_GLOBAL 4 (keycheck3) 43 LOAD_ATTR 5 (optimize_resources) 46 CALL_FUNCTION 2 49 RETURN_VALUE 43 >> 50 LOAD_FAST 1 (work_spec) 53 POP_JUMP_IF_FALSE 69 46 56 LOAD_FAST 0 (self) 59 LOAD_ATTR 3 (flexwork) 62 LOAD_FAST 1 (work_spec) 65 CALL_FUNCTION 1 68 RETURN_VALUE 47 >> 69 LOAD_CONST 1 (None) 72 RETURN_VALUE Disassembly of binary_adaptor: 4 0 LOAD_CONST 0 (None) 3 RETURN_VALUE Disassembly of binary_checker: 3 0 LOAD_CONST 0 (None) 3 RETURN_VALUE Disassembly of check_key_regarding_instrument_class: 61 0 LOAD_GLOBAL 0 (rudimentary_key_check) 3 LOAD_FAST 1 (instrument_class) 6 CALL_FUNCTION 1 9 RETURN_VALUE Disassembly of rudimentary_key_check: 51 0 LOAD_GLOBAL 0 (keycheck3) 3 LOAD_ATTR 1 (optimize_resources) 6 LOAD_FAST 0 (var_args) 9 CALL_FUNCTION 1 12 POP_TOP 52 13 SETUP_EXCEPT 14 (to 30) 53 16 LOAD_GLOBAL 2 (len) 19 LOAD_FAST 0 (var_args) 22 CALL_FUNCTION 1 25 RETURN_VALUE 26 POP_BLOCK 27 JUMP_FORWARD 8 (to 38) 54 >> 30 POP_TOP 31 POP_TOP 32 POP_TOP 55 33 LOAD_CONST 1 (0) 36 RETURN_VALUE 37 END_FINALLY >> 38 LOAD_CONST 0 (None) 41 RETURN_VALUE license_key_checker.py This module checks the user's license key... If this wasn't just example code, important facts about this module should be spelled out here... Example code copyright 2014 by BitBoost and Chris Niswander. >>> use_example_pkg.license_key_checker.__doc__ license_key_checker.py This module checks the user's license key... If this wasn't just example code, important facts about this module should be spelled out here... Example code copyright 2014 by BitBoost and Chris Niswander. >>> use_example_pkg.license_key_checker.KeyChecker.__doc__ This class combines - normal work - efficiency improvements - some license key checks Explanation explanation...
BitBoost's Python code obfuscation irreversibly removes most or almost all of these helpful names, while preserving the code's functionality.
© Copyright 2018 by BitBoost
BitBoost, BitBoost Systems, and 'bobs' are trademarks and/or service marks of BitBoost