实验室最近想要分析下oppo软件商店的协议写爬虫,记录下分析sign加密字段的流程,比较简单。
应用商店的搜索、详情页以及类别请求用的sign的构成与加密方式都相同:

反编译搜索关键字段:

可以看到最后的加密方法为HashUtil.md5Hex,那么参数肯定是加密前的明文了,对md5Hex进行hook:

# -*- coding: utf-8 -*-
import frida, sys
def on_message(message, data):if message['type'] == 'send':print("[*] {0}".format(message['payload']))else:print(message)
jscode = """Java.perform(function(){var temp = Java.use('com.nearme.common.util.HashUtil');temp.md5Hex.implementation = function(arg1) { send("Hook start....");var result = this.md5Hex(arg1);send("***arg1***:" + arg1);send("***result***" + result);return result;};
});
"""
process = frida.get_usb_device().attach('com.oppo.market')
script = process.create_script(jscode)
script.on('message', on_message)
script.load()
sys.stdin.read()

得到加密前的明文:

Sign字段构成:标黄部分为固定值,绿色部分为GET请求Header中ocs字段,为设备信息不同设备不一样,蓝色部分为Header中t字段,固定部分。红色部分为Header中id字段,设备IMEI号码。紫色部分为查询的url,keyword为搜索字。之后蓝色字段为前面ocs字段到url的string的length()值。之后为固定字段。

加密方法:先将上述字符串md5加密,再转换为十六进制。加密方法如下:

hook结果:

安卓逆向之oppo应用商店协议sign加密字段分析相关推荐

  1. 2023安卓逆向 -- 某合伙apk登录加密分析

    接上节课内容 ​​安卓逆向 -- 抓包环境设置(Charles+Postern)​​ 一.分析登录的数据包,加密的数值是登录的密码,看着想md5加密,请求头中,x-sign也是加密的,看着也像md5. ...

  2. native层 安卓_安卓逆向——拼xx协议java层分析

    制丨阿星 整理丨阿星 老铁们大家好,今天小编给大家带来很实用的技巧叫拼xx协议java层分析,有啥不足的地方望大家指点指点! 首先抓包  反编译 这个时间段我们方法剖析一下 找到onclick 看他的 ...

  3. 1.Nexus 5x 刷机Android8.1 root-《frida安卓逆向协议爬虫》

    <frida安卓逆向协议爬虫>系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 目录 前言 如今 ...

  4. 安卓逆向--豆瓣app签名sign

    声明 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!! 前言 今天我们要分 ...

  5. 安卓逆向 实战 某猫免费小说验证码请求协议分析脱机执行

    前言 这篇文章脱了好久才写完,眼看假期快结束了才快马加鞭的写完,有些地方可能写的也不是很清楚,等以后了再慢慢改进写作的技巧.该篇文章主要对一个小说软件的验证码请求协议进行了分析并实现了脱机模拟,详情见 ...

  6. 逆向学习(二) 安卓逆向

    安卓逆向 0.准备工作和大纲 JAVA环境.apktool.android APK.JADX.keytool.jarsigner(最后两个为JAVASDK自带工具) java基本知识:源代码文件为XX ...

  7. 猿人学安卓逆向对抗比赛(1-5题)

    猿人学安卓逆向对抗比赛(1-5题) 题目大纲 第一题:java层加密 第二题:so层加密 第三题:so层加密带混淆 第四题:grpc 第五题:双向认证 题目大纲 题号 题目 一 java层加密 二 s ...

  8. 安卓逆向_24( 一 ) --- Hook 框架 frida( Hook Java层 和 so层) )

    From:Hook 神器家族的 Frida 工具使用详解:https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frid ...

  9. 安卓逆向_21 --- Java层和so层的反调试( IDA 动态调试 JNI_OnLoad、init_array下断)

    1. 安卓程序动态调试条件 安卓程序动态调试条件 ( 2个满足1个即可 ): 1. 在 AndroidMainfest.xml ---> application 标签下,设置或者添加属性 and ...

最新文章

  1. getBoundingClientRect的用法
  2. websocket实现单聊
  3. linux+apache+mysql+php
  4. php+js实现异步图片上传,JavaScript实现异步图像上传功能
  5. 【优化覆盖】基于matlab粒子群算法求解传感器覆盖优化问题【含Matlab源码 598期】
  6. Deepin安装和设置Kodi,实现手机APP投屏和IPTV功能
  7. Vue实现户籍管理系统户籍信息的添加与删除
  8. 网页从数据库读取出现乱码问题
  9. 工具说明书 - FTDI芯片的USB转UART串口线
  10. 青岛大学计算机学院住宿条件,青大学霸宿舍 | 不一般的经济女神与“程序猿”的考研路...
  11. c程序设计语言第五单元,一年级语文下册第五单元教案
  12. 迷途Emlog模板全站好看的透明变色模板+源码
  13. 我是怎么做到开源系统的角色权限功能的?
  14. Pair project(刘昊岩11061156 黄明源11061186)
  15. 笔记本手机都能用,轻松实现100W快充,AOHi 100W氮化镓PD 充电器体验
  16. 16款设计师必知晓的思维导图工具
  17. 编写有效用例笔记- 第六章 前置条件、触发事件和保证
  18. stm32 ADC hal库实现
  19. 装完 Ubuntu 13.10 该干的事儿
  20. 如何查阅NLP资料 转自https://blog.csdn.net/qq_27009517/article/details/80841146

热门文章

  1. 珍惜你的爱人,祝福你爱的人,善待爱你的人
  2. 巧用Rundll32命令安装和卸载Windows程序
  3. Run a dll as an App提示的解决
  4. 医用气体歧管的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  5. 软件乱码和中文路径识别不了问题
  6. android移动开发基础课后答案,《ANDROID移动应用开发基础》见面课及答案
  7. 计算机辅助设计maya,计算机辅助设计——MAYA.docx
  8. nyoj 312-20岁的生日
  9. Android字体描边
  10. C练习记录8——数字字符转换成相对应的数值