当前位置: 首页 > news >正文

泉州建设系统培训中心网站wordpress 加速

泉州建设系统培训中心网站,wordpress 加速,网站推广策划思维导图,做企业宣传网站系列文章目录 训练地址#xff1a;https://www.qiulianmao.com 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集实战一#xff1a;Http轮询更新中 websocket逆向-protobuf序列化与反序列化基础 系…系列文章目录 训练地址https://www.qiulianmao.com 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集实战一Http轮询更新中 websocket逆向-protobuf序列化与反序列化基础 系列文章目录一、基础知识1. 序列化与反序列化2. 常见的数据格式3. 什么是protobuf 二、如何判断网站使用了protobuf1. 通过响应进行分析2. 通过请求头进行分析3. 分析js 三、protobuf的序列化与反序列化1. 环境配置【python】2.定义proto结构3. 编译 .proto 文件4. 序列化5. 反序列化 四、总结 一、基础知识 1. 序列化与反序列化 序列化就是将明文转化成字节序列的过程、方便传输。反序列化就是将字节序列转化成明文的过程、方便使用。服务器【明文序列化为二进制】-------传输------ 客户端【二进制反序列化为明文】 2. 常见的数据格式 文本化协议jsonxml。可视化效果好便于维护。开源协议protobuferjson。有现成的序列化与反序列化库都是经过长期检验的。自定义的二进制数据自行定义序列化与反序列化规则自由度高应用范围不广。 3. 什么是protobuf protobuf是二进制数据序列化协议。优点比json、xml等体积小、传输快。特点序列化与反序列化需要借助proto文件。像结构体、有顺序、有string、int32、bool、bytes等数据类型。 二、如何判断网站使用了protobuf 1. 通过响应进行分析 请求响应是二进制的抓包工具显示为乱码。 2. 通过请求头进行分析 在请求标头或者url地址参数中出现protobuf关键字 3. 分析js js中出现123这样的顺序出现stringint64bytes…数据类型 分析js是非常重要的在逆向过程中需要借助js进行反推proto文件才能对消息进行序列化与发序列化。 三、protobuf的序列化与反序列化 1. 环境配置【python】 下载protoc.exehttps://github.com/protocolbuffers/protobuf/releases安装相关库【注意版本对应】 pip install protobuf pip install google # 如果提示没有安装google库 pip install google-cloud pip install google-cloud-vision2.定义proto结构 文件名称message.proto syntax proto3;// 定义一个 Person 消息类型 message Person {string name 1;int32 age 2;Gender gender 3; // 枚举类型字段mapstring, string email 4; // Map 类型字段将字符串键映射到字符串值repeated Cars cars 5; // 重复字段表示一个 Cars 类型的数组bool is_student6 //布尔类型bytes hi 7 }// 定义一个 Gender 枚举类型 enum Gender {UNKNOWN 0;MALE 1;FEMALE 2;OTHER 3; }// 定义一个 Cars 嵌套消息类型 message Cars{string make 1; // 假设 Cars 类型有一个名为 make 的字符串字段int32 year 2; // 假设 Cars 类型有一个名为 year 的 32 位整数字段 } 3. 编译 .proto 文件 有的电脑是不需要前面的.\ 进入proto所在cmd路径后执行 .\protoc --python_out. person.proto4. 序列化 # 秋恋猫 import person_pb2def serialize_person():# 创建一个 Person 对象person person_pb2.Person()person.name 秋恋猫person.age 30person.gender person_pb2.Gender.FEMALE # 使用枚举值# 添加 email 信息到 Map 字段person.email[plat] qqperson.email[number] qiulianmaoqq.com# 添加车辆信息到重复字段car1 person.cars.add()car1.make 奥迪car1.year 2020car2 person.cars.add()car2.make 奔驰car2.year 2018# 布尔类型person.is_student True# 字节型persion.hi bhi# 将 Person 对象序列化为字节流serialized_data person.SerializeToString()return serialized_dataserialized_data serialize_person()5. 反序列化 # 秋恋猫 import person_pb2 from google.protobuf.json_format import MessageToDict def deserialize_person(serialized_data):# 创建一个空的 Person 对象person person_pb2.Person()# 将字节流反序列化为 Person 对象person.ParseFromString(serialized_data)# Person 对象 转为字典obj1 MessageToDict(person, preserving_proto_field_nameTrue) deserialize_person(serialized_data)四、总结 本文主要介绍了protobuf序列化与反序列化的知识点主要讲解了序列化与反序列、常见的数据传输格式以及protobuf的实际使用。
http://www.w-s-a.com/news/651450/

相关文章:

  • 怎么搭建源码网站义乌网络
  • 定远规划建设局网站wordpress云主机安装
  • 慈溪市网站开发软件开发文档国家标准
  • 本地佛山顺德网站设计公司的网站如何建设
  • 网站建设前十名网站建设 招标书
  • 手机网站标准百度搜索关键词排名优化推广
  • 中国空间站科幻作文1000字wordpress运行库
  • 徐州做网站的wordpress可视化编辑器排行
  • 官方网站英语上海公司注册核名查询
  • 东莞网站建设推广云南昆明最新消息
  • 上网站乱码网页设计与网站建设案例教程
  • 宣讲网站建设wordpress多媒体主题
  • 如何成立网站互联网开发是做什么的
  • 网站首页的尺寸做多大网页图片排版
  • 龙岩天宫山索道多少钱河南网站排名优化哪家好
  • 北京做网站设计程序员和网站开发
  • 个人 做自媒体 建网站图片制作成视频的手机软件
  • h5 建站网站 移动端重庆潼南网站建设价格
  • 商企在线营销型网站怎么做时光网站
  • 网站建设方案论文1500竞价托管哪家便宜
  • 使用cdn的网站宣武网站建设
  • 营销型网站怎么建设企业网站Wap在线生成
  • 网站建设服务费应该做到什么科目广州网页制作服务商
  • 网站显示500错误怎么解决方法店面设计模板
  • 网站备案icp文化传媒有限公司
  • 北京企业建站模板微信公众号商城怎么制作
  • 制作网站 公司简介大型做网站的公司
  • 北京网站开发建设南昌网站小程序开发
  • 网站如何做ip签名图片宁波互联网
  • 中山小榄网站建设长沙网络营销品牌排名