Signal Processing: An International Journal | |
Dynamic Multi Levels Java Code Obfuscation Technique (DMLJCOT) | |
Adwan Fakhri Yasin, Ihab Nasra1  | |
关键词: Software Obfuscation; Reverse Engineering; Byte Code; Java Reflection; De-compiler.; | |
DOI : | |
学科分类:物理(综合) | |
来源: Computer Science Journals | |
【 摘 要 】
Several obfuscation tools and software are available for Java programs but larger part of these software and tools just scramble the names of the classes or the identifiers that stored in a bytecode by replacing the identifiers and classes names with meaningless names. Unfortunately, these tools are week, since the java, compiler and java virtual machine (JVM) will never load and execute scrambled classes. However, these classes must be decrypted in order to enable JVM loaded them, which make it easy to intercept the original bytecode of programs at that point, as if it is not been obfuscated. In this paper, we presented a dynamic obfuscation technique for java programs. In order to deter reverse engineers from de-compilation of software, this technique integrates three levels of obfuscation, source code, lexical transformation and the data transformation level in which we obfuscate the data structures of the source code and byte-code transformation level. By combining these levels, we achieved a high level of code confusion, which makes the understanding or decompiling the java programs very complex or infeasible. The proposed technique implemented and tested successfully by many Java de-compilers, like JV, CAVJ, DJ, JBVD and AndroChef. The results show that all decompiles are deceived by the proposed obfuscation technique.
【 授权许可】
CC BY
【 预 览 】
Files | Size | Format | View |
---|---|---|---|
RO201902025826915ZK.pdf | 1432KB | download |