Abstract
This paper proposes a program camouflage method to protect software from reverse engineering. The user of the proposed method only has to construct a piece of fake source code by modifying a piece of original source code. When an attacker statically analyzes the program that is protected by the method, the program looks like the fake code (with self-modification code fragments). However, when the program is executed, the original code is performed. The proposed method is effective especially in hiding secret instructions/data from static analysis, and preventing the extraction and reuse of secret parts in the program.