A java code obfuscator/wrapper using following techniques:
- inject device identity check code to main java function
- cusotmize java moduel with given PIN
- proguard based java obfuscation and all *.java files in a jar
- convert jar file into a COD file with code sign
- COD file is protected by a windows file filter driver (transparent enc/dec)
jobfuscate codFilePath codFileName(w/o ext) PINid
Example:
jobf.exe ./nonce/ Wrapper fce4597afd2005835c9f6c617884cff3
Output:
./nonce/Wrapper.cod ./nonce/Wrapper.jad
- bbconfig.h - set RIM path, proguard path, and all java program files
- obfrules.txt - set obfuscation rules
- securepdf.rapc - rapc project setting (reserved)
- bbconfig.h
- jobfuscator.h
- jobfuscator.cpp
- md5.h
- md5.cpp
- crypt.h
- crypt.cpp
- JOBF.vcproj VC++ 2005 project
- jobfuscator.vcproj VC++ 2008 project
install vguard.inf and vguard.sys in windows server.
- HelloWorld.java
- SecurePDF.java
- example1.jpg
- example2.jpg
- example3.jpg
a demo of Java main program for wrapper, which is to:
- import SecurePDF module
- call device checking function of SecurePDF module The checking function can be called whereever needed, to change program control over devices.
The protection java code to be integrated with HelloWorld.java, which is to:
- generate a wrapper ID given secret software key and device PIN
- provide a public function, checkDevice()
- also store a variable "my_wrapper_id", which will be reset by jobfuscator.exe