• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

iOS逆向某车:家sign签名

武飞扬头像
移动端小陈
帮助1

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

1.目标

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

2.操作环境

  • frida

  • mac系统

  • Charles抓包

  • 越狱iPhone

3.流程

寻找切入点

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

学新通

image-20220722100915402

静态分析

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

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

动态分析

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

  1.  
    {
  2.  
      onEnter(log, args, state) {
  3.  
       log(`CC_MD5(${args[0].readUtf8String()})`); 
  4.  
      },
  5.  
      onLeave(log, retval, state) {
  6.  
        log(`CC_MD5()${hexdump(retval, {length:16})}`);
  7.  
      }
  8.  
    }

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

  1.  
    witchan@witchandeAir ~ % frida-trace -UF -i CC_MD5
  2.  
    Instrumenting...
  3.  
    CC_MD5: Loaded handler at "/Users/witchan/__handlers__/libcommonCrypto.dylib/CC_MD5.js"
  4.  
    Started tracing 1 function. Press Ctrl to stop.
  5.  
               /* TID 0x303 */
  6.  
      6214 ms  CC_MD5(2222)
  7.  
      6215 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  8.  
    16f051548  93 453 58 00 b1 cb a8 f9 6572 f7 216 11  .KSX.....j]r./..
  9.  
      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@$)
  10.  
      6216 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  11.  
    16f051478  50 03 73 09 75 58 bb 53 72 80 20 54 b1 39 2b d4  P.s.uX.Sr. T.9 .
  12.  
      6219 ms  CC_MD5(https://118.116.0.118/api/UserApi/StandardLoginAHLoginAccountLoginService)
  13.  
      6219 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  14.  
    16f051118  17 987 99 d6 48 43 ab 69 a0 b8 62 1d d0 a8 0d  .....HC.i..b....
  15.  
      6221 ms  CC_MD5(MGCopyAnswerDeviceName)
  16.  
      6221 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  17.  
    16f0504c8  ae 4a a5 c0 f7 11 108 b1 63 88 1a a4 f8 da 9f  .J.......c......
  18.  
      6221 ms  CC_MD5(MGCopyAnswerProductVersion)
  19.  
      6221 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  20.  
    16f0504c8  a8 d3 576 55 0a f8 1f d8 96 80d a3 29 b0 80  ..]vU........)..
  21.  
      6222 ms  CC_MD5(MGCopyAnswerDeviceName)
  22.  
      6222 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  23.  
    16f0504c8  ae 4a a5 c0 f7 11 108 b1 63 88 1a a4 f8 da 9f  .J.......c......
  24.  
      6222 ms  CC_MD5(MGCopyAnswerProductVersion)
  25.  
      6222 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  26.  
    16f0504c8  a8 d3 576 55 0a f8 1f d8 96 80d a3 29 b0 80  ..]vU........)..
  27.  
      6223 ms  CC_MD5(@7U$aPOE@$apisign1|a2b93cb5da721aa55ca1a87b2e919b3d3cd214e6|autohomebrush|1658455619@7U$aPOE@$)
  28.  
      6223 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  29.  
    16f050498  70 c0 71 037 23 329 d8 44 02 d7 f6 20 a5 0c  p.q.7#:).D... ..
  30.  
      6227 ms  CC_MD5(MGCopyAnswerProductVersion)
  31.  
      6227 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  32.  
    16f0527b8  a8 d3 576 55 0a f8 1f d8 96 80d a3 29 b0 80  ..]vU........)..
  33.  
      6228 ms  CC_MD5(MGCopyAnswerProductVersion)
  34.  
      6228 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  35.  
    16f052748  a8 d3 576 55 0a f8 1f d8 96 80d a3 29 b0 80  ..]vU........)..
  36.  
               /* TID 0x552bf */
学新通

搜索 _sign值500373097558BB5372802054B1392BD4后发现结果:

  1.  
      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@$)
  2.  
      6216 ms  CC_MD5()            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  0123456789ABCDEF
  3.  
    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 iPhoneisCheckModeratorsRemote1isapp1logincode11111111111reffersessionida2b93cb5da721aa55ca1a87b2e919b3d3cd214e6showmob1userpwd934B535800B1CBA8F96A5D72F72F1611validcode3333@7U

逐个分析:

@7U前缀

Version1版本

_appidapp.iphone 应用标识

_timestamp1658455619时间戳

autohomeuaiPhone 12.5.5 autohome 11.25.0 iPhone手机UA

isCheckModeratorsRemote1不晓得

isapp1是否为手机

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

reffer来源

sessionida2b93cb5da721aa55ca1a87b2e919b3d3cd214e6队列id

showmob1不晓得

userpwd934B535800B1CBA8F96A5D72F72F1611密码MD5

validcode3333验证码

@7U 后缀

End

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

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcbckc
系列文章
更多 icon
同类精品
更多 icon
继续加载