开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 28194|回复: 10
收起左侧

[Android逆向] secret算法

[复制链接]
结帖率:100% (16/16)
发表于 2021-4-13 17:07:59 | 显示全部楼层 |阅读模式   河南省郑州市
一个客户的单子,东西做完发成品过去人跑了。。留着没什么用就发出来吧。。

没什么技术含量,大佬可以直接跳过本帖


正文开始

客户需要做注册登录加好友私聊  本文仅分享注册和登录时要用到的secret算法  

先抓包看下  基本上每一步都是需要一个salt和secret  这边就随便找个参数最少的来看

  1. :method: GET
  2. :path: /verify/telephone?verifyType=1&telephone=18888888889&areaCode=86&language=zh&salt=1617571107345&secret=NBrkzyecuw%2BpU%2BngzlaXqw%3D%3D
  3. :authority: imapi8092.michat66.com
  4. :scheme: https
  5. user-agent: shiku_im/1.0.6 (Linux; U; Android 6.0.1; MI 4LTE Build/MMB29M)
  6. accept-encoding: gzip
复制代码

apk丢进jeb(本来是打算动态调试的,结果发现算法并不复杂。。。动态调试都没用上)

Ctrl+F 直接搜verify/telephone   




  1. iput-object         v1, p0, AppConfig->VERIFY_TELEPHONE:String
复制代码


这边赋值了一下,后面继续搜verify/telephone也没有其他结果,所以后面应该是直接调用了这个AppConfig中的VERIFY_TELEPHONE  继续搜 VERIFY_TELEPHONE




对比抓包得到的参数  除了salt和secret外 还缺少一个zh  解析一下看看



直接跟进去



这一步可以看到  判断了一下是tw还是zh 然后将language字段加入了get的url中  至此就能确定这确实是对应了我们抓的这个包

build方法传过来的arg4为true  继续跟addMac



继续跟
  1. LoginSecureHelper.generateHttpParam
复制代码


继续跟  LoginSecureHelper.generateBeforeLoginParam





  1. String v0 = (String)arg5.remove("salt");
  2.         if(v0 == null) {
  3.             v0 = String.valueOf(System.currentTimeMillis());
  4.         }
复制代码
这一部分是从传过来的arg5中移除掉salt并且将salt的值赋给v0

如果v0为空 就取当前时间戳

没什么用 主要跟一下 MAC.encodeBase64


继续跟MAC.encode



算法就出来了  Hmac-MD5  然后base64  结合上一步  可以获取到加密用的秘钥



易语言的字节集来表示的话  需要吧0x的十六进制转换为10进制 所以应该是

{ -44, 29, 140, -39, -113, 0, -78, 4, -23, -128, 9, -104, -20, -8, 66, 126 }

"" + Parameter.joinValues(arg5) + v0.getBytes()

这边的v0上面也看到了  是时间戳  下面赋值 arg5.put("salt", v0);

getBytes() 在易语言表示的话  到字节集()

接下来就是跟一下 Parameter.joinValues 看看加密的时候都用到了什么东西


StringBuilder v0 = new StringBuilder();
        for(Object v1: arg2.values()) {
            v0.append(((String)v1));
        }

        return v0.toString();



这块可以看到 仅仅获取了一下值  没有用到参数名 所以根据抓包得到的数据来进行加密的话 应该是

86zh1888888888911617571107345

其中
86是 areaCode
zh是 language
18888888889是 telephone
1是verifyType
1617571107345是salt


另外值得一提的是 转换为字节集后 直接使用libeay32.dll中的Hmac计算 得到的结果和Java计算得到的结果是有差异的

解决:https://bbs.125.la/forum.php?mod=viewthread&tid=14071237

附上代码

  
tel = 到文本 (手机号)
secret = 编码_URL编码 (到文本 (编码_BASE64编码A (CryptoAPI类.Hmac (到字节集 (“86zh” + tel + “11617571107345”), { -44, 29, 140, -39, -113, 0, -78, 4, -23, -128, 9, -104, -20, -8, 66, 126 }, #CALG_MD5 ))), 真, 真, , )
url = https://imapi8092.michat66.com/v ... fyType=1&telephone=” + tel + “&areaCode=86&language=zh&salt=1617571107345&secret=” + secret





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2好评 +2 精币 +2 收起 理由
一剑磨十年 + 1 + 1 感谢分享,很给力!~
¢刀丛里的诗 + 1 + 1 感谢分享,很给力!~

查看全部评分

签到天数: 6 天

发表于 2022-6-1 23:57:16 | 显示全部楼层   广东省湛江市
不错不错,感谢分享,感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-2-9 13:42:28 | 显示全部楼层   内蒙古自治区包头市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2021-5-9 17:08:36 | 显示全部楼层   湖北省天门市
感谢分析
回复 支持 反对

使用道具 举报

结帖率:52% (12/23)

签到天数: 4 天

发表于 2021-4-26 08:05:23 高大上手机用户 | 显示全部楼层   江苏省盐城市
什么app  想拿来练练手
回复 支持 反对

使用道具 举报

结帖率:93% (126/136)
发表于 2021-4-14 10:55:42 | 显示全部楼层   广东省云浮市
mogenle 发表于 2021-4-14 10:49
联系方式多少。浴聊遇到一些问题请教下

OICQ1414019195
回复 支持 反对

使用道具 举报

结帖率:50% (9/18)
发表于 2021-4-14 10:49:10 高大上手机用户 | 显示全部楼层   山东省临沂市
千面萌萌 发表于 2021-4-13 18:35
app名字:飞讯,言信,裕聊,飞迅,还是什么~~~~  刚好做过

联系方式多少。浴聊遇到一些问题请教下
回复 支持 反对

使用道具 举报

结帖率:97% (369/381)

签到天数: 20 天

发表于 2021-4-13 20:12:42 | 显示全部楼层   福建省泉州市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:93% (126/136)
发表于 2021-4-13 18:37:32 | 显示全部楼层   广东省云浮市
HMAC_md5 算法在精易模块就有,只不过没有公开。
回复 支持 反对

使用道具 举报

结帖率:93% (126/136)
发表于 2021-4-13 18:35:28 | 显示全部楼层   广东省云浮市
app名字:飞讯,言信,裕聊,飞迅,还是什么~~~~  刚好做过
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表