Java API by
Zvi Har’El

cf
Class Obfuscate

java.lang.Object
  extended by cf.ClassFile
      extended by cf.Obfuscate

 class Obfuscate
extends ClassFile

Class Obfuscate

Version:
$Id: Obfuscate.java,v 1.36 2003/08/16 08:05:06 rl Exp $
Author:
Zvi Har’El
See Also:
Class source code

Nested Class Summary
 
Nested classes/interfaces inherited from class cf.ClassFile
ClassFile.ByteArray
 
Field Summary
(package private) static Hashtable classHash
           
(package private)  String className
           
(package private)  Hashtable descriptorHash
           
(package private)  Hashtable fieldHash
           
(package private) static boolean flat
           
(package private)  boolean[] inUse
           
(package private) static char last
           
(package private) static Vector lastClass
           
(package private)  int lastField
           
(package private)  int lastMethod
           
(package private) static int lastUnpackagedClass
           
(package private)  Hashtable methodHash
           
(package private)  String newClassName
           
(package private)  ClassFile.ByteArray[] orig
           
(package private)  Obfuscate[] otherOb
           
(package private) static Hashtable packageHash
           
(package private) static String prefix
           
(package private) static Vector X
           
 
Fields inherited from class cf.ClassFile
access, attributes, cP, cPCode, cPHash, fields, interfaces, major, methods, minor, superClass, thisClass
 
Constructor Summary
Obfuscate(boolean isExternal, DataInputStream in)
           
 
Method Summary
(package private) static void escape(PrintStream out, String s)
          Prints an identifer using Unicode escapes.
(package private) static short ind(ClassFile.ByteArray c, int i)
          Extracts a constant pool index out of a constant pool entry.
(package private)  void inherit(short j)
           
static void main(String[] args)
           
(package private) static String obfuscateDescriptor(String s)
           
(package private) static Object resize(Object o)
          Resize an array.
(package private)  void rewriteMembers(boolean isField, PrintStream out)
           
(package private)  void rewritePool()
           
(package private)  short rewriteUTF(short i, Hashtable hash, int j)
           
(package private) static String toString(ClassFile.ByteArray c)
          Decodes a UTF8 constant.
(package private)  ClassFile.ByteArray translate(ClassFile.ByteArray c, Hashtable hash, int i)
           
(package private) static String X(int i)
           
 
Methods inherited from class cf.ClassFile
addInterface, cp, cp, cp, cp, cp, cp, cp, cp, desc, desc, findClassInPath, findUTF8, getBytes, getClassFile, readAttribute, renameClass, setName, setSuper, strip, toUTF8, write, write, writeAttribute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

classHash

static Hashtable classHash

packageHash

static Hashtable packageHash

prefix

static String prefix

X

static Vector X

lastClass

static Vector lastClass

flat

static boolean flat

last

static char last

lastUnpackagedClass

static int lastUnpackagedClass

orig

ClassFile.ByteArray[] orig

descriptorHash

Hashtable descriptorHash

fieldHash

Hashtable fieldHash

methodHash

Hashtable methodHash

otherOb

Obfuscate[] otherOb

className

String className

newClassName

String newClassName

inUse

boolean[] inUse

lastField

int lastField

lastMethod

int lastMethod
Constructor Detail

Obfuscate

Obfuscate(boolean isExternal,
          DataInputStream in)
    throws IOException
Throws:
IOException
Method Detail

main

public static void main(String[] args)
                 throws IOException,
                        ClassNotFoundException
Throws:
IOException
ClassNotFoundException

translate

ClassFile.ByteArray translate(ClassFile.ByteArray c,
                              Hashtable hash,
                              int i)

rewriteUTF

short rewriteUTF(short i,
                 Hashtable hash,
                 int j)

rewritePool

void rewritePool()

X

static String X(int i)

rewriteMembers

void rewriteMembers(boolean isField,
                    PrintStream out)

inherit

void inherit(short j)

toString

static String toString(ClassFile.ByteArray c)
Decodes a UTF8 constant.

Parameters:
c - a UTF8 constant
Returns:
the equivalent String

obfuscateDescriptor

static String obfuscateDescriptor(String s)

ind

static short ind(ClassFile.ByteArray c,
                 int i)
Extracts a constant pool index out of a constant pool entry.

Parameters:
c - the constant pool entry
i - 0 or 1
Returns:
an index to the pool

resize

static Object resize(Object o)
Resize an array.


escape

static void escape(PrintStream out,
                   String s)
Prints an identifer using Unicode escapes.

See Also:
The Java Language Specification §3.3

Java API by
Zvi Har’El

Copyright © Zvi Har’El
$Date: 2007/10/15 13:50:30$