Software protection system - II
Hong, Dexter Xian Jun.
Date of Issue2012
School of Computer Engineering
Reverse engineering is the process of recovering a high level structure and its semantics from a lower-level structure. Various techniques have been developed to prevent malicious use of reverse engineering of software applications in binary format. One widely practiced technique called - code obfuscation, modifies a program by altering the original structure and look of its source or binary code while preserving the original functionality of the program. In this project, a unique approach in implementing exception-based code obfuscation at assembly level is proposed. The design utilizes the features available in Windows Structured Exception Handling (SEH) provided by Windows. An obfuscator prototype based on this design is developed and tested against the obfuscation qualities – potency, resilience, stealth and cost, suggested by Collberg et al. Test results that were conducted have shown up to 88 percent of disassembly errors and 24 percent of control flow errors with only 20 percent obfuscation being carried out. The obfuscated codes also appear stealthy with minimal cost penalties.
DRNTU::Engineering::Computer science and engineering::Software::Software engineering
Final Year Project (FYP)
Nanyang Technological University