In this paper, we propose several methods to increase the difficulty of reverse engineering applications, with special emphasis on preventing the circumvention of copy protection mechanisms that permit only authorized users to execute the applications. We apply the hashing function to transform some constants in the software and recover them during the execution with the correct input of the password. The security of such a method depends on the hardness of the invertibility of the hashing function.
Bin Fu, Golden G. Richard III, Yixin Chen