Introduction
Software Protection: What, why, how. Setting up software analysis lab.State-of-the-art tools.Protocol for handling potentially malicious programs.Legal issues.Offensive and Defensive strategies – Offense – Motivation, Methods of attacking software protection.Defense: Methods for hiding information, purpose, algorithms in software. Program Analysis Static analysis: Control flow analysis, data flow analysis, dependence analysis. Dynamic analysis: Debugging, tracing, profiling, emulation. Static Code obfuscation – In-depth Semantics preserving obfuscating transformations, complicating control flow, opaque predicates, data encoding, breaking abstractions. Obfuscation – Theoretical Bounds Various impossibility results. Tamper roofing and Watermarking Definitions, Algorithms for Tamperproofing, Remote Tamperproofing, Watermarking Definitions