Abstract: Even for encrypted programs, when all modules are decrypted all at once at the time of execution, it is possible to analyze codes stored within a storage area. Therefore, a program execution and decryption method that prevents easy analysis via reverse-engineering is required. In order to solve the aforementioned problem, this invention provides a program complex that allows execution of modules while modules are being decrypted upon execution, even if a program has been started. Thereby, modules cannot be easily analyzed and program tamper resistance can be improved.