All posts
Guide
3 min read

IonCube Dynamic Keys Are Supported

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.

Not every IonCube file hides all its functions behind one static layer. Some use dynamic keys, where a callback function runs at runtime, returns a key, and IonCube uses that key to unlock specific protected functions.

What dynamic keys do

A dynamic key lets a protected file say, in effect: before this function runs, call this other PHP function and use whatever it returns as the decryption key. The callback can be trivial, or it can depend on config values, tenant data, license state, request variables, included files, or bootstrap code.

Vendors like this because the key isn't sitting in the encoded file for anyone to read. It also means a decoder sometimes needs more than the single encoded file to recover every function body.

DecodePHP supports dynamic keys

We detect callback-key protected sections and try to recover them automatically. When the callback logic shows up in the decoded source, or in context you provide, we can compute the keys, check them, and hand back PHP with the protected function bodies filled in.

If the key comes from an included file, paste or upload that extra context when we ask for it. The pieces that usually help:

  • The PHP file that defines the callback function.
  • Any config or bootstrap file that sets variables the callback reads.
  • Runtime constants, license values, tenant settings, or environment values that feed into the key.
  • A JSON key map, if you already know the key for each protected function.

What if the context is missing?

If the file calls a callback that isn't present, we still decode everything we can. Rather than quietly hand you a broken file, the output tells you which protected sections are left and what context we'd need to finish them.

The order that works best: upload the encoded file first, look at the preview, then add the callback file or related runtime context if we ask for it.

Try it

Got a file with IonCube dynamic keys? Start with the free preview. We cover IonCube 10-15, PHP 7.1-8.4, and callback-key recovery for files you're authorized to decode.

Ready to decode your IonCube files?

Upload a file and preview the first 20 lines for free. No account required.

Try It Free