Well, I'm doing something else now. All the programs were put in public domain and this website will not be updated. Thanks for your visit and please come back sometime. Keep on keeping on ;-)
Vasile Calmatui, May 20th 2001
Vasile's ObfuLite - Documentation
- What are the command line options?
- What is VasObfuLite?
- Why Java needs obfuscation?
- What does VasObfuLite?
- Will VasObfuLite stop decompilers?
- Is VasObfuLite as good as X obfuscator?
- Will there be any change to the size of my classes?
- How can I paste my java code into the text area?
- What are the command line options?
You can launch VasObfuLite from command-line in order to process one or several files at once, without making copy/paste operation in an applet. So "VasObfuLite.class" is an applet and an application in the same time.
The program will create new files by adding ".vas" to existing ".java" extention. For example, if your source file is Test.java then VasObfuLite's output file will be Test.java.vas.
The command-line options are:
java VasObfuLite [-f] file1 file2 ..
When using "-f" option the program will override the existing files.
- What is VasObfuLite?
VasObfuLite is a Java obfuscator. It obfuscates your Java source code and makes your programs less vulnerable to reverse engineering.
- Why Java needs obfuscation?
When compiling your .java files, Java compilers place a considerable amount of data and symbolic names into .class files. Also, as a result of Java architecture, the bytecode (.class files) can easily be reverse engineered into readable Java source code.
Now, several decompilers have been written that take advantage of the large amount of symbolic information contained within an applet. You can just take a look at javap program shipped with Sun's JDK.
Java decompilers are particularly effective because applets are typically small, by creating a highly readable, easy to understand and even recompilable source code. In most cases, the decompiled code is missing only the comments, and often, the new code is tidier than the original.
- What does VasObfuLite?
Working on source-code level, VasObfuLite will just rename private fields (variable names) to new, short ones, like v0, v1, v2... Thus, if decompiled, your program will give less (and obscure, hard to understand) information to the hacker.
Source code (.java files) processed by VasObfuLite is fully equivalent to the original code, and is still compilable.
- Will VasObfuLite stop decompilers?
No. As a result of Java architecture, the bytecode (.class files) can and will be easily decompilable.
VasObfuLite will not stop a decompiler, but it will make decompiler's output less intelligible.
- Is VasObfuLite as good as X obfuscator?
VasObfuLite is far from being commercial code. It is a tool I made for myself and I use to obfuscate my programs. It was tested only on Win95 with Sun's JDK 1.02. Obfuscation applies only to private variables.
However, I plan to further obscure the meaning and sense of the original source program (obfuscate the private methods, too). With VasObfuLite, if registered, you'll get the source code and you'll be able to adapt it to your own needs.
- Will there be any change to the size of my classes?
Yes. VasObfuLite will slightly reduce the size of class files. On my classes, it's normally saving 10-15% of .class files. However, the amount of reduction will considerably vary from one program to another, depending on the naming conventions.
- How can I paste my java code into the text area?
Like in most applications in your OS.
If you are under Windows, open your .java file in a text editor, eg Notepad. Select all the text and copy it (with Ctrl+C). Paste it later in the text area (with Ctrl+V).
After processing the code, select all code from the text area (eg hit TAB key twice) and copy it (Ctrl+C). You can paste then the code in your favorite Java editor.
Don't forget you can always use the command-line mode.
VasObfuLite page
Last updated on March 12th, 1999
VasHome | MailMe | Java Programs | Registration | Français
© 1997, 1998, 1999, 2000 Vasile Calmatui