是否可以编写一个正则表达式来检查字符串(某些代码)是否被缩小?
许多 PHP/JS 混淆器会删除空格字符(除其他外)。 因此,最终的缩小代码有时如下所示:
PHP:
$a=array();if(is_array($a)){echo'ok';}
JS:
a=[];if(typeof(a)=='object'&&(a instanceof Array){alert('ok')}
在这两种情况下,“{”、“}”、“;”等前后都没有空格字符。还有一些其他模式可以提供帮助。我并不期待高精度的正则表达式,只需要一个检查至少 100 个字符的字符串是否看起来像精简代码的正则表达式。 谢谢建议。
用途:网络恶意软件扫描程序
最佳答案
我认为缩小器会删除所有换行符,尽管如果将缩小后的代码粘贴回文本编辑器中,文件末尾可能仍然有一个换行符。像这样的东西可能会相当准确:
/^[^\n\r]+(\r\n?|\n)?$/
这只是测试整个事情中没有换行符,除了结尾处可能有一个换行符。所以不能保证,但我认为它适用于任何较长的代码块。
关于php - 是否可以编写一个正则表达式来检查字符串(javascript 和 php 代码)是否被缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140462/