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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python爬虫之Js逆向案例(13)-某乎最新x-zse-96的rpc方案后续 -> 正文阅读

[网络协议]Python爬虫之Js逆向案例(13)-某乎最新x-zse-96的rpc方案后续

Python爬虫之Js逆向案例(13)-某乎最新x-zse-96的rpc方案后续

声明:某乎加密逆向分析仅用于研究和学习,如有侵权,可联系删除

大家好,这篇文章是鉴于《案例7》的后续内容,如果没有看过案例7 的小伙伴可翻到本篇文章下方查看,原文已经发不出来了;有小伙伴留言说,rpc扣代码时越到了问题、、、,其实rpc不用扣代码,我一开始用了抠出来的代码做演示,是因为在写rpc文章之前就扣好了代码,顺便用它下了rpc的文章;所以有些小伙伴看了之后以为rpc需要扣代码,不好意思,是我做了错误示范,/狗头。本篇文章简单演示一下如何不扣代码的。

下方演示过程全部使用chrome浏览器;

详细步骤:

1.改写加密函数JS

不扣代码的话就需要我们把加密函数给提出来,然后去使用它,这该如何弄呢?chrome浏览器有一个功能是overrides,像他的名字一样用来覆盖文件。先定位到加密函数所在的文件,这个时候先不要格式化,如下图:
在这里插入图片描述

定位到位置之后,把当前这个js文件给保存了

在这里插入图片描述

在桌面把新建一个test文件夹,如下图:

在这里插入图片描述

点击新建之后,就会弹出来一个授权栏,这里一定要点击允许哦!!!如下图:

在这里插入图片描述
然后在这个js文件上右键,如下图:
在这里插入图片描述

保存之后,test的文件夹里就多了对应的文件,注意那个文件的文件夹和文件,这个是它自己建的static.zhihu.com/heifetz文件夹,不要改,改了之覆盖回失效的;

在这里插入图片描述

点击,保存的js文件进行格式化,找到加密函数的位置,如下图:

在这里插入图片描述

导出加密函数到全局,以便后续访问,如下图:

在这里插入图片描述

验证是否执行,如下图:

在这里插入图片描述

调用加密函数进行加密,如下图:

在这里插入图片描述

结束。。。

所以,我们没有扣代码,只是把加密函数导出到了全局而已,接下来就是结合rpc调用这个加密函数返回结果了,剩下的部分可继续看《案例7》的文章(往下看,原文被下架了!)


以下内容是Python爬虫之Js逆向案例(7)-某乎最新x-zse-96的rpc方案的内容

大家好,有小伙伴私信我说某乎加密方案变了,让我再出一期关于新版的逆向分享,这次不同上次,虽然加密方法用的还是jsvmp方案,但是整个过程难度貌似增加了不少,也确实有一定难度,很多同学私信说,代码抠出来了,结果还有反调试,每次 debuger 都报错、、、,debuger报错这个地方只需要把 case 368 的那个500毫秒阀值调大,或者直接把三目运算改成this.T -= 8;就可以调试了。这个反调试老加密也是有的,只不过当时的加密代码抠出来可以直接运行拿到结果,所以大家就没注意看具体加密逻辑就忽略了。如果想直接破解vmp加密过程的话,还是很难的,不建议这样做,太费时间了,提示一下,感兴趣的可以了解一下vmp加密的插桩,回吐环境调用的值,然后缺啥补啥就行了。本节分享的内容是js逆向必备技能之一,jsrpc

为了照顾刚入门童鞋,文章每一步的分析过程尽可能的详细(有经验的同学可以选择感兴趣的地方快速浏览)

下面会进行以下几步进行分析(下方演示过程全部使用chrome浏览器);

  1. 什么是jsrpc?;
  2. jsrpc工具;
  3. 本案例使用rpc如何实现;
  4. python爬虫结果演示;

一.什么是jsrpc?

jsrpc的原理是利用websocket通信技术实现的通过调用socket服务,通知放在浏览器端的socket执行相关代码,拿到结果后客户端发送给服务器,然后再返回给接口调用者技术(个人理解,不一定很准确),说白了就是websocket的具体应用罢了!

JSRPC原理

在这里插入图片描述
简单画了个原理图,根据1,2,3,4,5流程大致看一下,有个印象就行了;

rpc优点:

  1. 无需关心加密内部的具体算法;
  2. 无需关心加密代码运行的环境,不用补环境;

二.jsrpc工具

GItHub上有一位大神写的工具,这次案例用的也是这个,很方便,下面是链接:
https://github.com/jxhczhl/JsRpc
这个工具文档写的很详细,我就不在啰嗦了,大家自行前往查看;

三.本案例rpc如何实现

首先下载安装包:
在这里插入图片描述
我下载的是下面这个,本地运行的话,无需配置证书,如果用https配证书什么的,稍微有点费事!
在这里插入图片描述
下载完成后是一个exe文件,直接双击运行,如下图:
在这里插入图片描述
这样就启动了rpc的服务器;接下来我们准备浏览器端需要插入的代码;

浏览器端代码准备

根据文档提示,我们把里面的代码拷贝出来,放到一个js文件中,例如zh_rpc.js,
在这里插入图片描述
再把下面这段代码放到zh_rpc.js代码的最后面,


// 注入环境后连接通信
var demo = new Hlclient("ws://127.0.0.1:12080/ws?group=zzz&name=hlg");
// 注册一个方法 第一个参数hello3为方法名,
// 第二个参数为函数,resolve里面的值是想要的值(发送到服务器的)
demo.regAction("hello3", function (resolve, param) {
  //这里还是param参数 param里面的key 是先这里写,但到时候传接口就必须对应的上
  const tempFormatUrl = param['str'];
  console.log(843, param['str']);
  res = get_sig(tempFormatUrl)
  console.log(874, res);
  resolve(res);
})

这个时候socket相关的东西代码已经准备完了。我这边是把x-zse-96字段的加密给抠出来了,有md5+vmp的代码,所以此时我把加密代码放到了zh_rpc.js中代码的最上面;

此时浏览器端的代码就完成了;

我们打开某乎的网站,把上面的代码拷贝出来,直接粘贴到控制台上,或者像我这样,新建一个snippet,把代码拷贝到这里,如下图:

在这里插入图片描述

上面点击运行后,控制台会出现相关log,其中有一条logtrue,上图控制台里的843,874是后面python调用时这边才打印的。

浏览器端的socket代码也已经启动了,下面开始准备python端代码。

python 代码准备

在这里插入图片描述
准备好爬虫代码之后,就可以正常运行这个文件拿到接口数据了;

结果演示

在这里插入图片描述
这里只演示了x-zse-96字段获取,其他字段也是一样的,比如x-zst-81

rpc技能也是学习逆向时的必备技能,这种方案能快速爬取你想要的数据,如果大家按步就班的去破解新的加密算法的话,那对一个老手来说差不多也要2天才能拿到数据,对新手来说,想拿到这个最新加密下的数据还是很难的吧,所以这个技能一定要掌握了哦!有疑问的可留言或私信我!!!


欢迎加入「python、爬虫、逆向Club」知识星球

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:55:47  更:2022-11-05 00:56:00 
 
开发: 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年5日历 -2024/5/19 12:41:55-

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