首页 > 其他分享 >(xxxx)十四:实战协议分析

(xxxx)十四:实战协议分析

时间:2024-05-20 10:57:22浏览次数:28  
标签:实战 协议 xxxx 函数 RTT client 0x66B00000 十四

  1、xxxx的聊天通信协议是基于tls 1.3精简了一些握手的方法,官方的介绍在这:https://mp.weixin.qq.com/s/tvngTp6NoTZ15Yc206v8fQ

     总的来说,这篇文章对xxxx协议做了总体的介绍。为了便于理解、抓住主脉络,我这里整理了整个协议的主干思路,如下:           tls1.3协议网上介绍的文章也有很多,我就不赘述了(没意义)。从本文开始实战xxxx协议的分析,最终目标是复现xxxx的协议!   2、逆向入口   xxxx这种大型的工程,代码估计百万行,转成汇编后估计千万行,从哪下手了? 所有逆向工程,一般都根据逆向需求从数据下手。xxxx协议是基于tls 1.3改的,保留了如下3种handshake方式:
  • 1-RTT ECDHE
  • 1-RTT PSK
  • 0-RTT PSK
  一般来说,刚点击xxxx登陆的时候,会和服务器开始通信,那么就会用到通信协议。tls1.3是从client主动发起Client Hello包开始的,xxxx会不会也这样了? 上一篇文章抓了部分xxxx的包,都是加密的,没法直接判断是不是Client Hello包,那么这次就换个思路:用IDA静态查找!   用IDA打开xxxx最大的那个dll,在string windwos里面通过“client hello”关键词查询,果然找到了一些字符串:           顺藤摸瓜,找到了这里:从代码看,貌似是个switch case结构,除了client hello,还有server hello、newsession ticket、server key exchange等关键字符串,这个函数肯定重要,先记住函数的偏移:0x67873090 - 0x66B00000 = 0xD73090;函数取名: package_type,表明数据包的类型;           继续查看这个函数被谁调用了:选中函数,右键选择“xrefs graphs to”,得到下面的调用链:           通过挨个查看,这些函数都调用了网络相关函数,肯定和收发数据相关,这里算出他们的偏移:0x67873280 - 0x66B00000 = 0xD73280 , 0x67870DA0 - 0x66B00000 = 0xD70DA0;

标签:实战,协议,xxxx,函数,RTT,client,0x66B00000,十四
From: https://www.cnblogs.com/theseventhson/p/14586201.html

相关文章

  • 性能实战训练营 - 前端性能分析 - 慧测
     通过火狐浏览器,浏览网站,(开启了yslow)(类似的谷歌的工具是pagespeed)得到页面上各项的得分(参考高性能网站建设指南),字母越靠后,分值越低。 点击可查看详情空点击Componects,查看各个资源的压缩情况和请求消耗时间: 查看yslow的完整报告:danatrace工具可以分析js性能......
  • C#基于.net framework的应用开发实战编程(一) - 编程手把手系列文章
    上次介绍了C#的基于.netframework的Dll类库和Winform的编程过程,今天就来个实战演练一下,结合上次的内容,让读者能够有一个实战的过程,知道怎么用C#进行Winform的编程过程,实现一个小应用。       准备工作;因为软件研发主要从需求、设计、编码、测试、安装这个过程......
  • 深入Django项目实战与最佳实践
    title:深入Django项目实战与最佳实践date:2024/5/1921:41:38updated:2024/5/1921:41:38categories:后端开发tags:Django基础项目实战最佳实践数据库配置静态文件部署高级特性第一章:Django项目架构与设计原则Django框架概述Django是一个高级的PythonW......
  • 鸿蒙HarmonyOS实战-Stage模型(开发卡片页面)
    ......
  • 驱动内存加载[实战]
    08驱动内存加载[项目]目标:实现一个加载器,让驱动不落地加载DOS头和NT头DOS头kd>dt_IMAGE_DOS_HEADER-r3ntdll!_IMAGE_DOS_HEADER+0x000e_magic:Uint2B+0x002e_cblp:Uint2B+0x004e_cp:Uint2B+0x006e_crlc......
  • 鸿蒙HarmonyOS实战-Stage模型(服务卡片的模块和创建)
    ......
  • 说说ITSM项目实战那些事儿(二)
    二.实操环节嘿,经过一番脑力激荡的咨询阶段,咱们终于要卷起袖子,一头扎进ITSM项目的实战环节了。这可是动真格的时候,每一步都得踩实了,咱们才能顺利登顶! 1.实施准备:准备到位,事半功倍老话说得好,兵马未动粮草先行。实施前的准备工作就是咱们的“粮草”,得精心筹备。你得请那些身经百......
  • Linux平台移植音频芯片实战记录
    本文详细记录在NXP I.MX6ULL+Linux平台下进行WM8960音频芯片移植的过程,其他平台操作方法类似,希望为大家提供帮助。1. 环境准备平台: HD6ULL-IOT开发板要求: 外接一个WM8960模块。要求能正常播放音频文件。2. 原理图及相关资料将模块飞线到底板J17上,接法如下;且模块1脚 ......
  • Python数据分析与挖掘实战(1-3章)
    非原创,仅个人关于《Python数据分析与挖掘实战》的学习笔记第一章基础略第二章数据分析简介基本概念元组、列表、字典、集合函数式编程:map()函数:定义一个函数,然后用map()逐一应用到map列表中的每个元素。map(lambdax+2:a)reduce()函数:用于递归计算。reduce(lambdax,......
  • 使用joinjs绘制流程图(十)-实战-绘制流程图+自定义节点样式(优化)
    问题前面自定义节点的样式坐标位置不对,我们希望自定义节点的坐标和rect元素的位置是一样的效果图代码<template><divclass="app"><divref="myholder"id="paper"></div></div></template><script>import*asjointfrom&......