赞
踩
1 个位兄弟姐妹们,看到这个参数是不是有点眼熟阿,没错他就是和某音的X-bougs很像
2 其实他们的算法生成逻辑都是用的同一套算法的,换汤不换药的,用的都是jsvmp来的,只是里面嵌套了很多vmp
3 这里我们先进入他的启动器里进去找到该方法断点打上,看他是否可以短住,要是短住了那恭喜你成工的定位到该函数了,没找到的具续找,值到短住为只
从这里进去
进去之后手动搜索一下a_bogus进行跟站一下
可以找到bdms.js这个文件,按补环境的方式来做,整个复制进我们的环境里跑
接下来就是在控制台进行输出 Document.all 就是补环境的一个坑点
接下来需要判断 document.all == undefined 是true
但document.all又有具体的功能,这算是JavaScript的一个历史问题了,它浏览器自己执行起来没问题,但对于我们补环境框架来说,要自己实现document的功能同时让其为undefined 就不好解决了。这个检测点出现已经一年多了,目前主流的解决方案是改node的源码或者做插件来解决。
本以为补完一个环境框架就高枕无忧,谁知道补环境的各种对抗早已开始,上面只是一个小例子,还有风佬做的使用document.createElement对任意函数做检测来拖慢你框架速度的这种阳谋。卷到这程度我是卷不动 了,不如回去搞纯算吧。
那不用补环境框架,abogus该怎么实现逆向呢,好在我们的补环境尝试也不是全无收获,在我们的环境中执行这个位置会报错
搜整个js,一共有29处这样的代码,全打上日志断点看看
可以看到已经在第26处得到了abogus值
断到第26处看入参是什么,可以发现一部分来自第25处的结果
手动调试一下,发现另一部分来自这里
看下s值所属的函数
这参数看着就对,调试一下理解一下加密流程:
上面的e函数先是计算得到了 一个短的字符,跟25处的结果一起拼接得到第26处的参数计算得到abogus值。
对应的函数也没有混淆,找到后导出给全局变量就可以调用了。
这里需要传三个参数,其中ua和body校验不严,可写死也可以传空
展示结果
总体来说就是一个vmp里面嵌套了多个vmp,难点应该在这里,还有就是补环境,混淆的话可以使用AST技术进行还原或者就硬着头皮直接手动还原
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。