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