RegExp用于查找中间带有随机字符的特定字符串

时间:2015-06-02 16:01:58

标签: php regex base64

我甚至不希望这是可能的。我正在寻找PHP文件中的字符串“base64_decode”(是的,这是为了清理一个被黑客攻击的网站)。问题是这个黑客已经“隐藏”了这样的字符串:

'ba'.'se'.(32*2).'_d'.'eco'.'de'
or
'b'.'as'.'e6'.'4_d'.'ec'.'ode';

还有其他一些方法。

因此我想搜索字符串“decode”或“base”,忽略每个字母之间的所有字符。我知道这将是CPU密集型的(特别是当你有几百MB的文件要通过时(是的,他将代码隐藏在其他文件中,如GIF图像)。

这甚至可能吗?

我知道Sucuri的在线网站,但如果你有其他建议的工具来扫描文件和发现我感兴趣的其他黑客。

1 个答案:

答案 0 :(得分:1)

(?:b[^a-zA-Z]*?a[^a-zA-Z]*?s[^a-zA-Z]*?e)|(?:d[^a-zA-Z]*?e[^a-zA-Z]*?c[^a-zA-Z]*?o[^a-zA-Z]*?d[^a-zA-Z]*?e)

你可以尝试一下。参见演示。

https://regex101.com/r/pG1kU1/17