首页
社区
课程
招聘
[原创JS混淆downloader代码还原
发表于: 2019-7-2 17:50 7528

[原创JS混淆downloader代码还原

2019-7-2 17:50
7528

好久没发贴了,来水一贴吧。

看到上面混淆的代码,就知道这不是什么好东西,根据上面的g(k)函数,基本上就可以断定这是一个downloader,还是进行验证一下,双击js让他跑起来,火绒剑监控

已经可以认定这个js就是一个downloader了,不过我们的目标不是判断它是不是病毒,而是要还原代码。

对于这种混淆,想要知道它最原始的代码,最好的方法就是动态调试。

写一个最简单的html进行加载js代码,将上面的js代码复制到文件中改名为1.js

双击html文件,我的默认是谷歌浏览器打开,F12,sources进入调试

出现错误,ActiveXObject是微软提供的,只知道IE支持,其他的浏览器就没有深究了,转战IE浏览器。
ActiveXObject要想不被IE阻拦,还需要对其进行安全设置,这里不再多说。

用IE打开html文件,还是F12,呼出开发人员工具,选择脚本,下拉框选择1.js,就可以看到js代码,在这里可以随意设置断点

找到js开始的部分,打上断点,启动调试,可以发现js代码已经断了下来。

其中几个混淆比较厉害的字符串通过动态调试获得最后的值


获取到的路径

Automation 服务器不能创建对象

在调试的过程中,遇到了Automation 服务器不能创建对象的问题,也不太懂啊,就百度吧,找了以下几个解决方法:

通过上面的方法,在最开始的虚拟机没作用,不过换了个虚拟机就解决了这个问题。

下载下来的是样本是勒索,有兴趣的可以分析一下。

 
 
 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-7-2 17:54 被Iam0x17编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (5)
雪    币: 3496
活跃值: (749)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢分享,这个 比较混淆的厉害的通过动态调试 ,这个厉害了,具体咋调试啊?
2019-7-3 09:06
0
雪    币: 3496
活跃值: (749)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET",url,true); xmlhttp.send(null);

一般都是 .open,下面还原出来的代码是 .["open"]啥原因啊,能运行吗?

var v=new ActiveXObject("MSXML2.XMLHTTP");

v["open"]("GET", k,0);


2019-7-3 09:30
0
雪    币: 768
活跃值: (1434)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
4
kxzpy 谢谢分享,这个 比较混淆的厉害的通过动态调试 ,这个厉害了,具体咋调试啊?
下断点,断下后就F10,F11动态跟呗
2019-7-3 10:03
0
雪    币: 768
活跃值: (1434)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
5
能运行,没写过js,也没注意这些细节,应该这两种写法都行吧
2019-7-3 10:11
0
雪    币: 3496
活跃值: (749)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
VicZ 能运行,没写过js,也没注意这些细节,应该这两种写法都行吧
谢谢,试了一下,的确可以运行
2019-7-4 08:05
0
游客
登录 | 注册 方可回帖
返回
//