IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 一个很像某数的cookie加密(js逆向) -> 正文阅读

[JavaScript知识库]一个很像某数的cookie加密(js逆向)

网站:aHR0cHM6Ly93d3cuanZpYy5lZHUuY24vemJiLzcwOS9saXN0OC5odG0=

前言:这是一个很像某数反爬的站,同样的412然后200,同样的cookie加密,甚至部分算法都是一模一样的,当然这个难度比某数低很多

一、hook cookie 确定加密位置

这里我用的是v佬的插件

详细下载可以看蔡老板的文章 : https://mp.weixin.qq.com/s/LisYhDKK_6ddF-19m1gvzg

插件打开hook cookie选项后刷新页面,跟到这个位置来
在这里插入图片描述

 //部分注释
 var R$iM = R$lh(); //生成cookie所需要用到的32位数组
 var R$kh = R$a0(); //生成cookie所需要用到的16位数组
 var R$f1 = R$ec(); //生成cookie所需要用到的43位数组
 var R$c0 = "K" + R$jp(R$kh['concat'](R$hT(R$f1, R$iM))); //生成cookie

二、跟栈扣代码

先解决这个R$lh(),跟进去

function R$lh() {
	return R$lc(cookieKey)["slice"](0, 32);
}

这时候要找的是cookiekey,一般这种什么key的都是其他接口返回的,很可惜这里没有,但!这个js是动态的,所以很有可能在js中有返回。观察整个js,这一长串是每次都会变的
在这里插入图片描述
所以我们在这里下断,往回跟看能不能跟到cookiekey生成的地方

还有一点就是,这个js虽然是动态的,但方法名不变,只是方法的顺序变了,因此需要本地替换js打debugger,可是又衍生出一个问题了,这个网站检测fiddler,之后我又用其他插件想替换js都不太行,所以我用的方法是在第一行打debugger,断住后再搜方法名打断点。(这里有知道怎么绕过检测的大佬教教我~)

在这里插入图片描述
断住这里后往回找堆栈,看谁在调用他(红色箭头的地方)
在这里插入图片描述

可以看到已经找到cookiekey了,这里还有一个blackBlock,先记着后面会用到。

既然找到cookiekey了,那么我们再回到R$lh() 方法里
在这里插入图片描述

再进到R$lc里,这里我用某数的部分算法做了个对比,你就知道有多像了
在这里插入图片描述
然后剩下的就是缺什么补什么了,需要用到的方法就几个。

--------------------------------------------一条华丽的分割线--------------------------------------------

接下来看的是R$a0()

function R$a0() {
	return R$lc(blackBlock)["slice"](0, 16);
}

这里和**R$lh()**是一样的,就把cookiekey替换成blackBlock(上文有提到)

--------------------------------------------又是一条华丽的分割线--------------------------------------------

然后到R$ec()

在这里插入图片描述

这里的话有一些加密后的字符串手动还原下就行,只扣跟算法相关的函数,然后可以简化成这个样

//R$iM可以写死
function R$ec(R$js) {
	var R$f1 = R$lS(0xffffffff);
	var R$c0 = (new Date()["getTime"]()) % 0xffffffff;
	var R$iM = [1, 1, 128, 0, 0, 1, 167, 21, 120, 23, 185, 13, 93, 25, 246, 122, 194, 129, 245, 99, 119, 193, 55, 134, 156, 167, 0, 0, 0, 0, 0, 0, 0, 0];
	var R$jX = R$l5([R$f1, R$c0]);
	R$jX = R$jX['concat'](R$iM);
	R$jX.push(R$lE(R$jX));
	return R$jX;
}

--------------------------------------------又又是一条华丽的分割线--------------------------------------------

这三个数组搞定后只剩R$jp 跟 R$hT这两个方法了,缺啥补啥 ,整个逻辑大概三百多行。然后这两个方法也有很多跟某数相似的算法
在这里插入图片描述
在这里插入图片描述
三、请求验证
在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:36:38  更:2022-02-09 20:37:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:28:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码