拼夕夕anti-token算法

admin 2025-12-22 04:22:29 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细分析了拼多多应用中的anti-token算法生成机制,通过逆向工程libpdd_secure.so库,发现该算法采用AES加密和Base64编码的组合方式。作者使用Frida工具进行动态分析,定位关键代码位置,确定初始密钥为pdd_aes_180121_1,并指出待加密数据以1F8B开头,可能是GZIP压缩数据。文章提供了完整的逆向分析过程,包括关键断点设置、内存监控和算法还原步骤,对于移动应用安全研究和逆向工程具有重要参考价值。 综合评分: 85 文章分类: 逆向分析,移动安全,二进制安全,漏洞分析


cover_image

拼夕夕anti-token算法

原创

Q

Frida and So

2025年12月7日 13:57 上海

声明

本文仅供学习交流使用,如有侵权请联系删除!!

目标参数

libpdd_secure.so:anti-token

补环境

出值为先,随便补补就出了,需要特别处理的地方将时间戳与uuid固定保证结果唯一性。

参数结构

前缀固定+加密后指纹数据

算法还原

出值位置NewStringUTF,在0x3ae6c处下断点该位置是jni调用位置,打印x1参数,存储的正是最后的密文,对0x126b0000进行读写监控。

前缀2af不用管,Trace一份日志,搜索0x1c17e4,向上溯源,存在lsr并且是2,并且下一条指令是从0x121ce65c中获取,0x121ce65c八成是Base64码表,直接在0x1c17d4处下断点,标准的Base64编码。

data value = 0x00666132, PC=RX@0x1236c1c0[libc.so]0x1c1c0, LR=RX@0x1203aeec[libpdd_secure.so]0x3aeec
data value = 0x57, PC=RX@0x121c17e4[libpdd_secure.so]0x1c17e4

0x16是索引,0x59是待编码值,向上溯源,发现从0x126aa000读取,对该地址进行内存监控,打开so文件,跳转到0x1bfe28

0x121c17c0: "ldrb w3, [x0], #1" x0=0x126aa000 => w3=0x59 x0=0x126aa001
data value = 0xbc17a82ca7644959, PC=RX@0x121bfe28[libpdd_secure.so]0x1bfe28, LR=0x1bfe18

随便点几个函数,在sub_1BEE30发现SBox盒,对该函数地址下断,自行验证:

  • x0:待加密数据。
  • x1iv(开始全0认为存返回结果,后续验证发现是iv)。初始iv为全0
  • x2:扩展后的key44176字节。初始密钥为pdd_aes_180121_1
  • x3:加密长度。

第一轮结果,都是跟前面对的上的。

待加密数据为1F 8B开头,补环境也会碰到GZIP,直接反向解密测试,由于以出值为目的的补环境,指纹追踪不现实,算法还原到此结束。


查看原文:《拼夕夕anti-token算法》

评论:0   参与:  5