Software protection system - II

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 obfus...

Full description

Saved in:
Bibliographic Details
Main Author: Hong, Dexter Xian Jun.
Other Authors: Sabu Emmanuel
Format: Final Year Project
Language:English
Published: 2012
Subjects:
Online Access:http://hdl.handle.net/10356/48553
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary: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.