Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Purchase Benefits
What is included with this book?
Preface | |
About the Authors | |
Acknowledgments | |
What Is Surreptitious Software? | |
Setting the Scene | |
Attack and Defense | |
Program Analysis | |
Code Obfuscation | |
Tamperproofing | |
Software Watermarking | |
Software Similarity | |
Hardware-Based Protection Techniques | |
Discussion | |
Notation | |
Methods of Attack and Defense | |
Attack Strategies | |
Defense Strategies | |
Discussion | |
Program Analysis | |
Static Analysis | |
Dynamic Analysis | |
Reconstituting Source | |
Pragmatic Analysis | |
Discussion | |
Code Obfuscation | |
Semantics: Preserving Obfuscating Transformations | |
Definitions | |
Complicating Control Flow | |
Opaque Predicates | |
Data Encodings | |
Breaking Abstractions | |
Discussion | |
Obfuscation Theory | |
Definitions | |
Why Might Obfuscation Be Possible? | |
Algorithm obfA: Deobfuscating Programs | |
Algorithm obfLBS: Obfuscating with Point Functions | |
Algorithm obfNS: Obfuscating Databases | |
Algorithm obfP: Adding Encryption | |
Algorithm obfNS: White-box DES | |
Substitution and Permutations as Matrix Operations | |
Obfuscation Is Impossible | |
Why Do We Want Provable Obfuscation So Badly? | |
Alternatives | |
Secure Multi-party Computation | |
Discussion | |
Dynamic Obfuscation | |
Definitions | |
Moving code around | |
Encryption | |
Discussion | |
Software Tamperproofing | |
Definitions | |
Introspection | |
Algorithm tpTCJ: Response Mechanisms | |
State Inspection | |
Remote Tamperproofing | |
Discussion | |
Software Watermarking | |
History and Applications | |
Watermarking Software | |
Definitions | |
Watermarking by Permutation | |
Tamperproofing Watermarks | |
Improving Resilience | |
Improving Stealth | |
Steganographic Embeddings | |
Splitting Watermark Integers | |
Graph Codecs | |
Discussion | |
Dynamic Watermarking | |
Algorithm wmCT: Exploiting Aliasing | |
Algorithm wmNT: Exploiting Parallelism | |
Algorithm wmCCDKHLS: Expanding Execution Paths | |
Algorithm wmCCDKHLS: Tamperproofing Execution Paths | |
Discussion | |
Software Similarity Analysis | |
Applications | |
Definitions | |
k-Gram-Based Analysis | |
API-Based Analysis | |
Tree-Based Analysis | |
Graph-Based Analysis | |
Metrics-Based Analysis | |
Discussion | |
Hardware for Protecting Software | |
Anti-piracy by Physical Distribution | |
Authenticated Boot Using a Trusted Platform Module | |
Encrypted Execution | |
Attacks on Tamperproof Devices | |
Discussion | |
Bibliography | |
Index | |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.