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版相关推荐

  1. boss直聘zp_stoken逆向分析源码放送

    1.前言 本分析过程仅供学习交流使用,,若读者将其用于非法用途,其造成的一切后果与本人无关 博客所写的所有算法还原均已开源在GitHub,地址 https://github.com/YotaGit/A ...

  2. Boss直聘数据采集及分析

    Boss直聘数据采集及分析 我主要采集了Boss web端西安5月Python招聘情况,后面会在代码注释中进行解释 采集中碰到的问题参考,也许你也会遇到 采集 问题点 为了绕过boss直聘网站对sel ...

  3. 基于‘BOSS直聘招聘信息’分析企业到底需要什么样的PHPer

    基于'BOSS直聘招聘信息'分析企业到底需要什么样的PHPer 前两篇文章都没看,好意思直接看结果? Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息 Pyhton爬虫实战 - 抓取 ...

  4. 爬取boss直聘数据并分析

    爬取boss直聘数据并进行分析 1. 爬取boss直聘数据 因为高匿的代理IP要钱,所以小编只能通过增大时间间隔并利用selenium自动化库模拟人自然浏览网站来爬取数据,最终获得北京,上海,杭州,广 ...

  5. python分析BOSS直聘的某个招聘岗位数据

    前言 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我给大 ...

  6. boss直聘python_python分析BOSS直聘的某个招聘岗位数据

    前言 毕业找工作,在职人员换工作,离职人员找工作--不管什么人群,应聘求职,都需要先分析对应的招聘岗位,岗位需求是否和自己匹配,常见的招聘平台有:BOSS直聘.拉钩招聘.智联招聘等,我们通常的方法都是 ...

  7. Python分析BOSS直聘的某个招聘岗位数据!简单!

    前言 毕业找工作,在职人员换工作,离职人员找工作--不管什么人群,应聘求职,都需要先分析对应的招聘岗位,岗位需求是否和自己匹配,常见的招聘平台有:BOSS直聘.拉钩招聘.智联招聘等,我们通常的方法都是 ...

  8. BOSS 直聘牛逼:取消 996,但不取消「周末加班费」

    loonggg 读完需要 5 分钟 速读仅需 2 分钟 大家好,我是校长. 昨天又有一家互联网企业无条件取消 996 了,但是,人家取消 996,并不取消周末加班费,有意思吧? 据悉:BOSS 直聘宣 ...

  9. BOSS 直聘无条件取消大小周,薪资总额不变,能打消员工的顾虑吗?

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 8月17日,BOSS直聘宣布将从2021年9月1日起取消"大小周",并表示恢复双休后,员工薪资中的" ...

最新文章

  1. 9.path Sum III(路径和 III)
  2. 开发日记-20190918 关键词 努力
  3. 北京内推 | ​美团无人车团队招聘视觉算法实习生
  4. github使用-知乎的某小姐的一篇文章
  5. java json对象 输出_拼json字符串输出java对象
  6. windows 端口冲突解决
  7. WHATWG API——url.parse()的替代方案
  8. SQL SERVER-Extendevent检测TempDB增长
  9. 火灾原来离我们那么近
  10. 邮件服务系统专题14:九层垃圾邮件过滤技术
  11. VKTM进程消耗大量CPU的问题
  12. datatable自定义表单或者导出excel按钮,搜索
  13. Atitit 设计模式之道 艾提拉著 sbb 目录 1. 一、设计模式的分类 1 1.1. 总体来说设计模式分为三大类: 1 1.2. 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建
  14. 配置8086汇编环境
  15. 阿里云无法 git clone 的解决
  16. 2018年南京大学计算机专业录取分数线,南京大学2018年录取分数线
  17. ionic 中的折线图与柱状图
  18. 800 8107.79
  19. 项目管理第十三章项目相关方管理
  20. Maven 编译时缺少依赖,java: 程序包org.apache.http不存在

热门文章

  1. 微软Win11应用商店功能增强:允许用户备份/修复游戏
  2. 抓强势股MACD大牛启动通达信指标公式 无未来 不加密
  3. 2012-2018普及组第一题题解
  4. 旅游大数据如何变现?
  5. C语言零基础速通——函数(7分钟搞懂)
  6. 计算点在线上的投影坐标
  7. 机器人行业发展方向预测报告
  8. 精准定位Ubuntu网速最快的软件更新网站
  9. 一文搞懂ETL和ELT的区别
  10. 虚拟机环境搭建: virtualBox6.1+window10