2015-09-08 70 views
0

目前我正在评估由我们公司开发的产品的ioncube。 当运行编码产物我越来越Ioncube - 模糊错误

PHP Fatal error: Class '[obfuscated]' 

如果我有类似的东西在我的代码DomDocument我得到这个错误。我觉得如果我安装了任何php软件包并使用Ioncube会抛出一个错误。我联系了Ioncube支持,我无法获得解决方案。

有没有人知道如何使用Ioncube的代码包含DomDocumentimagick就像包的用法?

+1

当你不想要的时候,你的问题肯定来自于“DomDocument”被混淆了。 IonCube的文档如何防止特殊名称混淆? –

回答

1

混淆在重命名的文件Ioncube公司的编译代码潜在的符号信息,使用都是胡说八道的名称,或在功能的情况下,品牌的名字能够甚至不合法被他们在PHP源使用。这样做的必然结果是任何非编码上下文都会失败,试图使用已经被模糊化的符号,如预期的那样。

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

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

披露:我与ionCube相关联。