分析前端解密两种方法

方法一:常规方法

  1. 访问x系统,发现系统js 有反调试,设置条件断点绕过反调试。

  2. 在请求包中发现如下密文。

  3. 此时发现该数据为xhr方式加载。

  4. 打xhr断点,进行调试

  5. 重新登录,可看到如下所示:

    可发现上图中的l参数就是该数据包请求时的密文 。

  6. 在xhr中下断一般直接看堆栈调用。

  7. 逐个往下看。在“anonymous”处看到如下:

  8. 在该处下断,并取消xhr处的断点。重新登录 。

  9. 查看相关参数值

  10. 根据这些信息确认为登录入口。发现Q为native code,双击进去。

  11. 在该处下断。重新登录。并在console中查看返回信息。

    发现和刚才抓到的包中的数据一致。

方法二:hook

1.编辑如下脚本。

1
2
3
4
5
6
7
8
9
(function() {
'use strict';
// Your code here...
var rstringify = JSON.stringify;
JSON.stringify = function(a) {
console.log("Detect Json.stringify", a);
return rstringify(a);
}
})();

2.登录,可在console上直接看到。

3.在该处下断点。

4.在堆栈处逐个往下看,在再第个参数 ‘s’处,发现是加密函数。