Tamper Resistant Software Through Dynamic Integrity Checking
Ping Wang, Seok–Kyu Kang, Kwangjo Kim · Scandinavian Conference on Information Systems · 2005
Code modification is the main method for software piracy. Making software tamper resistant is the challenge for software protection. In this paper, we present and explore a methodology that we believe can protect program integrity in a more tamper-resilient and flexible manner. we describe a dynamic integrity verification mechanism designed to prevent modification of software. The mechanism makes use of multi-blocking encryption technique so that no hash value comparison is needed and if the program was altered, the program will not exit in a traceable way. We also make use of common virus techniques to enhance our security. Our mechanism operates on binaries that can be applied to all PE format files like EXE and DLL. The overhead in runtime execution and program size is reasonable as illustrated by real implementation. The scheme is built to be compatible with code obfuscation and other tamper resistance techniques.