拼多多anti-token分析
前言:拼多多charles抓包分析发现跟商品相关的请求头里都带了一个anti-token的字段且每次都不一样,那么下面的操作就从分析anti-token开始了
1.jadx反编译直接搜索

选中跟http相关的类对这个方法进行打印堆栈



结合堆栈方法调用的情况找到具体anti-token是由拦截器类f.a方法调用的,在http.a.c()方法中生成并且http.p.e()方法中加入请求头
在http.a.c()方法中有个一个判断条件如果为true则走d.a().e()方法生成anti-token

如果为false则走j()方法生成anti-token

hook这个i()方法返回值可知获取商品详情接口返回值为false所以走的是j()方法进行计算anti-token。

SecureNative.deviceInfo3()方法生成,传入的str为pdd生成的固定id 一个字符串.



根据hook_libart 得到info3()方法是在libodd_secure.so中,那么ida打开看看这个so包

2.这部分我们采用unidbg+jnitrace+frida相结合的方式
unidbg前期准备的代码这里就不发了直接调用这个info3方法

这里提示调用gad()方法返回一个字符串那么frida hook这个方法拿到这个值 如下图 一个固定的字符串
16位长度看着像AES的密钥

继续补环境 这里简单补环境就不发了

补完简单的环境代码后,再次运行报这个错误 看错误应该是缺少文件 ,那么看看日志需要补那个文件
继续运行,没有返回值报空指针。execve()函数执行的时候程序exit了这里我们返回对象本身.

execve()函数执行的时候程序exit了

execve filename=/system/bin/sh, args=[sh, -c, cat /proc/sys/kernel/random/boot_id]
这个函数相当于查看 boot_id这个文件信息

