boss直聘__zp_stoken__逆向分析2021.10版
1.前言:
本分析过程仅供学习交流使用,切勿用于非法行为
我的另一篇文章boss直聘zp_stoken逆向分析源码放送讲的更详细且含源码
博客所写的所有算法还原均已开源在GitHub,地址
https://github.com/YotaGit/AlgorithmRestore
2.准备工具
python版本:python3.7
最新版nodeJs
目标站点:aHR0cHM6Ly93d3cuemhpcGluLmNvbS9jMTAxMjgwMTAwLXAxMDAxMDEv
3.协议分析
本文只针对__zp_stoken__的加密分析
3-1.寻找加密点
一顿操作可以看到我们要找的函数入口是在这里
code = (new ABC).z(seed, parseInt(ts) + (480 + (new Date).getTimezoneOffset()) * 60 * 1e3)
经过本人的分析后面这段(480 + (new Date).getTimezoneOffset()) * 60 * 1e3的值为0没啥用,所以本次的函数入口就是
code = (new ABC).z(seed, parseInt(ts))
这也太短了吧,是不是有点瞧不起人
别着急他其实很长,我们追进去就是映入眼帘的js控制流平坦化
3-2.应对js控制流平坦化
应对js控制流平坦化有两种方法:
第一种是将那些几万行的垃圾代码全部转为短小的代码(代码阉割)
第二种方法是直接硬刚,调试进去(不就是读代码吗有啥难的)
现在我们选择硬刚,就是干
3-3.硬刚控制流平坦化
追进去后就是密密麻麻的代码,这代码写的连他妈都不认得,一个switch写了两千多行
本文到此结束!!!!!
遵循的原则是缺啥补啥,下面我们来说一下补环境中需要注意的点
利用Js Proxy吐出一部分环境
window = new Proxy(window, {get: function (x, y) {console.log(y)return x[y]},set(target, p, value, receiver) {target[p] = value}
})
hook一下常用的Math和Date函数
因为参数__zp_stoken__是动态的所以时间戳必定在里面
全局搜索typeof
全局搜索try catch
正则搜索.*\[.*\]\(.*\)
通过以上几步的操作能将90%的环境搞定,但是生成出来的__zp_stoken__依旧不能百分百有效,这证明还是有缺漏,如果想要知道具体原因,关注公众号可以获取这部分
Js代码里面有webdriver和PhantomJS的检测
有对screen的检测
有对nodejs的检测(这个很骚)
除此之外还有__filename,Buffer等等
在浏览器里面这个是undefined,而在nodejs里面这是个特定的模块
最后看一下结果百分百成功
boss直聘__zp_stoken__逆向分析2021.10版相关推荐
- boss直聘zp_stoken逆向分析源码放送
1.前言 本分析过程仅供学习交流使用,,若读者将其用于非法用途,其造成的一切后果与本人无关 博客所写的所有算法还原均已开源在GitHub,地址 https://github.com/YotaGit/A ...
- Boss直聘数据采集及分析
Boss直聘数据采集及分析 我主要采集了Boss web端西安5月Python招聘情况,后面会在代码注释中进行解释 采集中碰到的问题参考,也许你也会遇到 采集 问题点 为了绕过boss直聘网站对sel ...
- 基于‘BOSS直聘招聘信息’分析企业到底需要什么样的PHPer
基于'BOSS直聘招聘信息'分析企业到底需要什么样的PHPer 前两篇文章都没看,好意思直接看结果? Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息 Pyhton爬虫实战 - 抓取 ...
- 爬取boss直聘数据并分析
爬取boss直聘数据并进行分析 1. 爬取boss直聘数据 因为高匿的代理IP要钱,所以小编只能通过增大时间间隔并利用selenium自动化库模拟人自然浏览网站来爬取数据,最终获得北京,上海,杭州,广 ...
- python分析BOSS直聘的某个招聘岗位数据
前言 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我给大 ...
- boss直聘python_python分析BOSS直聘的某个招聘岗位数据
前言 毕业找工作,在职人员换工作,离职人员找工作--不管什么人群,应聘求职,都需要先分析对应的招聘岗位,岗位需求是否和自己匹配,常见的招聘平台有:BOSS直聘.拉钩招聘.智联招聘等,我们通常的方法都是 ...
- Python分析BOSS直聘的某个招聘岗位数据!简单!
前言 毕业找工作,在职人员换工作,离职人员找工作--不管什么人群,应聘求职,都需要先分析对应的招聘岗位,岗位需求是否和自己匹配,常见的招聘平台有:BOSS直聘.拉钩招聘.智联招聘等,我们通常的方法都是 ...
- BOSS 直聘牛逼:取消 996,但不取消「周末加班费」
loonggg 读完需要 5 分钟 速读仅需 2 分钟 大家好,我是校长. 昨天又有一家互联网企业无条件取消 996 了,但是,人家取消 996,并不取消周末加班费,有意思吧? 据悉:BOSS 直聘宣 ...
- BOSS 直聘无条件取消大小周,薪资总额不变,能打消员工的顾虑吗?
整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 8月17日,BOSS直聘宣布将从2021年9月1日起取消"大小周",并表示恢复双休后,员工薪资中的" ...
最新文章
- 9.path Sum III(路径和 III)
- 开发日记-20190918 关键词 努力
- 北京内推 | ​美团无人车团队招聘视觉算法实习生
- github使用-知乎的某小姐的一篇文章
- java json对象 输出_拼json字符串输出java对象
- windows 端口冲突解决
- WHATWG API——url.parse()的替代方案
- SQL SERVER-Extendevent检测TempDB增长
- 火灾原来离我们那么近
- 邮件服务系统专题14:九层垃圾邮件过滤技术
- VKTM进程消耗大量CPU的问题
- datatable自定义表单或者导出excel按钮,搜索
- Atitit 设计模式之道 艾提拉著 sbb 目录 1. 一、设计模式的分类	1 1.1. 总体来说设计模式分为三大类:	1 1.2. 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建
- 配置8086汇编环境
- 阿里云无法 git clone 的解决
- 2018年南京大学计算机专业录取分数线,南京大学2018年录取分数线
- ionic 中的折线图与柱状图
- 800 8107.79
- 项目管理第十三章项目相关方管理
- Maven 编译时缺少依赖,java: 程序包org.apache.http不存在