Skip to content

CalebWhiting/java-asm-obfuscator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-asm-obfuscator (jasmo)

Obfuscates compiled java code to make it harder to reverse engineer.

usage: java -jar jasmo.jar <src> <dest> [-c <arg>] [-h] [-k <arg>] [-p <arg>] [-v]
 -c,--cfn <arg>       Enable 'crazy fucking names' and set name length (large names == large output size)
 -h,--help            Print help message
 -k,--keep <arg>      Don't rename this class
 -p,--package <arg>   Move obfuscated classes to this package
 -v,--verbose         Increase verbosity

Current Obfuscators:

Shuffle Members
Shuffles the order of classes, methods, fields, annotations, interfaces, exceptions etc
Inline Accessors
Removes get/set methods, replacing them with direct field access
Remove Debug Information
Removes debugging information left by the compiler such as variable names and line numbers
Scramble Classes
Renames classes, optionally skipping classes provided by the --keep option, all classes are moved to the package provided by the --package option (otherwise to the base package)
Scramble Fields
Renames fields
Scramble Methods
Renames methods, skipping those that are required not to be (such as main), native or are overrides of external libraries (Libraries should be included in java class path).
Scramble Strings
Replaces string constants with an "unscramble" method

The project includes two test scripts in the 'test/' directory

  • The first test obfuscates the compiled output of it's self. (Make sure that target/java-asm-obfuscator-*.jar has execution permission)
  • The second test obfuscates the compiled output of it's self with the obfuscated output generated by the first test; to make sure that the obfuscated version is functional. (Make sure that target/result.jar has execution permission)

For analyzing obfuscated code I suggest using bytecode-viewer, it merges many java reverse engineering tools into one and includes many useful features.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •