阅读文档过程遇到任何问题,请关注公众号【移动端AndroidiOS开发技术分享】或加QQ群【309580013

1.目标

分析某车之家sign签名算法实现

2.操作环境

3.流程

寻找切入点

通过Charles抓包获取关键词_sign,这也就是我们切入点

image-20220722100915402

静态分析

静态分析前,我们先观察sign值的特征比如32位就有可能md5,数字字母加+/然后以=号结尾的,就有可能base64。

通过肉眼观察,发现sign签名长度是32位大写,第一直觉就是MD5,接下来直接进入动态调试hook md5函数看看加密是否md5

动态分析

使用frida工具frida-trace -UF -i CC_MD5命令跟踪CC_MD5函数代码如下

{
  onEnter(logargsstate) {
   log(`CC_MD5(${args[0].readUtf8String()})`); 
  },
  onLeave(logretvalstate) {
    log(`CC_MD5()${hexdump(retval, {length:16})}`);
  }
}

执行frida-trace -UF -i CC_MD5后,点击登录按钮日志输出如下

witchan@witchandeAir ~ % frida-trace -UF -i CC_MD5
Instrumenting...
CC_MD5: Loaded handler at "/Users/witchan/__handlers__/libcommonCrypto.dylib/CC_MD5.js"
Started tracing 1 function. Press Ctrl+C to stop.
           /* TID 0x303 */
  6214 ms  CC_MD5(2222)
  6215 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f051548  93 4b 53 58 00 bcb af9 6a 5d 72 f7 2f 16 11  .KSX.....j]r./..
  6216 ms  CC_MD5(@7U$aPOE@$Version1_appidapp.iphone_timestamp1658455619autohomeuaiPhone 12.5.5 autohome 11.25.0 iPhoneisCheckModeratorsRemote1isapp1logincode%31%31%31%31%31%31%31%31%31%31%31reffersessionida2b93cb5da721aa55ca1a87b2e919b3d3cd214e6showmob1userpwd934B535800B1CBA8F96A5D72F72F1611validcode3333@7U$aPOE@$)
  6216 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f051478  50 03 73 09 75 58 bb 53 72 80 20 54 b1 39 2b d4  P.s.uX.Sr. T.9+.
  6219 ms  CC_MD5(https://118.116.0.118/api/UserApi/StandardLoginAHLoginAccountLoginService)
  6219 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f051118  17 9a 87 99 d6 48 43 ab 69 a0 b8 62 1d d0 a8 0d  .....HC.i..b....
  6221 ms  CC_MD5(MGCopyAnswerDeviceName)
  6221 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f0504c8  ae 4a a5 c0 f7 11 1f 08 b1 63 88 1a a4 f8 da 9f  .J.......c......
  6221 ms  CC_MD5(MGCopyAnswerProductVersion)
  6221 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f0504c8  a8 d3 5d 76 55 0a f8 1f d8 96 8a 0d a3 29 b0 80  ..]vU........)..
  6222 ms  CC_MD5(MGCopyAnswerDeviceName)
  6222 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f0504c8  ae 4a a5 c0 f7 11 1f 08 b1 63 88 1a a4 f8 da 9f  .J.......c......
  6222 ms  CC_MD5(MGCopyAnswerProductVersion)
  6222 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f0504c8  a8 d3 5d 76 55 0a f8 1f d8 96 8a 0d a3 29 b0 80  ..]vU........)..
  6223 ms  CC_MD5(@7U$aPOE@$apisign1|a2b93cb5da721aa55ca1a87b2e919b3d3cd214e6|autohomebrush|1658455619@7U$aPOE@$)
  6223 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f050498  70 c0 71 0b 37 23 3a 29 d8 44 02 d7 f6 20 a5 0c  p.q.7#:).D... ..
  6227 ms  CC_MD5(MGCopyAnswerProductVersion)
  6227 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f0527b8  a8 d3 5d 76 55 0a f8 1f d8 96 8a 0d a3 29 b0 80  ..]vU........)..
  6228 ms  CC_MD5(MGCopyAnswerProductVersion)
  6228 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f052748  a8 d3 5d 76 55 0a f8 1f d8 96 8a 0d a3 29 b0 80  ..]vU........)..
           /* TID 0x552bf */

搜索 _sign值500373097558BB5372802054B1392BD4后发现结果

  6216 ms  CC_MD5(@7U$aPOE@$Version1_appidapp.iphone_timestamp1658455619autohomeuaiPhone 12.5.5 autohome 11.25.0 iPhoneisCheckModeratorsRemote1isapp1logincode%31%31%31%31%31%31%31%31%31%31%31reffersessionida2b93cb5da721aa55ca1a87b2e919b3d3cd214e6showmob1userpwd934B535800B1CBA8F96A5D72F72F1611validcode3333@7U$aPOE@$)
  6216 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
16f051478  50 03 73 09 75 58 bb 53 72 80 20 54 b1 39 2b d4  P.s.uX.Sr. T.9+.

结果

sign就是一个简单的32位的大写MD5

入参:@7UVersion1_appidapp.iphone_timestamp1658455619autohomeuaiPhone 12.5.5 autohome 11.25.0 iPhoneisCheckModeratorsRemote1isapp1logincode%31%31%31%31%31%31%31%31%31%31%31reffersessionida2b93cb5da721aa55ca1a87b2e919b3d3cd214e6showmob1userpwd934B535800B1CBA8F96A5D72F72F1611validcode3333@7U

逐个分析:

@7U前缀

Version1版本

_appidapp.iphone 应用标识

_timestamp1658455619时间

autohomeuaiPhone 12.5.5 autohome 11.25.0 iPhone手机UA

isCheckModeratorsRemote1不晓得

isapp1是否手机

logincode%31%31%31%31%31%31%31%31%31%31%31手机号,原始手机号为11111111111。当入参为00123456789时,该字段为00%3123456789,结论:string里的1替换为%31

reffer来源

sessionida2b93cb5da721aa55ca1a87b2e919b3d3cd214e6队列id

showmob1不晓得

userpwd934B535800B1CBA8F96A5D72F72F1611密码MD5

validcode3333验证码

@7U 后缀

End

阅读文档过程中遇到任何问题,请关注公众号【移动端Android和iOS开发技术分享】或加QQ群【309580013

原文地址:https://blog.csdn.net/a3221002/article/details/126127545

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_48804.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注