美文网首页
jvmeiyoupin antifraud_sign参数

jvmeiyoupin antifraud_sign参数

作者: 朝朝朝朝朝落 | 来源:发表于2021-06-30 14:42 被阅读0次

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

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请求就可以了

相关文章

  • jvmeiyoupin antifraud_sign参数

    (简书封的越来越厉害了) App: jvmeiyoupin登录接口有一个antifraud_sign, 通过抓包克...

  • 参数,非参数,半参数

    非参数与参数理解 non-parametric model中参数是distribution free的,参数函数空...

  • 参数、非参数、半参数

    如何理解参数、非参数和半参数的概念?先回顾一下医学统计学参数检验和非参数检验的内容:参数检验(parametric...

  • 函数的参数

    函数的参数顺序是 必选参数、默认参数、可变参数、关键字参数、命名关键字参数 必选参数 默认参数 可变参数 关键...

  • 函数 参数

    关键字参数: 形如 kwarg = value 参数类型: 必备参数 命名参数 缺省参数 不定长参数 必备参数 ...

  • 3.monkey参数

    参数分类 常规类参数 事件类参数 约束类参数 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数。帮助参...

  • Python之函数的参数

    Python中函数的参数有五种:位置参数(必选参数)、默认参数、可变参数、关键字参数、命名关键字参数。 位置参数 ...

  • 方法的参数 Day0815

    值参数 引用参数 输入参数 数组参数

  • 5.函数的参数

    位置参数 默认参数 可变参数 关键字参数 命名关键字参数 参数组合

  • JavaScript 箭头函数语法结构

    基本语法 (参数1, 参数2, …, 参数N) => { 函数声明 }//相当于:(参数1, 参数2, …, 参数...

网友评论

      本文标题:jvmeiyoupin antifraud_sign参数

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