Index
A
B
C
classfiles See Also constant pools
bytecode grammar for CUP specification
bytecode to opcode mapping for methods
decompiler design and elements of
minor and major version numbers
computation obfuscation See Also obfuscators
inserting dead or irrelevant code
Decompiler.CUP decompiler specification
linenumtable and linenummapping non-terminal
D
decompilers See Also ClassToXML output file; designing decompilers; implementing decompilers
ignoring problems of decompilation
E
F
field data section of ClassToXML
field descriptors for constant pool
G
H
I
implementing decompilers See Also test suite programs; and programs listed by name
dealing with remaining opcodes
decompiler code for HelloWorld.java
DoWhile.java and IfTest.java in test suite
dummy and main methods for HelloWorld.java
J
JVM (Java Virtual Machine) See Also classfiles
classfiles and classfile elements
decompiler design and design of
K
L
M
code attributes for exceptions
decompiling getLocalHostName()
dummy and main HelloWorld.java
N
O
obfuscators See Also aggregation obfuscations; computation obfuscation; ordering obfuscations
P, Q
digital rights management software
R
S
annotated ArrayInit.java <clinit> method
annotated ArrayInit.java <init> method
annotated type conversion method for Basics.java
breaking out of control loop with goto statement
ClassToXML constant pool output for recurse
compilation flag effects on bytecode
compilation flags in HelloWorld.classfile
const non-terminal for Basics.java
constant pool entries for ClassToXML
constantelement non-terminal in CUP
constantpool non-terminal in CUP
conv non-terminal for Basics.java
decompiled output for HelloWorld.java
decompiler code for Basics.java
decompiler code for HelloWorld.java
decompiler code for IfTest.java
decompiler code for MathOps.java
decompiler results for ArrayInit.java
decompiler results for DoWhile.java and IfTest.java
decompiling if statements in Jive
definitionparts non-terminal in CUP
dummy and main methods for HelloWorld.java
exceptionable non-terminal in CUP
Hello Localhost with initializers
human interfaces for classfile
linenumtable and linenummapping non-terminal in CUP
obfuscating strings added to XMLToClass example
opcode terminals for CUP specification
original code for MathOps.java
oStackDebug and finalStackDebug
pseudocode replacing goto statements
recurse method data output in ClassToXML
source code See Also protecting source code; recovering source code from bytecode
digital rights management software for
T
U
V
W
X
Y, Z
3.144.172.38