神盾工具通過 gzuncompress 解壓執行代碼。利用 php_apd 擴展的 rename_function 與 override_function 攔截該函數,打印解壓後的明文代碼,繞過加密保護。
decryption.php 主要流程:
IN_DECODE_<32位MD5>,防止解密自身;$code(主體)、$key(密鑰)、$core(核心壓縮數據);gzuncompress(base64_decode($code . $suffix)) 獲得原始 PHP 代碼;_source.php。原理總結: 神盾本質是「多層 Base64 + gzcompress 混淆」,而非不可逆加密。只要能在執行前攔截
gzuncompress獲取明文,即可還原源碼。php_apd提供了函數級 AOP 能力,使此過程極其簡潔。