2011-08-18 75 views

回答

3

一个想法是要检查的空白。首先,一个混淆会做的是去除多余的空白。另一件事,你可以寻找的是每行的字符数,如混淆器将会把所有的代码放入几个(一个?)线。

+2

好吧,不一定。代码可能有很多空白并被模糊处理。尽管如此,这是一个很好的“快速而简单”的检查方法。 – Maxpm

1

经常混淆器初始化非常大的阵列转换变量到少有意义的名称(例如,见obsfucator article

一种技术可能是搜索这些超大型数组,接近类/文件的顶部等等。您可能可以挂钩xdebug来检查/查找SE。整个事情当然取决于使用的模糊技术。检查源代码,可能有他们已经使用的模式,您可以搜索。

0

我想你可以使用token_get_all()来解析文件 - 然后计算一些统计数据。例如,检查函数调用的次数(在Calse混淆器中使用一些eval()字符串,而不是别的)并计算平均函数长度 - 对于混淆器通常约为3-5个字符,对于正常的PHP代码,它应该更大。你也可以使用字典查找函数/变量名称,检查注释等。我想如果你知道你想要检测的所有混淆器格式 - 这将很容易。

相关问题