本文为看雪论坛优秀文章
看雪论坛作者ID:wbwnnx
一
第一步
V M198048:1 [null,[null,{},null,null,”u0002ÿ-%.$ú{^1ì÷FË¢u000f÷°Q”,”s2″,”=”,{“s0″:”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”,”s1″:”Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”,”s2″:”Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”},”Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”,”DFSz”,196397,4],null,”u0002ÿ-%.$ú{^1ì÷FË¢u000f÷°Q”,[3],[null,{},null,null,”u0002ÿ-%.$ú{^1ì÷FË¢u000f÷°Q”,”s2″,”=”,{“s0″:”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”,”s1″:”Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”,”s2″:”Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”},”Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”,”DFSz”,196397,4],4,3]
[null,[null,{},null,null,”yso¨ÉHðr u000e1fã6(MÉXìu001fu0000N úg´f&o¿Öu000fÔº¤FWåà$u001b3A
ÊàÿÙku001e<Ì93u001au000föu0000u0006a²9Êu0002ç?8u0001;/·u0010mr-i’j|Bu000f+ÜÁ»u0003ëôu001e{dÇu000fF^u0004¥;Jä·q[“,”s0″,”=”,{“s0″:”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”,”s1″:”Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”,”s2″:”Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=”},”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”,”eXNvqMlI8HJgDjFm4zYoTclY7B8ATqD6Z7RmJm+ev9YPl9S6pEZX5Z3gJBszQWCayuD/2WsegTzMOTMagA/2AAZhsjnKAuc/OAE7L7eYiBBtDS1pJ2p8QoIPK9zBuwPr9B57ZMetjIkPRl4Ei6U7Spfkt3F”,12022107,117],”eXNvqMlI8HJgDjFm4zYoTclY7B8ATqD6Z7RmJm+ev9YPl9S6pEZX5Z3gJBszQWCayuD/2WsegTzMOTMagA/2AAZhsjnKAuc/OAE7L7eYiBBtDS1pJ2p8QoIPK9zBuwPr9B57ZMetjIkPRl4Ei6U7Spfkt3F”,null,”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”,[27],63,117]
所以断点条件
E == 208 && P == 0 && O[4][1] == ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36’,
二
第二步
接下来就是分析base64之后这个字节数据怎么来的了,直接在外层设置条件断点,然后分析vmp内层日志。
saltpayload 是 payload的md5 转 十六进制字节 在md5在转十六进制字节
salt是空字符串 同上
salt_ua是最开始分析的base64的md5转十六进制字节
这些salt都是取后两位做校验
时间戳和canvas都是取高低8位与255
走到这里发现第一个字符串D已经出来了,索引就是上面运行的值,断点走到这流程就是
‘Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=’.charAt(0)
192512 = 196397 & 258048
但发现下面取索引的时候变成了47,原来是漏掉了一步,
192512 >> 12
那这样上面的不是直接等于0的是,0 >> 18 ,这个18和12都是解释器固定的值。
60 = (196397 & 4032)>> 6
45 = 196397 & 63
发现些许不同,没有 >> 这一步了。
看雪ID:wbwnnx
https://bbs.kanxue.com/user-home-917207.htm
# 往期推荐
球分享
球点赞
球在看
原文始发于微信公众号(看雪学苑):X-Bogus vmp分析