My company's Thicket C# and VB.net obfuscators will generate new random names if you obfuscate everthing at once. If you obfuscate incrementally, then there isn't any choice, you have to preserve the obfuscation of already-obfuscated symbols. Our tools do that.
See Semantic Designs obfuscators.
Basically you can use global replaces to:
Remove all comments
Remove all blank lines
Remove 3/4 of other line feeds
Replace all function names, (except main), with Fnnnn where nnnn is a 4 digit number
Take random chunks of code and move them into macro definitions
Replace all variable names with Vnnnnnn where nnnnnn is a 6 digit number
Rename all Classes ...
The easiest way would be to use npm/Gulp:
var gulp = require('gulp'),
pr = gulp.src(folder + '/**/*')
min = require('gulp-uglify');
What you want is a Program Transformation System (PTS). These are tools that read source code, build compiler data structures representing the code, allow you to apply code transforms to the compiler data structures, and then regenerate source code according to the modified data structure. Ideally, the PTS can be obtained with parsers and prettyprinters (...
It had been more helpful if you had given us some more details like how many licenses are you planning to sell. I can recommend Portable.Licensing (GitHub). It handles both the hassles of your web-based end and software front end.
Portable.Licensing is a cross platform software licensing framework
which allows you to implement licensing into your ...