Why Code Obfuscation?
Code obfuscation is to make your code difficult to read and understand. Hopefully to the point where a potential pirate would find it easier to write their own code than to decipher and use yours.
Now Available on the Microsoft store.
To download and Install...
Your 30 day free trial is available after installing VBA Mush from the Microsoft Store.
Buy a one year license here.
What makes a good obfuscator?
No complicated setup required. If your code complies before it is mushed, it will complile after it is mushed. Syntax is syntax.
Changing variable names to meaningless names.
Changing constant names to meaningless names.
Removal of all comments and blank lines.
Combining multiple lines of code into fewer longer lines of code.
Managing variable and constant name changes at three levels, public, module level and procedure level (Sub and Function).
Producing listings that shows programming statistical information related to the obfuscation process.
For Each Module
A Module Summary
The initial number of lines of code and byte count and the resulting number of lines and byte counts. Further provided are the number of commented lines, blank lines and comments on statments were removed and the total number of variable names that were substituted in the module.
A Routine Summary
Each Sub and Function in the module is listed indicating initial number of lines of code and the resulting number of code lines. Further provided are the number of commented lines, blank lines and comments on statments were removed.
A Variable Utilization Summary
Variable and Constant names substituted incluiding the variable definition level, the routine name it was found in along with the number of substitutions made. The original name along with the obfuscated name are listed. First the procedure level variables, followed by the module level, then by the public variables referenced, each sorted by the original variable names.
Variable Presidence Warnings
Also included would be any situations where the same named variable was used within different programming levels. While this is syntactically valid, and legal, it can sometimes be a mistake by the coder that easily goes unnoticed.
Also included is a single summary that summarizes all of the modules encountered giving you an overall view of your obfuscated code and VBA project. Included is the module's 'Option Explicit' setting encountered for easy reference.
VBMush also places a comment at the start of each module that includes the product name, program author and a security license tag. These three items are set at the project level during the Mush process, however can be overridden at a module level with specifically coded comment lines within each module allowing for greater module identification after the mush process.
Contact us to answer any questions about Mush