0

我有一个恶意软件,我设法将其分解为一行非常难看的 javascript。我正在寻找一种将整个事情分解成更易于管理的外观的方法。我可以在vim/sed中执行递归调用,在该调用中,我根据括号将代码分成几组,并根据自己的喜好对其进行格式化?

4

2 回答 2

4

如果它是一条线,是否==正确地重新格式化它?

如果不是(我不太熟悉 Vim 格式的具体细节),根据我对 JavaScript 的了解,您可能可以在 , 和 之后添加换行符,{并获得很长的路要走。;}

:%s/[{;}]/&\r/g

然后gg=G转到文件顶部并将其格式化到底部。

如果您不介意做更多的工作,并且如果事后的自动格式化无法正常工作,您还可以执行类似/[{;}]的操作,然后qaqqaa<Enter><Escape>nq@a清除“a”寄存器,然后在该寄存器中定义一个按回车键的宏在找到的角色之后,点击转义,然后进入下一场比赛并再次进行。这有点狡猾,但可能足以满足您的需求。(顺便说一下,按回车键和转义键,而不是在上面的字符串中输入尖括号的文本。)

于 2012-12-11T20:21:53.597 回答
2

好吧,您可以使用一些基于括号和分号的替换,但是恶意软件作者(以及自以为是的 JS 忍者摇滚明星)喜欢删除它们,因此这种方法可能不适用于您的代码段。

像这样的东西:

:%s/{/{\r
:%s/};/\r};

你试过jsbeautifier吗?

于 2012-12-11T20:23:28.910 回答