非常に見栄えの悪い JavaScript の 1 行に deofusact することができたマルウェアの断片があります。全体をより扱いやすい外観に分割する方法を探しています。vim
/で再帰呼び出しを実行sed
して、括弧に基づいてコードを束に分割し、好みに合わせてフォーマットすることはできますか?
2 に答える
1行の場合、==
適切に再フォーマットしますか?
{
そうでない場合 (私は Vim の書式設定の詳細に詳しくありません)、JavaScript について知っていることから、;
、 、およびの後に改行を追加して}
、それで長い道のりを歩むことができるかもしれません。
:%s/[{;}]/&\r/g
次にgg=G
、ファイルの先頭に移動し、末尾にフォーマットします。
もう少し作業をしてもかまわない場合、および事後のオートフォーマットが機能しない場合は、次のようなことを実行して/[{;}]
、qaqqaa<Enter><Escape>nq@a
「a」レジスタをクリアし、そのレジスタにヒットするマクロを定義することもできます見つかった文字の直後にエスケープをヒットし、次のマッチに移動してもう一度実行します。それは一種の危険ですが、あなたのニーズには十分に機能するかもしれません. (ちなみに、上記の文字列に山かっこで囲まれたテキストを入力する代わりに、Enter キーとエスケープ キーを押します。)
ブラケットとセミコロンに基づいていくつかの置換を使用できますが、マルウェアの作成者 (および自己重要な JS 忍者ロックスター) はそれらを削除することを好むため、この方法はコードでは機能しない可能性があります。
次のようなもの:
:%s/{/{\r
:%s/};/\r};
jsbeautifierを試しましたか?