【某软件网络协议分析】

这篇具有很好参考价值的文章主要介绍了【某软件网络协议分析】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于网站无法上传附件,本帖子完整内容请点击此处

首先,从coco.apk提取dex文件,利用dex2jar将dex转化为jar,拖到jd-gui中,发现有如下几个可疑点:
com.azus.android.tcplogin.CryptUtil.rsaEncrypt
com.azus.android.tcplogin.CryptUtil.aesDecrypt
com.azus.android.tcplogin.CryptUtil.aesEncrypt
com.azus.android.tcplogin.CryptUtil.getRSAPublic

接下来,使用XPOSED框架,编写hook代码并输出日志,同时用wireshark抓包,最终得出如下加解密逻辑:

(1)客户端生成一个随机16位uuid(在com.instanza.cocovoice.bizlogicservice.b,com.instanza.cocovoice.bizlogicservice.impl,com.instanza.cocovoice.httpservice.d等类中均有此接口)

【某软件网络协议分析】

(2)客户端从安装程序的assets目录下读取rsapubkey.dat文件,并把文件内容当做rsa公钥加密上述16字节的uuid
【某软件网络协议分析】

【某软件网络协议分析】

Rsa公钥为:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv6wVtSeHU8gJWchcFfe4
qu9JNqDrPLBSfDwZ4NW9f+Qp5OI3FAsd19r5FM95wzdTPb6k/tTDnsPkdnTiEwTI
28PYffP/87BIraQrcgCWmbpugZ0l892LFUYweepp/R54OAlTaPLHMcaHxLnWX3Fq
wghOAjCNvAnXC3TWNJJnlHJ5e32n22nPMdCMNzwXV+zHHP+0sJyBQJd8yoBFFLh+
AZwy/F1xFkAWl9r3emdKhSIpPpT4nTEVD1ieGnMq5DxGPNpihP6jbZOI3UEwOTki
wpdOdR5j9lfe5tRis7pGyPHj+IOHzXRsZGC4r5xEhOKiCOckWJPVgCJWS3ruy5xJ
nwIDAQAB
-----END PUBLIC KEY-----

(3)构造登录包。此数据包分成三个部分:
包头;ras公钥加密后的密钥(即16字节的uuid,此密钥是一个aes密钥); 客户端用aes密钥(uuid)和aes算法加密后的用户登录信息(其中也包含上述uuid)。

此程序的服务器端口是tcp 1088(有时也会使用443等端口),登录数据包如下所示:
【某软件网络协议分析】

可以看出,此数据包第20字节开始是”qauth”字符串。
整个数据包可分为如下几个部分:从开头到12 80 02的部分是第一部分,从12 80 02到1a d0 02是第二部分,从1a d0 02开始到20 01 2a的是第三部分。剩下的包尾的是第4部分。第一部分字段暂时未详细研究;第二部分是用rsa公钥加密uuid后的数据值;第三部分是用aes算法和密钥uuid加密后的客户端登录信息;第四部分是用户登录信息段中的deviceid字段和publickey的md5值。整个结构应该是tlv结构来表示的,具体的的字段含义未分析。
【某软件网络协议分析】

以下是客户登录信息加密前的信息,其中划红线的正好是aes加密的密钥,这样数据包解密之后,可以用本字段验证aes加解密的结果是够正确。

【某软件网络协议分析】

如此来说,本程序的破解流程应该是,接收到登录数据包后,先用服务器端的rsa私钥解密出上图第2部分的值,解密结果是一个aes密钥,然后用此aes密钥解密上图中第二部分的登录信息,至此数据包解密完毕。另外值得一提的是,该aes密钥是本次用户和服务器之间所有的文本、语音、图片等通信数据的密钥。

以下是程序的核心加解密算法反编译源码:

【某软件网络协议分析】
【某软件网络协议分析】

【某软件网络协议分析】

【某软件网络协议分析】

通过xposed对以上函数的hook输出,可以看到客户端输入的文本、发送的图片和语音(以0x789c开头的zlib压缩数据),通过以上几个函数加密,变成数据包中的数据的过程。

比如发送消息nihao之后的加密过程:

【某软件网络协议分析】

“nihao”加密后的数据包:
【某软件网络协议分析】

本程序样本、Xposed测试源码和日志输出、数据包都在附件中。

源程序下载地址:https://download.csdn.net/download/m0_37567738/88415580?spm=1001.2014.3001.5501文章来源地址https://www.toymoban.com/news/detail-430607.html

