2011-08-18 73 views

回答

3

一個想法是要檢查的空白。首先,一個混淆會做的是去除多餘的空白。另一件事,你可以尋找的是每行的字符數,如混淆器將會把所有的代碼放入幾個(一個?)線。

+2

好吧,不一定。代碼可能有很多空白並被模糊處理。儘管如此,這是一個很好的「快速而簡單」的檢查方法。 – Maxpm

1

經常混淆器初始化非常大的陣列轉換變量到少有意義的名稱(例如,見obsfucator article

一種技術可能是搜索這些超大型數組,接近類/文件的頂部等等。您可能可以掛鉤xdebug來檢查/查找SE。整個事情當然取決於使用的模糊技術。檢查源代碼,可能有他們已經使用的模式,您可以搜索。

0

我想你可以使用token_get_all()來解析文件 - 然後計算一些統計數據。例如,檢查函數調用的次數(在Calse混淆器中使用一些eval()字符串,而不是別的)並計算平均函數長度 - 對於混淆器通常約爲3-5個字符,對於正常的PHP代碼,它應該更大。你也可以使用字典查找函數/變量名稱,檢查註釋等。我想如果你知道你想要檢測的所有混淆器格式 - 這將很容易。

相關問題