Download presentation
Presentation is loading. Please wait.
1
Software Uniqueness: How and Why? Puneet Mishra Dr. Mark Stamp Department of Computer Science San José State University, San José, California
2
Agenda Introduction The need (Why) Applications (Where) Techniques (How) Results Conclusion
3
Introduction Biological SystemSoftware Genetic DiversityCloning 1 Individual != Extinction Dies of species 1 Flaw => System Destroyed
4
The need (WHY) Uniqueness Defined Obfuscation Vs. Uniqueness Break One Break All Obfuscation used at different places giving unique instances N Instances Increases the problem by N
5
Applications (Where) Key Protection DRM Code Obfuscation Software Watermarks Anti-Piracy Virus Protection
6
Techniques (How) Code Transformations Assembly Level Ideal C Language used Types of Transformations Code Reorganization Compiler Based Flow and Structure Miscellaneous
7
Code Reorganization Mathematical Transformations Redundant Code Breaking up variables Dummy Arguments to function calls Reordering the code Transforming to spaghetti code via goto
8
Compiler Based Optimizations might nullify Transformations Customized compiler for implementation Location to introduce transformations
9
Flow and Structure Modify Data Structures Change algorithmic implementation Risks Careful Mapping Required Difficult to Automate
10
Miscellaneous Applying Transformations Repeatedly Using pre-existing Obfuscators Operating System calls Makes the code platform dependent
11
Transformation Tool Pattern Matching Tool Looks for appropriate locations to insert code Implementation is non-trivial
12
Results Graph Original Vs. Transformed Assembly Code
13
Conclusion and Future Work Many Potential Applications Expected increase in Difficulty Ideal case by a Factor of N
14
Thank You!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.