對抗軟件盜版、篡改和惡意逆向工程的理論、技巧和工具近十年來,人們在軟件防盜版和防篡改技術的研發(fā)上取得了重大進展。這些技術在保護軟件開發(fā)人員的知識產權方面具有不可替代的作用。無論是研究人員、在校學生,還是開發(fā)人員,要了解這些技術及其能提供的安全級別和可能引發(fā)的性能開銷,都可以從本書獲得權威、全面的參考資料。Christian Collberg和Jasvir Nagra在書中詳盡地介紹了相關技術,涵蓋了計算機科學的各個相關領域,包括密碼學、隱寫術、水印、軟件度量、逆向工程和編譯優(yōu)化等。本書通過大量的示例代碼,向讀者展示了代碼混淆、軟件水印、代碼防篡改和“胎記”技術等保護算法的實現方式,并且從理論和實踐兩個角度探討了這些技術的局限。涵蓋的內容攻擊者和防御者用來分析程序的各種主要方法代碼混淆技術,用于提高程序被分析和理解的難度軟件水印和指紋,用于標識軟件開發(fā)者并追蹤盜版代碼防篡改技術,用于檢測和響應非法修改代碼和數據的行為,從而保護軟件動態(tài)水印和動態(tài)混淆技術,用于阻止軟件的非法復制軟件相似性分析和“胎記”算法,用于檢測代碼剽竊硬件技術,用于保護軟件及各類媒體免遭盜版和篡改在分布式系統(tǒng)中,檢測遠端不可信平臺上運行的軟件是否被篡改代碼混淆技術在理論上的局限性