美文网首页
miyabaobei 的params和sign参数

miyabaobei 的params和sign参数

作者: 朝朝朝朝朝落 | 来源:发表于2021-08-20 09:47 被阅读0次

    app: miyabaobei
    需求: 账密登录, 根据错误提示判断是否注册


    WX20210819-175709.png

    一, 抓包看参数

    WX20210819-175925.png

    frida hook 全局一下看看:


    WX20210819-180008.png

    二, 找到了sign的函数, 看下参数:

    WX20210819-180110.png

    可以看到, 就是data的各项拼接起来的字符串MD5加密

    三, params 解决

    jadx 打开Apk, 搜索关键字:


    WX20210819-180303.png
    WX20210819-180331.png
    WX20210819-180354.png
    WX20210819-180418.png
    WX20210819-180441.png
    WX20210819-180507.png
    WX20210819-180526.png
    WX20210819-180619.png

    密码每次一样就可以, params的逻辑是第二个a()返回list每个元素RSA加密再拼接的结果,代码实现:

    
    import base64
    from Crypto.Cipher import PKCS1_v1_5 as Cipher_pksc1_v1_5
    from Crypto.PublicKey import RSA
     
    def encrpt(str_,):
        public_key = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiwJbb2EeK9ZB4Chyj5/mIVPREod0pJrv3LM2UVtkod+2mPVjV9Xi1E06gUaoexX/ebfRXm1eBwu3LtYbklh5Ji5oFycoUCFhwzhmm8ZtjdkCIicFfxUU4I5NunL6+37+hy43EgCrao5tFgHtnkeR/vNyGfaxdxevPbVEtWlJz6wIDAQAB'
    
        rsakey = RSA.importKey(base64.b64decode(public_key))
        cipher = Cipher_pksc1_v1_5.new(rsakey)
        cipher_text = base64.b64encode(cipher.encrypt(str_.encode()))
        return cipher_text.decode()
     
    str0='miababy1xxxx2222'
    str0=(base64.b64encode(str0.encode())).decode()
    str0='{"name":"'+str0+'","pas'
    str1='sword":"bWlhYmFieWtkejEyMzQ1Njc\u003d"}'
    l_str=[str0,str1]
    params=''
    for i in l_str:
        params+=encrpt(i, public_key)
    
    

    四, 最后

    获得了params ,拼接到str里, 加密sign

    def get_md5(str_arg):
        md5 = hashlib.md5()
        md5.update(str_arg.encode('utf_8'))
        str_arg = md5.hexdigest()
    
        return str_arg
    time1=str(int(time.time()*1000))
    time2=str(int(time.time()))
    data = {
        'sign': 'dfe225c8c76a86ea704c039acda54b79',
        'dvc_id': 'ca69059e58fc07e7561627f3ca950d93',
        'session': '34caf86f72d8d1674301e83b4cbf0fa7',
        'channel_code': 'wandoujia',
        'version': 'android_9_7_4',
        'bi_session_id': f'ca69059e58fc07e7561627f3ca950d93_{time1}',
        'app_id': 'android_app_id',
        'user_plus_type': '0',
        'timestamp': time2,
        'no_encrypt': '0',
        'auth_session': '',
        'params': params
    }
    
    sign=f'app_idandroid_app_idauth_sessionbi_session_idca69059e58fc07e7561627f3ca950d93_{time1}channel_codewandoujiadvc_idca69059e58fc07e7561627f3ca950d93no_encrypt0params{params}session34caf86f72d8d1674301e83b4cbf0fa7timestamp{time2}user_plus_type0versionandroid_9_7_4MiaBaoBei@0!30306'
    sign=get_md5(sign)
    data.update({'sign':sign})
    

    相关文章

      网友评论

          本文标题:miyabaobei 的params和sign参数

          本文链接:https://www.haomeiwen.com/subject/nweabltx.html