国窖1997 发表于 2021-12-21 16:18

某房产网 混淆js 分析与还原

本帖最后由 国窖1997 于 2021-12-23 17:46 编辑

仅供学习研究 。请勿用于非法用途,本人将不承担任何法律责任。
Chrome NetWork面板分析网络请求, 返回的数据是一个加密文本

前面有三组数字 + 加密数据
通过分析发现解密位置都是混淆代码


原本想把js抠下来,然后用python调用node.js进行解密的, 抠下来后发现node.js运行报错,而且试用”代{过}{滤}理ip“,返回的数据是解密失败的,好像和ip有关系,所以使用了sekiro js rpc调用,今天没事具体研究了它的解密方式


https://static.52pojie.cn/static/image/hrline/line4.png
1、 混淆还原


所有变量名都是通过 _0x2e12方法进行计算得出, 那第一步手动把所有混淆替换掉


2、再替换掉一些固定的执行方法和参数

3、 其实重点就在 deBase64 和 deBase64_cutStr 方法上, 通过这两个方法就大概看的差不多了
具体逻辑就是 通过返回的前三组数字和ip.split('.')进行运算, 然后计算ip的位数,传递给deBase64_cutStr方法进行subString后重新组合,重复3次,组合后就是一个base64加密了,可以直接解密

通过3次deBase64_cutStr方法可以把base64参数内插入的随机值去除掉就能解密了

所以解密代码没变, 如果请求数据的ip变了,这个代码是解密不出来的
python 还原

Rezalt 发表于 2021-12-22 13:31

首先祝贺楼主解密成功但是你这是手动解混淆 也没用到AST呀而且这个混淆也不叫 AST混淆:rggrg

国窖1997 发表于 2021-12-22 13:43

Rezalt 发表于 2021-12-22 13:31
首先祝贺楼主解密成功但是你这是手动解混淆 也没用到AST呀而且这个混淆也不叫 AST混淆

叫啥啊, 我百度了说是AST,我也不太懂这个.

T4y1oR 发表于 2021-12-22 15:31

学到了,真牛

不苦小和尚 发表于 2021-12-22 16:35

。。。啥都AST

乐行中国 发表于 2021-12-22 16:38

我给它起个名字 八格牙路是混蛋 米西米西是吃饭

icjhao 发表于 2021-12-22 17:24

AST是什么意思

堕落ぁ狼 发表于 2021-12-23 11:55

跟AST没啥关系、、、

小飞虫 发表于 2021-12-23 13:36

AST没关系

time2sec 发表于 2021-12-23 14:23

自宝义了个AST
页: [1] 2
查看完整版本: 某房产网 混淆js 分析与还原