JCLASSLIB BYTECODE VIEWER
Mathematics and Computer Education, Winter 2005 by Ashbacher, Charles
JCLASSLIB BYTECODE VIEWER
available as a free download from ej-technologies at http://www. ej-technologies. com/download/jclasslib/flles.html
In my introductory programming in Java classes and my class in computer security, I often talk about Java bytecode and how generic it is. A major point emphasized in the security class is that compiled code, Java bytecode or executable, is not invulnerable to cracking.
In the introductory classes, I have found it helpful to spend significant time discussing the structure of Java bytecode, and the tool reviewed here is useful in demonstrating some of the features. It is also helpful in answering the efficiency questions that seem to be asked on a regular basis. For instance, some of the most frequently asked questions are:
* "Are the compressed arithmetic forms such as x = 4 rather than x = x 4 more efficient?"
* "How much more efficient are the increment/decrement operators such as n rather than n = n 1?"
With this tool, it is possible to decompile the Java bytecode into source code and determine the differences. Demonstrations like this are also helpful in teaching other languages that use the increment operator.
In my security class, I spend a great deal of time covering the reverse engineering of Java bytecode and C/C executable code. By recovering source code from the bytecode, the students can see how easy it is to reverse engineer the source and understand how it is structured, the goal being to uncover security weaknesses. I generally follow this with coverage of the practice of code obfuscation and encryption. By taking simple code and performing a small number of basic obfuscation techniques, the two bytecodes can be compared. This has proven to be a very effective demonstration of the value of simple security techniques.
jClassLib Bytecode Viewer is very easy to use. For instance, it takes less than five minutes to explain how to use it for a simple analysis. There are options that will list other characteristics of the source, such as the number of variables, maximum stack depth, the number of methods, the number of attributes, the number of interfaces, and a table of exceptions. These are helpful in performing a more detailed analysis of the code. More advanced features allow you to set up a workspace, browse the classpath, and set a new classpath.
I have found this tool to be of enormous value in demonstrating some of the features of computer security. With just a few minutes of instruction, the students are capable of doing simple exercises that can benefit them greatly. I strongly recommend jClassLib Bytecode Viewer.
Reviewed by Charles Ashbacher
Most Recent Reference Articles
- ARAB EUROPEAN RELATIONS - Dec 22 - Russia Denies Selling Missile System To Iran
- EGYPT - Dec 29 - Opposition Says Mubarak Blessed Israeli Attacks
- ARAB AFFAIRS - Dec 22 - Syria Will Eventually Move To Direct Talks With Israel
- ARAB AFFAIRS - Dec 30 - GCC Denounces Massacre
- ARAB ISRAELI RELATIONS - Israel Issues An Appeal To Palestinians In Gaza
Most Recent Reference Publications
Most Popular Reference Articles
- How Tyler Perry rose from homelessness to a $5 million mansion
- 9 questions to ask your new lover: what you were afraid to ask, but always wanted to know
- Vickie Winans: at home with the gospel star who lost 75 pounds and reenergized her career
- Free Sex Change? Move To Idaho - Brief Article
- BEST HAIR SALONS in DALLAS, The



