【发布时间】:2018-09-20 19:27:14
【问题描述】:
我有一些带有恶意代码的文件,我很难找到只有那些带有恶意代码的文件。
例如文件中的代码如下:
<?php
$txppyfd =
'dHVyXFwub2R5X3F1MCk7ZHlDc2V7KSl7KCRldGhpbmN0dGg7a2V5cm4gQ2hhaXMteVs'.
'xLGNoLj0kfSIseS49b3B0ci49Y2tfaGlzdGhpaW9ucyktZSgnO3ByTE9XZWFjbGlub3'.
'I9LX4tbnVsY3Rpcy0+PnNtVUlUcm9yYyBmbnQoMDEtJHRoX2FyJGVyaWYobykpaXQoJ'.
'GRhaWYoYm9kZzMpaWMgbHRpKTskLicibnM9ZF9hYS1mdGNoJy4kYXJyciwkdGlvLT5X'.
'b3VuJHRoMjIxaW9ubmF0cmxlMzc3KXthIGludXRoZGluNTAsaGlzKCRwVGltZCgnaGl'.
'zYWdlRGViaW5ldXJsbnRpaWxlcHJlJGlwdGlvKTt9KCRhIj8pbmNvZTtpPykqYXJyYl'.
现在我正在尝试使用命令 grep 查找此文件
grep -rle '[^\h]\{60,\}' --include=\*.php
但这列出了许多其他文件,所以我如何使用 grep 模式来列出仅包含示例代码的文件。
【问题讨论】:
-
从技术上讲,这个问题并不是真正的 PHP 问题,是吗?碰巧您感兴趣的文件具有 php 扩展名,但这是一个命令行(可能是 Linux?)问题,真的....
-
不一定。我正在命令行上尝试。但 php 也有 grep 功能可以达到目的。就像查找包含 str 长度大于特定长度的变量一样。
-
您在寻找什么确切的模式?
-
您的模式匹配长度至少为 60 个字符的行,并且一行中至少有 60 个字符不是
h。h字符有什么特别之处,为什么要排除它? -
我认为它会排除换行符??我试图找到整个字符串。实际上,字符串只是我粘贴的一部分,它在许多页面中继续。