Encryption Ioncube-混淆错误

Encryption Ioncube-混淆错误,encryption,obfuscation,encode,ioncube,Encryption,Obfuscation,Encode,Ioncube,目前我正在评估我们公司开发的ioncube产品。 运行我得到的编码产品时 PHP Fatal error: Class '[obfuscated]' 如果我的代码中有类似于DomDocument的内容,我会得到这个错误。我觉得如果我安装并使用了任何php包,Ioncube就会抛出一个错误。我联系了Ioncube支持部门,无法获得解决方案 有人知道如何将Ioncube与包含DomDocument,imagick类似软件包用法的代码一起使用吗?混淆重命名Ioncube文件编译代码中的潜在符号信息

目前我正在评估我们公司开发的ioncube产品。 运行我得到的编码产品时

PHP Fatal error:  Class '[obfuscated]'
如果我的代码中有类似于
DomDocument
的内容,我会得到这个错误。我觉得如果我安装并使用了任何php包,Ioncube就会抛出一个错误。我联系了Ioncube支持部门,无法获得解决方案


有人知道如何将Ioncube与包含
DomDocument
imagick
类似软件包用法的代码一起使用吗?

混淆重命名Ioncube文件编译代码中的潜在符号信息,使用无意义的名称,或者在函数的情况下,使用PHP源代码中甚至无效的名称。由此产生的推论是,任何未编码的上下文都将失败,因为它们试图使用已模糊化的符号,正如预期的那样

为了在编码世界和非编码世界之间架起桥梁,可以指定混淆排除列表来命名不应混淆的符号。由于PHP的性质,在诸如$a->foo()之类的代码中,通常不知道$a是什么类的实例,因此如果排除foo(),则在任何类上下文(即所有foo()中)中使用的foo()都不需要进行模糊处理。这并不是一个真正的问题,因为符号重命名比新功能(如使用动态算法密钥的代码加密)重要得多,但最好不要盲目地从混淆中排除与模块中的方法同名的每个方法,这就是为什么默认情况下不排除模块类的方法

这样做的结果是,您应该准备一个仅包含要排除的方法的排除文件。为所有已知模块预先准备好功能列表是很有用的,这可能会在未来的版本中提供,但手动或自动生成这些列表很容易


披露:我与ionCube有关联。

当然,你的问题来自于“DomDocument”在你不想要的时候变得模糊。IonCube的文档如何防止特殊名称的混淆?