SecuLock copy-protection for GP32 (prevent to run emulators & multiple SMC ID checks) some ideas... - initial loader actual game can be loaded at 0x0C000000 + offset or something secumax (?) + own decryption based on SMC ID - random code encryption not 100% decrypted while game is running write back encrypted instructions once in a while (using timers or so) more SMC ID reads in different functions to they have all to be patched - install exception handler (possible with current firmware?) could be triggered for illegal instructions that need to be decrypted on-the-fly correct instruction xor-value could be retrieved from some patch-table (index could be based on current PC) check if it's called correctly when generating some test-exceptions check if exception vector is not reset change exception vector a few times - tamper detection (emulator + debugger) CPU, memory, cache, I/O timing, timers, framerate - anti-emulator (could be used to reverse engineer) MMU RTC/alarm initial values & behaviour - anti-debugger hmm.. can detect JTAG cable? switch off serial, USB slow down CPU sometimes so tracing will be out of the question own exception handler - website to make encrypted version could be trial-version and showing some message in the loader - filesystem / SMC base ID on whole CID (given that there's more, certainly won't work on emulator:) invalid filenames bad sectors last sector? - use EEPROM (4KB) userid[16], password[16], pduid[32] firmware settings[?] write/read test (emu check)