捋顺下逻辑应该就是先fork进程 然后在子进程中读取这个文件 然后把他写入pip中
那么自定义syscallhandler后 再次运行成功拿到结果
全部代码如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
|
相关文章:
拼多多anti-token分析
前言:拼多多charles抓包分析发现跟商品相关的请求头里都带了一个anti-token的字段且每次都不一样,那么下面的操作就从分析anti-token开始了 1.jadx反编译直接搜索 选中跟http相关的类对这个方法进行打印堆栈 结合堆栈方法调用的情况找到具体anti-token是由拦截器类f…...
基于微信小程序的中医体质辨识文体活动的设计与实现(Java+spring boot+MySQL)
获取源码或者论文请私信博主 演示视频: 基于微信小程序的中医体质辨识文体活动的设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java s…...
4.16 TCP 协议有什么缺陷?
目录 升级 TCP 的工作很困难 TCP 建立连接的延迟 TCP 存在队头阻塞问题 网络迁移需要重新建立 TCP 连接 升级 TCP 的工作很困难;TCP 建立连接的延迟;TCP 存在队头阻塞问题;网络迁移需要重新建立 TCP 连接; 升级 TCP 的工作很…...
VMware 修改ip地址 虚拟机静态ip设置 centos动态ip修改为静态ip地址 centos静态ip地址 vmware修改ip地址
虚拟机的centos服务器经常变换ip,测试起来有些麻烦,故将动态ip修改为静态ip 1. 查看vmware 虚拟机网络配置: 点击编辑,打开虚拟网络配置 2. 选中nat模式,点击nat设置,最终获取网关ip: 192.168.164.2 3. 进…...
Deepin添加Ubuntu源
升级Deepin V23后,无法安装Zeal了,后面发现可以通过ubuntu源来安装。参考了以下两个文档。 添加Ubuntu源1 添加Ubuntu源2 1.添加ubuntu.list sudo vim /etc/apt/sources.list.d/ubuntu.list 2.添加中科大Ubuntu源 deb http://mirrors.ustc.edu.cn/…...
Mysql的多表查询和索引
MySQL 多表查询 当两个表查询时,从第一张表中取出一行和第二张表的每一行进行组合 返回结果含有两张表的所有列,一共返回的记录数第一张表行数*第二张表的行数(笛卡尔积) -- ?显示雇员名,雇员工资及所在部门的名字 【笛卡尔集…...
Java设计模式之建造者模式
建造者模式,又称生成器模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 三个角色:建造者、具体的建造者、监工、使用者 建造者角色:定义生成实例所需要的所有方法; 具体的建…...
H5商城公众号商城系统源码 积分兑换商城系统独立后台
网购商城系统源码 积分兑换商城系统源码 独立后台附教程 测试环境:NginxPHP7.0MySQL5.6thinkphp伪静态...
华为OD机试 - 完全数计算(Java 2023 B卷 100分)
目录 专栏导读一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示六、纵览全局 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》。 刷的越多&…...
每日一学——Vlan配置
VLAN(Virtual Local Area Network)是虚拟局域网的缩写,它是一种将多台主机和网络设备逻辑上划分成不同的局域网的技术。VLAN的实施可以基于端口、MAC地址、协议等多种方式进行。 VLAN的主要功能包括: 分割网络:VLAN可…...
Pimpl模式
写在前面 Pimpl(Pointer to implementation,又称作“编译防火墙”) 是一种减少代码依赖和编译时间的C编程技巧,其基本思想是将一个外部可见类(visible class)的实现细节(一般是所有私有的非虚成员)放在一个单独的实现类(implemen…...
Python 密码破解指南:5~9
协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【OpenDocCN 饱和式翻译计划】,采用译后编辑(MTPE)流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神,试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 五、凯…...
ARM驱动开发
驱动 以来内核编译,依赖内核执行 驱动可以同时执行多份代码 没main 驱动是依赖内核的框架和操作硬件的过程 一,Linux系统组成 app: [0-3G] ---------------------------------系统调用(软中断…...
Matlab图像处理-加法运算
加法运算 图像加法运算的一个应用是将一幅图像的内容叠加到另一幅图像上,生成叠加图像效果,或给图像中每个像素叠加常数改变图像的亮度。 在MATLAB图像处理工具箱中提供的函数imadd()可实现两幅图像的相加或者一幅图像和常量的相加。 程序代码 I1 i…...
Docker容器学习:搭建自己专属的LAMP环境
目录 编写Dockerfile 1.文件内容需求: 2.值得注意的是centos6官方源已下线,所以需要切换centos-vault源! 3.Dockerfile内容 4.进入到 lamp 开始构建镜像 推送镜像到私有仓库 1.把要上传的镜像打上合适的标签 2.登录harbor仓库 3.上传镜…...
问道管理:沪指弱势震荡跌0.38%,金融、地产等板块走弱,算力概念等活跃
21日早盘,沪指盘中弱势震荡下探,创业板指一度跌逾1%失守2100点;北向资金小幅净流出。 截至午间收盘,沪指跌0.38%报3120.18点,深成指跌0.24%,创业板指跌0.62%;两市算计成交4238亿元,…...
OpenWrt package - BuildPackage
一. 前言 该文章所涉及到的知识都来自OpenWrt Wiki官网。OpenWrt的软件编译模板系统使软件移植到OpenWrt变得非常简单,如果在一个典型的package目录下,我们可以发现3个东西:package/Makefile,package/patches,package/…...
C++三体星战小游戏
物理小游戏,懒得 写注释。 游戏代码 #include<bits/stdc.h> #include<bits/stdc.h> #include<windows.h> #include<conio.h> using namespace std; int toint(double a){return ((int)(a*105))/10;} int rand(int a){return rand()%a;} vo…...
【zip密码】修改zip压缩包密码
Zip压缩包设置了密码,想要修改密码,我们该如何操作?今天分享两个修改zip压缩包密码的方法。 方法一: 输入密码,将zip压缩包里面的文件解压出来。 然后找到解压出来的文件,将文件重新压缩,并且…...
小小讲一下Linux基本命令
Linux是一套类Unix的操作系统,这套系统最大的优点就是安全便捷,快速高效。这就为它赢得了广大的市场空间。但是呢,Linux系统虽然广为流行,它也不是那么容易就可以学会的。比如说,如果我们不懂得Linux系统的基本操作命令…...
小白进阶挖洞大神 SRC 漏洞挖掘全流程实战指南
凌晨两点,大学生张三盯着电脑屏幕突然跳出的「高危漏洞奖励到账」提示,手抖得差点打翻泡面——这是他挖到人生第一个SRC漏洞(某电商平台的越权访问漏洞)后收到的第一笔奖金,金额足够支付三个月生活费。这样的故事&…...
LCD人体秤嵌入式方案全解析:从传感器到低功耗设计
1. 项目概述:从“称重”到“健康管理”的智能跨越“电子秤方案——LCD人体秤方案”这个标题,乍一看似乎只是关于一个简单的称重工具。但在这个全民关注健康、数据驱动生活的时代,一台现代的人体秤早已超越了“称体重”的单一功能。它集成了传…...
糖尿病风险预测系统:机器学习算法对比与区块链边缘计算架构实践
1. 项目概述与核心价值在慢性病管理领域,尤其是糖尿病防控,早期预警和精准风险评估是降低发病率和医疗负担的关键。传统的风险评估多依赖于医生经验和简单的问卷,难以处理多维度、非线性的复杂风险因素关联。近年来,以机器学习为代…...
3分钟部署OpenClaw最新版v2026.4.26指南,可视化小白可用操作简单
装OpenClaw这件事,说难不难,但真要踩到坑里也挺耽误时间的。今天把我踩过的几个坑整理出来,给大家省点排查时间。 下载地址:https://top.wokk.cn,有详细版本说明可以先看一下。 坑1:PowerShell执行策略拦路…...
使用workbuddy 30分钟搭建微信小程序
前言 今天发现一个超好用的工具WorkBuddy可以非常快速地进行搭建小程序,还有进行一些代码的修改,简直是一个开发小程序的好帮手,今天用一节很小的短篇介绍一下整个创建部署和搭建过程。 第一步下载workbuddy 创建小程序 首先需要下载work…...
Paramiko vs. Fabric vs. Ansible:Python自动化运维三剑客,我该选哪个?
Paramiko vs. Fabric vs. Ansible:Python自动化运维三剑客深度对比 当服务器数量从个位数增长到三位数时,手工登录每台机器执行命令的效率瓶颈就会暴露无遗。作为Python技术栈的团队,我们通常会在Paramiko、Fabric和Ansible这三个工具中做出选…...
常见网站呀
1、deepseek 2、Kimi 3、智谱清言 4、文小言 5、globaldossier 6、豆包 7、密塔 8、必应 9、百度 10、himmpat 11、web of science...
5个理由让你立即尝试ImStudio:实时GUI布局设计器
5个理由让你立即尝试ImStudio:实时GUI布局设计器 【免费下载链接】ImStudio GUI layout designer for Dear ImGui 项目地址: https://gitcode.com/gh_mirrors/im/ImStudio ImStudio是一个基于Dear ImGui的实时GUI布局设计器,专为游戏开发者和应用…...
数据库局部变量,全局变量,流程控制
前言知识点什么时候用?局部变量调试脚本、存储过程参数、临时存值全局变量获取执行状态、错误处理IF/WHILE条件判断、批量数据处理视图简化复杂查询、统一查询逻辑索引加快查询速度函数封装可复用的计算逻辑存储过程封装复杂业务、批量操作一SQL局部变量变量1.是什么…...
opencode使用安装
确保已经安装好node npm安装opencode C:\WINDOWS\system32>npm install -g opencode-aiadded 3 packages in 2mC:\WINDOWS\system32>npm安装mcp-chrome C:\WINDOWS\system32>npm...
