yasco is **y**et **a**nother **s**ource **c**ode **o**bfuscator.
The project’s former name was Yaso (yet another script obfuscator) but since that name was already taken on [Google Code][yaso], I decided to rename it.
It is entirely written in Perl and makes use of the `Parse::Yapp` CPAN module by [Francois Desarmenien][cpan] to generate the parser.
yasco can be used to minify Javascript code or additionally obfuscate it. It supports automatic semicolon insertion and soon inline function optimization.
* [FEATURES](/projects/yasco/features)
* [OPTIONS AND ARGUMENTS](/projects/yasco/options)
Availability
—–
yasco is currently hosted on [Google Code][googlecode].
You can check out the current trunk from:
`http://yasco.googlecode.com/svn/trunk/`
## What it can do
* perform a syntax check on your code
* strip comments from your code
* minimize your code by shortening variable names
* minimize your code by shortening function names
* substitute string literals into an encrypted string table
* make “hashes” unreadable
## What it *cannot* do
* Make your code unreadable. *
\* There’s *always* a way to “unobfuscate” whatever you feed to *any* source code obfuscator. It’s Javascript’s nature to be executed on the client side. Even the compressed output is eventually being fed to `eval()` which anyone can substitute to `document.write()` and output the code. Still only in one line, but that’s why I invented the `-C` option. 😉
[yaso]: http://code.google.com/p/yaso/ “yet another server owner”
[cpan]: http://search.cpan.org/~fdesar/
[googlecode]: http://code.google.com/p/yasco/