Javascript Deobfuscator:JavaScript反混淆工具更新

阅读量    292938 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

https://p4.ssl.qhimg.com/t01922eba3dc214a7cc.jpg

        这个程序在最初编写的时候,我并没有想到这个程序的实用性是如此的高。所以我决定要为这个程序添加几个新的功能,使其变得更加强大和实用。而且对于那些使用Revelo工具的程序员来说,我的这款软件目前仍然无法对复杂的Javascript脚本进行处理。

        为了给大家介绍我所添加的功能,我从Dynammo的pastebin站点中选取了几个实例,并通过这些实例来给大家进行一一介绍。

        实例一(pastebin原地址

        在该程序的最新版本中,在点击了“Clues(线索)”按钮之后,程序将会把文本信息中的一些“线索”高亮显示,这些“线索”可以为你反混淆JavaScript脚本的处理过程提供帮助。如果脚本代码非常多,程序将需要一些时间来对其进行处理。

        在下图中你可以看到,“eval”是高亮显示的。如果我只对“eval”进行反混淆处理,是不会成功的,因为我们还需要考虑到该脚本的编写方式。现在,我需要找出到底是哪一个函数调用了“szkmYVRfAFZYusP”。

https://p2.ssl.qhimg.com/t01a99aacc7939057e4.png

        点击“Reset(重置)”按钮之后,去掉了文本的高亮效果。然后,我在输入框中输入了“szkmYVRfAFZYusP”,再次点击“Highlight(高亮)”按钮,我们就可以在整个脚本代码中找到所有的“szkmYVRfAFZYusP”字符串。将窗口右侧的拖动条拖到最底部,你就可以看到到底是哪一个函数调用了它。

http://p1.qhimg.com/t01492c44ede63883b1.png

        我双击了字符串“szkmYVRfAFZYusP”,然后点击“Convert(转换)”按钮。在这一操作之后,脚本就反混淆成功了。

http://p8.qhimg.com/t0148bb439cda5543cb.png

        实例二(pastebin原地址

        从某种程度上来说,这个脚本的处理过程就有些困难了。你需要找出“eval”在哪里被调用了。首先,我尝试寻找“eval”。不幸的是,我什么也没有找到。然后我又尝试搜索“this”,这一次没有失败,我在代码的前端找到了它。

http://p1.qhimg.com/t01c5bff7258293992f.png

        现在,我尝试搜索变量名为“mek”的变量。我在代码段的二分之三处发现了这个变量。

https://p1.ssl.qhimg.com/t01bd8c99583c913a31.png

        最后,我尝试搜索“wozv”。然后我发现它调用了变量“mhnW”。

http://p7.qhimg.com/t01bae437c4d736fcf9.png

        我推测,“wozv”会对“mhnW”中的链接脚本进行验证(事实证明也确实是这样)。现在,我将“wozv”作为函数名和变量来进行高亮显示。使用这个方法的变量名必须是由单括号括起的。

http://p4.qhimg.com/t0132fe38796a905847.png

        由于文本输入框实际上是一个富文本框,所以选择文本可能会有些麻烦。按住Alt键,然后使用你的鼠标来选取文本。或者你也可以点击你所要选取的第一个字母,然后按住Shift键,然后使用小键盘的移位箭头来选取文本。

        实例三(pastebin原地址

        在这段脚本代码中,我首先搜索“eval”,我在代码段的五分之一处找到了它。

http://p9.qhimg.com/t01bf54328a9eaed6be.png

        发现在这个脚本中,我无法对“eval”进行反混淆处理。那么让我来试试使用变量名来进行查询,果然成功了。

http://p7.qhimg.com/t01a41ced610fc1f4b8.png

        你可以点击这里获取最新版的Javascript Deobfuscator。请记住,一定要在虚拟机中使用这个工具,并且关闭所有的安全防护软件。

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多