Patent attributes
A method, system and computer program product for tamper-proofing an executable assembly, including identifying assembly-time constants in source code; encrypting the assembly-time constants during the assembly process using public key cryptography; and signing the executable assembly using a digital signature. The executable assembly, at run-time, decrypts the assembly-time constants using the digital signature. A hashing function, a compression function or a one-way cryptographic block function is used to encrypt the assembly-time constants. Different keys or the same keys can be used to launch the assembly and to encrypt the assembly-time variables. The assembly-time constants are placed into a heap prior to the encrypting step. The assembly-time constants include strings and databases.