首页 > 其他分享 >某帮的app协议逆向记录

某帮的app协议逆向记录

时间:2024-10-28 09:45:03浏览次数:3  
标签:逆向 rc4 app random server 密钥 key 某帮 md5

花了一天的时间看某帮,apk使用腾讯加固,脱壳后部分大的函数jadx和jeb都反编译失败,全程靠frida hook观察。主要的2个消息:

pluto/app/antispam app 启动时候触发,动态协商密钥。 这里没有签名可重放
1 客户端生成10个字节的随机字符串,假设叫client_random_key。client_random_key按固定格式拼接好,本地硬编码的密钥des加密, 密文bytetobit再bittoint后,再拼上各种本地的环境信息post到服务端
2 服务端返回的数据inttobit再bittobyte后用client_random_key[0:5] + '#G4'作为密钥des解密,得到2个串server_random_key_1, server_random_key_2
3 拿server_random_key_2直接计算md5,假设叫sign_slat,用于业务请求的签名
4 固定串md5 + 版本号md5 + server_random_key_2格式化计算md5后 前后15位交换, 假设叫A。 (A + md5(A))的结果 前后60个字符交换,最后得到rc4的密钥,假设叫base_rc4_key

search/submit/picsearchnew 功能函数,带签名,带时间戳
1 请求的时候 md5(sign_slat格式化 + multipart的key,value字典序排序后拼接成字符串)作为请求包的签名
2 服务端返回的每个内容item都独立一个密钥。 base_rc4_key先解密密钥数组,拿着sub_rc4_key去解密item,再base64_decode后再次用base_rc4_key解密,再gzip解压拿到数据。(非常的绕,直接吐血)

有些地方感觉比较不错
1 动态协商密钥
2 http multipart anti

标签:逆向,rc4,app,random,server,密钥,key,某帮,md5
From: https://www.cnblogs.com/tieyan/p/18509709

相关文章

  • 【不定时更新补充】边学习边用flutter开发一款社区App,记录下每次的踩坑记录。
    目录组件待补充状态setState方法当我们在有状态下的组件(StatefulWidget)时,可以动态的更新组件状态。例如我的组件是展示用户昵称,也包含修改用户昵称的功能。classUserProfilePageextendsStatefulWidget{ UserProfilePage({super.key}); @overrideState<StatefulW......
  • 逆向 | 双进程保护模板
    逆向|双进程保护模板继续补充书中的代码:#include<stdio.h>#include<Windows.h>#define_PEBvoidintFatherProcessMain();intChildProcessMain();//提前声明函数intmain(){ _PEB*pPEB=0; _asm{ moveax,dwordptrfs:[0x18]; moveax,dwordptr......
  • zlibrary数字图书馆最新网址及电脑客户端/app下载
    zlibrary数字图书馆Z-Library是一家电子图书馆,同时也是全球科学图书和学术文献最大的免费资源之一。它拥有庞大的数字档案库,包含超过1400万本书籍,涵盖了多个领域和语种,使得用户能够轻松获取所需的文学作品、学术资料等。此外,Z-Library还在全球42个国家设立了150多个实体书籍交流......
  • js逆向,自动吐环境代码
    functionget_enviroment(proxy_array){for(vari=0;i<proxy_array.length;i++){handler='{\n'+'get:function(target,property,receiver){\n'+'console.log("方法:","get","对象:"......
  • Dynamic DMA mapping Guide(重要的)
    一、前言这是一篇指导驱动工程师如何使用DMAAPI的文档,为了方便理解,文档中给出了伪代码的例程。另外一篇文档dma-api.txt给出了相关API的简明描述,有兴趣也可以看看那一篇,这两份文档在DMAAPI的描述方面是一致的。二、从CPU角度看到的地址和从DMA控制器看到的地址有什么不同?在DM......
  • js逆向实战之某网游登录参数password加密
    声明:本篇文章仅用于知识分享,不得用于其他用途网址:https://www.37.com/加密逻辑访问网址,输入用户名和密码,看触发哪些数据包。注意:这里的流量包要选择all,如果选择fetch/XHR则看不到任何数据包。明显看到password被加密了,先去搜索url中的关键字api/login.php。可以看到......
  • 通过duxapp提供的基础方法、UI组件、全局样式,快速编写项目
    使用duxapp,我是如何实现快速完成项目开发的?像下面这个例子,这个项目有140多个页面,但是真实的开发时间,在熟练使用duxapp的情况下,不会超过两周,并且可以将它兼容APP、小程序、H5这里仅展示了其中一部分页面,这个项目主要包含下这些功能购物订单流程售后退换文章发布门店功能......
  • zlibrary镜像网页,zlibrary电脑客户端/app下载
    Z-Library,也被广泛称为BookFinder.Z-Library或简称Z-Lib,是一个广受欢迎的数字图书馆和电子书存储库。以下是对Z-Library的详细介绍:一、概述Z-Library自称为“世界上最大的免费电子书库”,拥有超过10,000,000+本电子书和84,000,000+篇文章供用户免费下载。这些资源涵盖了广泛的学......
  • js逆向实战之某天下登陆参数pwd加密逻辑
    声明:本篇文章仅用于知识分享,不得用于其它用途网址:https://passport.fang.com/加密逻辑随便输入用户名和密码,看触发的数据包。可以看到pwd明显被加密了,全局搜索url中的关键字loginwithpwdStrong.api。只有两处,全部打上断点,重新登录一次,看触发哪个。触发了jquery这里,并且......
  • 基于SpringBoot+Vue+uniapp的学生知识成果展示与交流的详细设计和实现(源码+lw+部署文
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......