SourceGuardian protects compiled PHP and relies on a compatible loader to execute it. Because the file usually keeps a .php extension, the first task is to distinguish it from ordinary source, ionCube protection, and unrelated binary or obfuscated formats.
Inspect the wrapper, not the filename
Open a copy in a text editor and look at the beginning. SourceGuardian packages can contain a readable wrapper, loader references, and an encoded block. Some versions and protection options produce different wrapper shapes, so identification should combine wrapper clues with container validation.
Never run an unknown plugin or script merely to discover its protector. A static preview service can validate the container before any reconstructed program is used.
Common SourceGuardian clues
- Text that names SourceGuardian or an ixed loader.
- Deployment requirements for a SourceGuardian loader matching the operating system and PHP version.
- A short bootstrap wrapper followed by non-source payload data.
- Inspection metadata that reports a SourceGuardian container revision or protection tag.
A SourceGuardian package can mix protected and ordinary files. Inspect each PHP file instead of assuming the entire project uses one format.
Container revisions and metadata tags
SourceGuardian container revisions describe how protected data is arranged. Metadata tags can carry literals, type information, declarations, encryption data, and other reconstruction inputs. A decoder that supports one revision may still meet an unfamiliar tag or literal type in another file.
Target PHP version matters for the same reason it matters in ionCube: the protected instructions reflect the PHP engine for which the file was encoded. Modern features such as union types, anonymous classes, named arguments, attributes, and enums need version-aware reconstruction.
The SourceGuardian decoder preview validates one PHP file and displays the first 15 reconstructed lines without an account.
Do not send SourceGuardian files to an ionCube decoder
The formats are unrelated even though both protect PHP. A correct service should reject a format mismatch immediately. If your file clearly mentions ionCube, use the ionCube decoder. If it names SourceGuardian or its loader family, use the SourceGuardian path.
What complete reconstruction can and cannot restore
Recoverable program structure includes functions, classes, expressions, control flow, constants, and literals stored in the protected instructions. Exact indentation, quote style, comments, and some original naming choices may have been removed during compilation. The reconstructed file can therefore be readable and functional without being a textual copy of the original.
A reliable test workflow
- Keep an unchanged copy of the protected file.
- Confirm the wrapper and loader family indicate SourceGuardian.
- Run the dedicated free preview.
- For a complete result, decode the full file or structured ZIP.
- Validate syntax with the matching PHP version and test in isolation.