系列文章目录
第一章 PX12610参数分析
前言
px3加密参数分析
一、PX12610参数分析
在最新的版本(v.1.8.6)新增了PX12610接下来 我们就要看看这个参数是怎样生成的。
示例图:
二、开始逆向
1、根据上面图片我们看到在这个561的大数据里面包含了PX12610,接下来 我们hook一下,就可以找到该函数生成的位置。
经过上面的我们找到了PX12610是将n通过Cs.b来生成的,接下来 就看看Cs.是怎么来的。此时我们输出下Cs.b看看
可以看到Cs.b 其实是这个z['b']函数,而且在控制台输出这个v,可以看到里面的一些函数,a,b 分别是在z['a']、z['b']函数,所以我们往前找到v的生成为位置。
经过代码跟进,发现G,M 是正常的函数,没有什么区别,然后当我们走到Zs时候,看到这一大段函数是就决绝的不简单。进入在Zs函数,将里面的艾玛优化下
function Zs(r) {
for (var v = function (r) {
return is(r)
}(r), t = new Uint8Array(v['length']), e = 0; e < v['length']; e++)
t[e] = v['charCodeAt'](e);
return t['buffer']
};
主要将上面字符串进行编码转换下然后在缓冲区里面,接下来我们在看看M函数
可以看到是用过WebAssembly.instantiate将v,t。进行编译和实例化。走完这段程序,我们接上第三张图,可以看到执行了v[t("CA")](e, f, s)。此处是对环境的进行检测。主要是通过wbg来确定是在那些函数里面进行环境检测。至此分析结束,接下来 就是扣代码环节了。
可以看到我么你需要的代码是先运行Ps(),然后在用过 ys().then来运行的,最用用过调用ys.b就可以运行代码,想要的值了,
结果一致,完成
总结
改参数,对环境的检测并不对,主要是window里面的atob和Window异界self。