前言
上篇某数文章我提供了素材,
文章呢还是赵鸭鸭大大大大佬辛苦码的,
第一篇文章,就先简单介绍个东东--
大部分人应该都知道的ast...
不知道的出门左转找一找应该能入门了
顺带一提,大概花了一天半学的ast,掌握的没那么高级...抱着实现就行的心态...所以代码不够简洁,语法不够高级请见谅...
正文开始
登录页可以触发滑块,根据提交的参数就很容易定位到如下位置
混淆的内容显而易见了
一堆稀奇古怪的字符串,一个三个索引的数组,本文主要还原的也是这两个内容。
先看看控制器输出的东西
嗯。。。这啥也不是
尝试一下 toSrting(),可以看到输出了正常内容
至于数组,其实是个套娃的数组,顺带一提隔壁的某验也是
怎么处理的 网上有某验的反混淆文章提供了思路 indexOf
然后替换即可
思路就在上面了,下面开始还原
首先把解密函数抠出来
到d5s定义的位置 粗暴cv
然后尝试打印
补个window=global。。最基础了吧连我也会
然后就能输出了...数组太长就不贴了
到这还不行 试试toString()
可以在网页上打印在这句话前打印d的内容
我这里就没管为什么不行。。。直接替换了。。反正能用就行
然后就是ast部分
导包,读文件,刚刚处理好的解密函数
ast框架,基础不清楚的建议还是去找找蔡老板学一学吧
首先是解密函数 为了清晰分成三个visitor来写了,而且功能分开,下一次遇到一样的直接cv就行了。。
虽然加密函数的名字有很多,在网页上能看到都是调用的wBe方法,可以与在线解析对照下,取到value,本地运行替换(其他需要解密函数的思路也就是这样子,主要是定位准确节点就行)
第二个处理的是数组,还是一样,重点就是在定位节点的条件
至于为什么写了两个判断条件呢。。。
因为就这一个也就没专门再写一个方法,有兴趣也可以研究下...
第三个就是看到了 1e10 这种,就顺便处理下,删除extra就行了(unicode那种字符串混淆比如某验也删一下extra就行)
最后保存。。。
run。。。
最后再简单对比一下
嗯。。。也够了 当然也就是一些简单的应用,提供个思路。
本文分享自 python爬虫与js逆向 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!