jvmeiyoupin antifraud_sign参数

(简书封的越来越厉害了)

App: jvmeiyoupin
登录接口有一个antifraud_sign, 通过抓包克制始终变的就这一个,


j0.png

jadx打开apk, 搜索该参数, 巴拉巴拉的就不赘述了:

#com.jm.android.jumei.baselib.jmtoken.SignBean
#com.jm.android.jumei.b.a
#com.jm.android.jumei.baselib.jmtoken.BaseJuMeiSign.j
#com.jm.android.jumei.baselib.jmtoken.BaseJuMeiSign.a(String s, String charset)
#com.jm.android.jumei.baselib.jmtoken.DesToolProxy.b
#com.jm.android.jmtoken.DesTool.b

hook a(String s, String charset)得到:

a:3:c|7:c|123:a|131:c|150:b|160:c|177:video2t5|179:video3t1|186:video4t9|191:c|666:a|703:wvgre_a|909:a|1001:a|1200:a5|1300:normal|1302:a5|1806:normal|1807:e|1808:a9|1809:a9|1810:normal|6680:a|9081:c|9108:videofeeda|9902:e534de2e7cf5b4d2308.759nexus 6phuawei6.0.1on1080j8qfZp+O3VfjvwMMAsqg==androidgoogleNexus 6PphoneGTPushbjqq-appstoreYNrYsUX5ecgDAEccNYA9uI6H131152111144541625028605d31f0c6ba4030cd731a424777b1b2481v:v3
b:UTF-8
q结果:d58c1ca0572397686eb83f258bf64280

也就是参数a的MD5加密, a参数就是我们抓包的form每一项拼起来的str,
hook DesToolProxy.b,

a:4538791e1fad57445a5ccbdb5d85f0c2
q结果:54475daf1e19783542c0f58d5bdbcc5a

也就是将str加密后在处理得到的一串32位str,
我们看DesTool.b方法


j1.png

IDA打开so文件,


j3.png
j4.png
j5.png

通过几次抓包, 比较每次字符串的关系, 得到如下规则

#新str每位的索引:旧str每位的索引
0:16
1:15
2:14
3:13
4:12
5:11
6:10
7:9
8:8
9:7
10:6
11:5
12:4
13:3
14:2
15:1
16:0
17:31
18:30
19:29
20:28
21:27
22:26
23:25
24:24
25:23
26:22
27:21
28:20
29:19
30:18
31:17
#Python代码
_str=f'3:c|7:c|123:a|131:c|150:b|160:c|177:video2t5|179:video3t1|186:video4t9|191:c|666:a|703:wvgre_a|909:a|1001:a|1200:a5|1300:normal|1302:a5|1806:normal|1807:e|1808:a9|1809:a9|1810:normal|6680:a|9081:c|9108:videofeeda|9902:e534de2e7cf5b4d2308.759nexus 6phuawei6.0.1on1080j8qfZp+O3VfjvwMMAsqg==androidgoogleNexus 6PphoneGTPushbjqq-appstoreYNrYsUX5ecgDAEccNYA9uI6H131{phone}{time_s}d31f0c6ba4030cd731a424777b1b2481v:v3'
ef get_md5(_str):
    md5 = hashlib.md5()
    md5.update(_str.encode('utf_8'))
    str_arg = md5.hexdigest()
    return str_arg

def revertStr(_str):
    _str=get_md5(_str)
    _str0=''
    for i in range(16,-1,-1):
        _str0+=_str[i]
    for i in range(31,16,-1):
        _str0+=_str[i]
    return _str0

得到的结果用在data请求就可以了

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容