IonCube dynamic keys protect individual functions with runtime callback keys. DecodePHP supports them, and can use extra context when the key logic lives in an included file.
Some IonCube files do not store every function behind one static layer. They use dynamic keys: a callback function runs at runtime, returns a key, and IonCube uses that key to unlock specific protected functions.
What dynamic keys do
Dynamic keys let a protected file say, effectively: “before this function can run, call this PHP function and use its return value as the decryption key.” The callback might be simple, or it might depend on config values, tenant data, license state, request variables, included files, or bootstrap code.
That is useful for software vendors because the key is not always visible in the encoded file itself. It also means a decoder may need more than the one encoded file to recover every function body.
DecodePHP supports dynamic keys
DecodePHP detects callback-key protected sections and attempts recovery automatically. When the callback logic is visible in the decoded source or supplied context, we can compute the keys, validate them, and return decoded PHP with the protected function bodies restored.
If the dynamic key comes from an included file, paste or upload that extra context when requested. Useful context includes:
The PHP file that defines the callback function.
Any config or bootstrap file that sets variables used by the callback.
Runtime constants, license values, tenant settings, or environment values used to compute the key.
A JSON key map, if you already know the key for each protected function.
What if context is missing?
If the encoded file references a callback but the callback implementation is not present, we will still decode everything we can. The output will explain which protected sections remain and what context is missing, instead of silently returning a broken file.
For best results, upload the encoded file first, review the preview, then provide the included callback file or related runtime context if DecodePHP asks for it.
Try it
Have a file with IonCube dynamic keys? Start with the free preview. We support IonCube 10-15, PHP 7.1-8.4, and callback-key recovery for authorized files.
Ready to decode your IonCube files?
Upload a file and preview the first 20 lines for free. No account required.