奇怪的变量/方法/类名-PHP

奇怪的变量/方法/类名-PHP,php,Php,我有一个无法读取的php文件,因为所有变量/函数都有奇怪的名称! 我的文件的一个功能块是: public static function    …………  …… …  ($   ………  …  ……  , $   …… ………  ……  ) { $   …… ……   ……   = strpos(   …………… … ……  ::   ……… ……… …   ($   ………  …  ……  ) , $   …… ………  ……  ); return (false !== $ 

我有一个无法读取的php文件,因为所有变量/函数都有奇怪的名称! 我的文件的一个功能块是:

public static function    …………  …… …  ($   ………  …  ……  , $   …… ………  ……  )
{
    $   …… ……   ……   = strpos(   …………… … ……  ::   ……… ……… …   ($   ………  …  ……  ) , $   …… ………  ……  );

    return (false !== $   …… ……   ……  ) ? (int)floor($   …… ……   ……   / 4) : false;
}
我知道php标准不允许在变量名中使用点和空格

如果有什么与字符编码相关的东西,我自己就来了!我发现,文件编码是
windows-1252

这些空格可以转换成可读的东西吗

此外,因为它们是变量/函数,所以它们在文件中有多个引用

已编辑#1

我像往常一样在Widnows操作系统下用Notepad++/Sublime文本打开文件,但它没有付费或其他东西

编辑#2

脚本工作没有问题

编辑#3


链接到文件:
https://www.dropbox.com/s/hoegvk0vz53cnyn/include.php

这里将其转换为更具可读性的内容

public static function    …………  …… …  ( $a , $b )
{
    $c = strpos( some_class::some_function($a), $b );
    return (false !== $c) ? (int)floor($c / 4) : false;
}
如果看不到它引用的其他函数或它给出的错误消息,就很难理解它失败的原因

然而,这段代码被故意混淆是有原因的。也许是为了阻止人们摆弄,也许是因为它是有执照的。如果它不起作用,也许你应该试着联系作者。

看来你的“空格”和“点”不是它们看起来的样子。在您在问题中发布的代码中,这些实际上是“不间断空格”(c2 a0)和“省略号”(e2 80 a6)。这些是标识符中完全有效的字符

(感谢StackOverflow 100%兼容UTF-8)

[编辑]


。。。但是查看了链接的文件后,文件编码相当于Windows-1252(又名.CP1252)。答案仍然正确,但相应的二进制值与我上面提到的有点不同。

这个文件是从哪里得到的?您获得的许可证是否允许您修改它?很明显,无论是谁提供的,都会费尽心思去混淆。当然,您可以使用可读性更强的字符替换垃圾,但除非您了解代码的作用,否则不能使用有用的变量名。可能是这样的一种变体:因为人们愚蠢,并且希望看到这样的结果:为什么我的sql查询不执行。。回到主题,如果代码是使用zend guard进行模糊处理的,则需要运行时扩展来消除代码的模糊code@revo它不是被盗就是恶意的。人们不会仅仅为了好玩而混淆代码。“我只知道这是不收费的,因为在脚本中许可有更多的步骤要做。”不确定这意味着什么,但它显然不是开源的,或者你会有可读的源代码。。。。我假设您的文件的实际编码是UTF-8。所以故事是这样的,它们是有效字符@revo是的,但是您发现您的文件确实是用Windows-1252编码的。