An obfuscator especially for VBA–applications in Microsoft Excel.
The deterrence starts with the visual impression!
Same function – same performance!
The attacker will quickly become frustrated and give up!
Your VBA program remains secret.
It is fully protected.
Just very extreme options might change the performance noticeably.
But in these moments you will be informed. And in most of these cases the actual decrease is small.
The CrunchCode functions:
removal of comments, space characters and block structures (indentations)
camouflage names (variables, routines, UserForms etc.) with random names
camouflage strings by coding
camouflage numbers and VBA constants
camouflage captions (UserForms) in the VBA editor screen
outsourcing command sequences to independent subroutines
soure–code and password monitoring
destruction of the code structure while maintaining full functionality
∗ between 500 and 10,000(!) source code changes per second
∗ analysis of 100,000 source code lines with 10,000 identifiers within 2 minutes
Real–time response to source manipulations!
termination of the program or
quit Excel or
erasing the source–code
Debug mode with limited camouflaging while maintaining the code structure for tracing sources of error
Most of the obfuscator–tools fail because of commands such as .OnAction "key", "routine".
They certainly replace the name of the 'routine' himself by a random name but forget to do that within the string of the .OnAction–statement too.
The next runtime–error is inevitable...
identifiers within strings
identifiers in external text files
source code identifiers that appear in external language text files are also camouflaged
Type– and Enum–definitions
methods and properties of objects
names of modules, Userform–elements, buttons etc.
UserForms (these will no longer be displayed in the VBA Editor)
options for camouflaging names:
composed of VBA keywords (e.g. ChDir_Loop, Put_IsArray)
random strings of different lengths (e.g. WnPql, xTqwoDQLdfAZk)
31-digit in "binary" format (e.g. O111001100001101101101110011010)