当前位置:首页 » 《随便一记》 » 正文

某数新五代(11-21,js逆向)_成功你要成仁啊的博客

7 人参与  2022年05月23日 09:10  分类 : 《随便一记》  评论

点击全文阅读


首先 到目前为止,我对某数的了解还是不够的,一些环境检测啥的我也没完全弄明白,以下分析的只是我的个人思路,可能分析得不够准确,见谅啦

参考文章:
https://mp.weixin.qq.com/s/r3FXjvT5Mm9Ikg_bDEadcw
https://mp.weixin.qq.com/s/IZUY2VHAKsFb_DXmvpSbrg
https://mp.weixin.qq.com/s/UYPnanAHnVYBh2t6f-UkPA
https://mp.weixin.qq.com/s/YaChHGaIxA13xE03KYD-Sg

一、判断一个站是某数

当一个站首页源码有这个
在这里插入图片描述
并且他的cookie长这个样
在这里插入图片描述
那基本就可以确定这是某数了(判断是几代某数的,可以看他cookie的首位数字)

二、找到进入第二层入口
无痕模式,打上script,然后就是跳过,来到这里
在这里插入图片描述
这个js会被加载进html,且给window.$_ts赋值

继续跳过,进到这里
在这里插入图片描述

因为这是新五代没办法搜call,这时候可以hook cookie或者eval找到第二层的入口,也可以搜 “]](_”,有16个,找到跟这个_$nX = _$NJ[_$yP[30]](_$JG, _$rr);结构相似的就是入口了,然后就是单步进去

注:这里widnow.$_ts的值第二层会用到
在这里插入图片描述

三、第二层分析

接下来要扣代码,因为网站是动态的,得静态调试才行,可以用fiddler进行本地替换,把html和那个js文件替换掉。

第二层其实用ast解混淆会好分析很多,奈何我ast基本功比较拉,不管了,大力出奇迹

接着分析…
首先是初始化
在这里插入图片描述
在这里插入图片描述
第二张图箭头处var _$fM = _$_A(889);是生成一个16位数组,然后取后四位,这四位数组后面会用到

接着进入主流程…
搜(938, 1
在这里插入图片描述
单步进来,然后就是硬刚混淆代码了,一直一直一直一直一直一直一直单步,会走到这里
在这里插入图片描述
在这里插入图片描述
这里的_$Di_$Df后面会用到,并且_$Df的值会给他换一个变量存起来,一定要注意这里的时间戳
在这里插入图片描述
然后又是一直一直一直单步,中间会有很多环境检测(如selenium,navigator这些),我这里跳过

直接来到128位数组开始的地方
在这里插入图片描述
首先第一个push的是20位数组(前16位是对window.$_ts[21]进行加密的,后四位是重中之重,是经过多次映射关系匹配的,一定注意这四个数字的顺序,不然过不了的

在这里插入图片描述
接着是对上面提到的_$Df进行一些操作后加密,生成8位数组
在这里插入图片描述
接着是两个固定数字和两个固定数组
在这里插入图片描述
接着是初始化的时候提到的四位数组

_$Yq[number++] = _$fM; //初始化的时候生成16位数组的后四位

接着是固定数组和固定的数字
在这里插入图片描述
接着会先占位,等到最后生成14位数组的时候,这里会再添加四位数组

_$Yq[number++] =undefined;

接着会生成三个20位数组(或者四个20位数组),这是根据LocalStorage加密生成,但这些数组偶尔会出不来,这个问题请教了nanda老哥,这是他的解答,太顶了,nanda yyds
在这里插入图片描述
还有LocalStorage里面的参数一般可以写死除非某些站检测严格,也可以不写,虽然最后生成的cookie短了些,但也能获取200页面

接着就是有些固定的值和14位数组了
在这里插入图片描述

接着就是concat操作,到此128数组就结束了
在这里插入图片描述
写到这已经没啥力气…下面是生成32位数组的,就直接放笔记出来了…
在这里插入图片描述
接着…终于开始生成cookie了

这里拿到window.$_ts[22]
在这里插入图片描述
然后之前生成的128数组和这个数字进行拼接,再加密,最终生成一个数字
在这里插入图片描述

接着会对上一步生成的数字进行加密生成四位数组,最后再拼接

然后对之前生成的时间戳进行检测,最后会生成一个16位数组

在这里插入图片描述
然后最终的cookie就生成了

var cookie=_$Xz[643] + _$7e + _$e_(_$7K(all_arr, new_32_arr));

啊,终于结束了

总结一下:单步,单步,单步,刚开始跟的时候会一脸懵逼毫无思路的,这时候一定要耐心单步哈哈哈,和那些变量、函数混个脸熟,大概知道这个变量代表什么,这个函数大概做了什么操作。
整个流程还有很多细节,没法一一说全,只能靠自己去踩坑啦

接下来的话有时间打算用python还原整个算法,如果最后做不出来就是我太菜了哈哈,还得努力呀

最后最后,谢谢nadna和smartpang的解答
在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/40587.html

数组  生成  这是  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1