Software protection system : binary control flow obfuscation for portable executables
With the advancement of reverse engineering technology, the rise in software piracy and program hacking is becoming a worrying factor for software developers. Software developers are always on the lookout for cost-effective measures to protect their software. Even though there are no definite gua...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
2012
|
Subjects: | |
Online Access: | http://hdl.handle.net/10356/48503 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-48503 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-485032023-03-03T20:29:21Z Software protection system : binary control flow obfuscation for portable executables Chew, Ron Jun Hong. Sabu Emmanuel School of Computer Engineering Centre for Strategic Infocomm Technologies DRNTU::Engineering::Computer science and engineering::Software::Software engineering DRNTU::Engineering::Computer science and engineering::Data::Data encryption With the advancement of reverse engineering technology, the rise in software piracy and program hacking is becoming a worrying factor for software developers. Software developers are always on the lookout for cost-effective measures to protect their software. Even though there are no definite guarantees in software protection, it is possible to devise a complex obfuscation technique to make program reverse-engineering time-consuming and impracticable. Binary code obfuscation demonstrates the ability to obscure program structure, content and behavior while retaining program functionality. This project features a custom devised obfuscation design that incorporates several modified binary-level obfuscation techniques. These obfuscation techniques include control flow flattening and branch conversion and they are directed at the control flow of a program to hide its intended logic and behavior. The proposed obfuscation design is then tested and implemented into a working prototype that serves as an automated obfuscator for windows portable executables (PE). Unlike other obfuscation techniques implemented at source-code level, the obfuscator performs direct binary code modifications to the targeted PE program. Obfuscated programs are then evaluated against several performance metrics to determine the efficiency of the proposed obfuscation. Experimental results indicate high confusion potency and resilience in the obfuscation techniques. These factors represent how well the obfuscation can confuse and thwart disassembly. Bachelor of Engineering (Computer Science) 2012-04-25T04:17:00Z 2012-04-25T04:17:00Z 2012 2012 Final Year Project (FYP) http://hdl.handle.net/10356/48503 en Nanyang Technological University 116 p. application/pdf |
institution |
Nanyang Technological University |
building |
NTU Library |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
NTU Library |
collection |
DR-NTU |
language |
English |
topic |
DRNTU::Engineering::Computer science and engineering::Software::Software engineering DRNTU::Engineering::Computer science and engineering::Data::Data encryption |
spellingShingle |
DRNTU::Engineering::Computer science and engineering::Software::Software engineering DRNTU::Engineering::Computer science and engineering::Data::Data encryption Chew, Ron Jun Hong. Software protection system : binary control flow obfuscation for portable executables |
description |
With the advancement of reverse engineering technology, the rise in software piracy and program hacking is becoming a worrying factor for software developers. Software developers are always on the lookout for cost-effective measures to protect their software.
Even though there are no definite guarantees in software protection, it is possible to devise a complex obfuscation technique to make program reverse-engineering time-consuming and impracticable. Binary code obfuscation demonstrates the ability to obscure program structure, content and behavior while retaining program functionality.
This project features a custom devised obfuscation design that incorporates several modified binary-level obfuscation techniques. These obfuscation techniques include control flow flattening and branch conversion and they are directed at the control flow of a program to hide its intended logic and behavior.
The proposed obfuscation design is then tested and implemented into a working prototype that serves as an automated obfuscator for windows portable executables (PE). Unlike other obfuscation techniques implemented at source-code level, the obfuscator performs direct binary code modifications to the targeted PE program.
Obfuscated programs are then evaluated against several performance metrics to determine the efficiency of the proposed obfuscation. Experimental results indicate high confusion potency and resilience in the obfuscation techniques. These factors represent how well the obfuscation can confuse and thwart disassembly. |
author2 |
Sabu Emmanuel |
author_facet |
Sabu Emmanuel Chew, Ron Jun Hong. |
format |
Final Year Project |
author |
Chew, Ron Jun Hong. |
author_sort |
Chew, Ron Jun Hong. |
title |
Software protection system : binary control flow obfuscation for portable executables |
title_short |
Software protection system : binary control flow obfuscation for portable executables |
title_full |
Software protection system : binary control flow obfuscation for portable executables |
title_fullStr |
Software protection system : binary control flow obfuscation for portable executables |
title_full_unstemmed |
Software protection system : binary control flow obfuscation for portable executables |
title_sort |
software protection system : binary control flow obfuscation for portable executables |
publishDate |
2012 |
url |
http://hdl.handle.net/10356/48503 |
_version_ |
1759853992775516160 |