到了这里,关于【某软件网络协议分析】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PHP】问题已解决:宝塔面板搭建php网站无法上传图片或是文件(保姆级图文)

    『PHP』分享PHP环境配置到项目实战个人学习笔记。 欢迎关注 『PHP』 系列,持续更新中 欢迎关注 『PHP』 系列,持续更新中 宝塔面板搭建php网站无法上传图片或是文件。 检查你的php里是否安装了 fileinfo 扩展,这会影响文件上传,而且因为宝塔面板让你有多个版本的php,所以

    2024年02月07日
    浏览(36)
  • 易语言软件定制软件开发脚本开发协议软件电脑网站APP应用视频制作工程制作

    随着信息技术的不断发展,易语言软件定制开发已成为许多公司的一项重要业务。本文将探讨如何利用易语言承接软件定制软件开发脚本开发协议软件电脑网站APP应用视频制作工程制作。 一、易语言概述 易语言是一种简单易学的编程语言,它采用中文编程,让不会英文的初

    2024年02月08日
    浏览(57)
  • 网站日志分析软件--让网站日志分析工作变得更简单

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推

    2024年02月04日
    浏览(60)
  • 实验3 利用协议分析软件分析HTTP

    目录 一、实验目的 二、实验环境 三、 实验步骤 四、实验报告内容 一、实验目的 1.熟悉并掌握Ethereal(或WireShark)的基本操作,了解网络协议实体间的交互以及报文交换。 2.分析HTTP协议的报文格式中各字段语法语义和工作原理。 二、实验环境 联网计算机;主机操作系统为Wi

    2024年02月08日
    浏览(31)
  • 【软件测试】网络协议

    网络协议是规定网络中的数据如何传输、格式和规则的一套标准。这些协议定义了数据通信的方法和格式,确保不同设备和系统能够有效地进行交流。网络协议按照功能和所处的网络模型层级可分为多种类型,以下是一些基本和常见的网络协议: 1. 传输控制协议/因特网协议

    2024年02月19日
    浏览(22)
  • 实验:Wireshark 抓包软件的使用及MAC协议分析

    1、理解抓包软件的工作原理; 2、掌握Wireshark软件的安装和使用方法。 3、掌握MAC协议分析的技术与方法 1、安装和运行Wireshark软件; 2、使用Wireshark软件抓取网络报文; 3、选取两个以上的以太网报文进行深入对比分析。 硬件:连接互联网的PC机; 软件:Wireshark 3.6.2。 1、安

    2024年02月01日
    浏览(27)
  • 网络层重点协议-IP协议(结构分析)

            用来表示IP协议的版本,现有的IP协议只有两个版本IPv4和IPv6         IP协议数据报报头的长度         3位优先权字段(已经弃用),4位TOS字段,和1位保留 字段(必须置为0)。4位TOS分别表示:最小延时(转递一个数据报的时间尽可能短),最大吞吐量(一定时间内

    2024年02月09日
    浏览(23)
  • 网络协议---TCP协议分析(基于wireshark)

                    Wireshark TCP协议分析 1)TCP使用序列号和确认号提供可靠的数据传输; 2)观察 TCP的拥塞控制算法(慢启动和拥塞避免); 3)TCP接收段实现流量控制的机制; 4)简要地观察TCP连接设置, 5)并调查计算机和服务器之间TCP的连接性能(吞吐量和往返时延

    2024年04月10日
    浏览(38)
  • python基于http的网络通信和网站端口暴露;Python网络编程之HTTP协议的python应用

    HTTP(Hypertext Transfer Protocol)即超文本传输协议,是Web应用程序使用的协议,在Web浏览器和Web服务器之间传递HTML页面和数据。HTTP是基于TCP/IP协议来传输数据的,是一种无状态的协议。 关键特点: 支持客户/服务器模式:Web浏览器作为HTTP客户端通过URL向HTTP服务器发送HTTP请求,

    2024年02月04日
    浏览(38)
  • 网络协议分析:网络性能的防御工具

    作为网络管理员知道管理不断发展的 IT 环境需要付出巨大的努力。无论是对于小型还是大型企业,管理网络以使其可访问并使其性能有效都需要一套监控策略和工具。大多数 IT 管理员需要协议分析器来识别潜在的网络风险并帮助排除故障。与传统分析不同,协议分析器系统

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包