Software code protection through software obfuscation
The mode of platform-independent software running on client machine has various advantages. But it also introduces some problems, such as how to guard against software piracy, how to protect user from intellectual property theft and from attacks by malicious modifications. Development of reverse eng...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Theses and Dissertations |
Language: | English |
Published: |
2010
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/41864 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-41864 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-418642023-03-04T00:44:37Z Software code protection through software obfuscation Liang, Shan Sabu Emmanuel School of Computer Engineering DRNTU::Engineering::Computer science and engineering::Software::Software engineering The mode of platform-independent software running on client machine has various advantages. But it also introduces some problems, such as how to guard against software piracy, how to protect user from intellectual property theft and from attacks by malicious modifications. Development of reverse engineering techniques makes all these attacks easier. Therefore, obfuscation has gained a lot of interest since the obfuscation technique makes the cost of program reverse engineering prohibitively high with least program size and execution speed overheads. In this report, we present our proposed obfuscation algorithms which are primarily based on self-modifying code. We have designed three software obfuscation algorithms. The first self-modifying proposal is integrated with Control Flow Flattening to realize the obscurity in instruction and execution control flow. The second one is based on Basic Blocks to improve both the performance of storage size overhead and the instruction disassembly errors metrics. And the third one is proposed at the function level to provide full protection to improve the security to both static and dynamic attacks. We implement these obfuscation algorithms at link time and evaluate them on standard benchmark suite. The novel techniques are evaluated with metrics referred by existing proposals to prove that our algorithms succeed in confusing the disassembler when reverse engineering the control flow and instructions of program. We also discuss how the novel methods improve the obfuscation efficiency in comparison with the existing competing obfuscation methods. MASTER OF ENGINEERING (SCE) 2010-08-23T04:54:50Z 2010-08-23T04:54:50Z 2010 2010 Thesis Liang, S. (2010). Software code protection through software obfuscation. Master’s thesis, Nanyang Technological University, Singapore. https://hdl.handle.net/10356/41864 10.32657/10356/41864 en 104 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 |
spellingShingle |
DRNTU::Engineering::Computer science and engineering::Software::Software engineering Liang, Shan Software code protection through software obfuscation |
description |
The mode of platform-independent software running on client machine has various advantages. But it also introduces some problems, such as how to guard against software piracy, how to protect user from intellectual property theft and from attacks by malicious modifications. Development of reverse engineering techniques makes all these attacks easier. Therefore, obfuscation has gained a lot of interest since the obfuscation technique makes the cost of program reverse engineering prohibitively high with least program size and execution speed overheads. In this report, we present our proposed obfuscation algorithms which are primarily based on self-modifying code. We have designed three software obfuscation algorithms. The first self-modifying proposal is integrated with Control Flow Flattening to realize the obscurity in instruction and execution control flow. The second one is based on Basic Blocks to improve both the performance of storage size overhead and the instruction disassembly errors metrics. And the third one is proposed at the function level to provide full protection to improve the security to both static and dynamic attacks. We implement these obfuscation algorithms at link time and evaluate them on standard benchmark suite. The novel techniques are evaluated with metrics referred by existing proposals to prove that our algorithms succeed in confusing the disassembler when reverse engineering the control flow and instructions of program. We also discuss how the novel methods improve the obfuscation efficiency in comparison with the existing competing obfuscation methods. |
author2 |
Sabu Emmanuel |
author_facet |
Sabu Emmanuel Liang, Shan |
format |
Theses and Dissertations |
author |
Liang, Shan |
author_sort |
Liang, Shan |
title |
Software code protection through software obfuscation |
title_short |
Software code protection through software obfuscation |
title_full |
Software code protection through software obfuscation |
title_fullStr |
Software code protection through software obfuscation |
title_full_unstemmed |
Software code protection through software obfuscation |
title_sort |
software code protection through software obfuscation |
publishDate |
2010 |
url |
https://hdl.handle.net/10356/41864 |
_version_ |
1759855380276445184 |