You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确定移动APP向API发送POST请求的密码加密算法以适配Python请求

加密逻辑逆向解决思路

首先排除无关项

  • CERT.SF、CERT.RSA是安卓APK的系统签名文件,和业务层密码加密逻辑无关联,可直接排除。
  • 你找到的hashCode相加逻辑只是普通哈希计算片段,和密码加密流程无关,不需要在混淆代码中搜索加密相关关键词的优先级为:Cipher > encrypt > Base64 > SecretKey,远高于搜索password。

核心特征对应算法方向

相同明文每次加密输出不同,符合两类加密场景匹配该特征:

  1. 带随机IV的对称加密,最常见为AES/CBC/PKCS5Padding,加密完成后做Base64编码,你看到的==`是Base64填充后缀,不是加密结果不是Base64,而是明文先加密再转Base64,所以明文直接Base64的结果和加密后转Base64的结果不同。
  2. 非对称公钥加密,最常见为RSA公钥加密,公钥一般硬编码在APK代码中,可搜索代码内长度32位以上的Base64常量字符串排查公钥内容。

落地操作步骤

  1. 优先用Frida Hook系统加密类方法,直接抓取加密过程:
    Hook javax.crypto.Cipher类的init、doFinal方法,打印入参的明文、密钥、IV、加密后字节数组,和Burp抓包拿到的密码字段做Base64转码对比,匹配成功即可直接拿到完整算法、密钥、IV生成规则。
  2. 不想手动还原算法可以用Frida RPC直接调用APP内部加密方法,Python代码对接Frida服务传入明文密码,直接返回符合要求的加密结果,无需逆向完整算法,实现成本最低。

内容的提问来源于stack exchange,提问作者Abdellah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:36:03