BitBoost Python code obfuscator

Byte-Compiled Python Code Retains Considerable Information Useful to Reverse Engineers, Unless You Obfuscate.

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.

Learn about the BitBoost 'bobs' python code obfuscator, to protect both Python source code and byte-compiled Python code from reverse engineering by pirates & the like.