CSU HAYWARD
DEPARTMENT OF MATHEMATICS AND
COMPUTER SCIENCE
THESIS PRESENTATION
Friday, December 3, 2004; Noon-1pm SC S105C
Speaker: Suma Venkatesh, Candidate for the M.S. Degree in Computer Science
JHide - A Tool Kit for Code Obfuscation
According to Business Software Alliance statistics, four out of every ten software programs is pirated in software business, world wide. Global piracy rate has increased 40% over the past years and nearly $11 billion is lost. This is definitely a serious threat for software producers and thus to global economy. Over the years, several software protection techniques have been developed, code obfuscation is one of them and it is very promising. Code obfuscation is a form of software protection against unauthorized reverse-engineering. In this thesis we discuss software protection techniques in general and provide a broad overview of known obfuscation algorithms. We also address the issues related to implementation of obfuscation algorithms. Finally we propose JHide, an obfuscation tool kit for protection of Java code. We give information about available software obfuscation tool kits in the market, along with JHide and their comparison. We also propose three new obfuscation techniques, based on composite functions, which are Array Index Transformation, Method Argument Transformation and Hiding Constants. In addition to that, we also propose a new obfuscation algorithm based on Discrete Logs to Pack the Words and another one, based on Affine Ciphers, to Encode String Literals. Finally, we conclude our thesis identifying the need for reviewing the performance of the algorithms as the future scope of our work.