吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2351|回复: 32
收起左侧

[Web逆向] 某卡麦逆向分析

  [复制链接]
shangjS009 发表于 2024-7-30 02:03
本帖最后由 shangjS009 于 2024-7-30 02:04 编辑

本文仅用于学习研究,请勿用于非法用途和商业用途!如因此产生任何法律纠纷,均与作者无关!如有问题,麻烦版主立即删除1   
麦常见的时1.75和2的版本,现在1.75版本基本上看不到了 ,都是2的版本
2. 特征

特征

特征

也是通过cookie加验证 根据cookie 键的_abck 返回~-1~  则是失败  ~0~则为成功


2

2

请求首页会返回三个cookie,响应也会有一个外链的js

6

6


需要对这个js地址发送一次get请求,第二次对这个接口发送一个post请求

4

4

sensor_data 就是要逆向目标


逆向的时候可以用xhr调试 也可以从  发起程序的第一个位置开始   

由于这个js是动态的,所以要把首页固定住,给他替换一下

3

3

就是这里了  直接搜  Wp = 会搜到大概11个  都下好断点   会把这个Wp 参数生成返回  --->  生成返回  起码要解5次, 全扣不太现实
从第一个开始分析  会得到一个58位的数组,在用"join" 拼接IDA console, courier new, monospace">dN


58

58

这个58位的数组 就是小麦最核心的地方了 , , , 这个58位数组会记录很多风控的信息  特别重要  会检测你的ua 插件信息 分辨率显卡配置指纹  权限指纹 鼠标轨迹 方法执行次数
只能慢慢测 慢慢扣
xN = [JJ.Sc(zw, np, Gt, kk), GB, JJ.Lc(Op, jp, kk, wk), zp, JJ.Gc(cp, Q7), t8, JJ.Yc(rp, g2, nh, tk), qB, JJ.Zc.apply(null, [Fp, mw]), l8, JJ.nc.apply(null, [z2, Ep]), m8, JJ.Oc(Up, tQ, Hp, kk), Kp, JJ.jc(RQ, MB, wk, gl), TB, JJ.zc(hB, ns, G7(G7([])), q2), fp, JJ.cc(G7(l7), l7, FN, J2), h8, JJ.rc.apply(null, [Kl, HQ, G7({}), P2]), Cp, JJ.Fc.apply(null, [mw, AN, Sk, vk]), NB, JJ.Ec(Jk, G7({}), qp, RQ), dv, JJ.Uc(Rp, bw), lB, JJ.sS(nh, gw, lk, Zh, dk, nB), Ip, JJ.Hc(bp, d7), Is, JJ.Kc.apply(null, [DQ, fv]), ss, JJ.fc(Tp, nB), ps, JJ.Cc(Rl, tp, zw, Um), As, JJ.pS(gw, lp, nB, rv), mp, JJ.qc(fk, hp, H2, x7), Vs, JJ.Rc(kp, wp), Jp, JJ.Ic.call(null, Np, Bp), Yp, JJ.bc.call(null, Uh, J2, Yh, Q7), vp, JJ.Tc.apply(null, [gk, Qp]), QB[JJ.DY(rm, Sm)], JJ.AS(gw, sp, Hm, f2), OQ, JJ.gS(dk, gw, nB, Hm), p8, JJ.tc.apply(null, [cB, pp])

数组的第一个(JJ.Sc(zw, np, Gt, kk)-100  
第二个GB  前面是ua的信息 后面就看不懂了  直接搜GB

GB

GB


BG 第一个接收的是一个60  第二个接收的是一个数组

123

123



跟到方法会发现 他实际调用的就是数组的第一个方法YB

数组调用的方法

数组调用的方法

这个时候直接找YB这个方法就可以了,  (中间搞了很多)

直接进去YB 这个方法看看 干了什么

YB进去

YB进去

  1、YB   U7.push(ZV);  第一行这个就是记录代码执行的过程   push提交    pop删除 所以 采用魔法是搞不了的 只能扣
下面就是var nV = j9();  就是ua  直接写死
2、YB  var OV = (JJ.cG(jV, x7))[JJ.PY(Hw, G7(G7([])), zV, H2)](j7(JK, [JQ, g7, nV]));  这里就是"concat"   拼接j7  (j7实际调用的还是[]里面的 JQ  上面有说到)
jQ直接跟进去后发现就是根据ua生成对应的 编码  ,既然是根据ua生成 那么直接固定

JQ

JQ




3、YB      var cV = D6(PJ[JJ.RJ(rV, Eh, Uh, rv)].bmak[JJ.pn.call(null, Hh, O3)], zt);  
我问过了豆包了     这个就是记录访问小麦开始的时间
就是时间戳 除以 2的值

开始时间

开始时间


4 、YB          RV = PJ[JJ.nY(zl, bV, Sw, Sm)](Ks(JJ.zF(Cv, cB, jd, P2), PJ[JJ.RJ.apply(null, [rV, Eh, Uh, bl])]) || Sl(PJ[JJ.mJ(Tl, K9, Um, Hm, rv, Um)][JJ.cF.apply(null, [V7, g7, FN, Kl])], g7) || Sl(PJ[JJ.mJ(Tl, K9, bw, Qw, Ow, Um)][JJ.rF(TV, tV)], g7));
这一个就是获取设备的触摸点数量我这是电脑没这个  所以是0

触摸点

触摸点


还有上面就是-1  

-1

-1


下面有一个要注意的就是window.innerHeight  这个是获取浏览器网页窗口的高度 (这里有坑 最好是把调试窗口单独拿出来)


流程大概就是这样了 ,这就是第二个数组(参数是不能写死的 否则过不了风控)  然后还有组数还要慢慢去扣,现在的时间是2024年7月30日01:58 太晚了   我要睡觉了


流程

流程

-

1

1

GB

GB

5

5

免费评分

参与人数 9吾爱币 +9 热心值 +9 收起 理由
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
杨辣子 + 1 + 1 谢谢@Thanks!
同舟 + 1 + 1 用心讨论,共获提升!
1783780690 + 1 + 1 用心讨论,共获提升!
FitContent + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tank59 + 1 + 1 牛的
外酥内嫩 + 1 + 1 大佬牛逼
2513002960 + 1 + 1 谢谢@Thanks!
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

2513002960 发表于 2024-7-30 08:27
大佬牛批!
外酥内嫩 发表于 2024-7-30 09:07
msmvc 发表于 2024-7-30 09:08
zhaohainuo 发表于 2024-7-30 09:17
大佬,感谢分享
ooiiooiioo 发表于 2024-7-30 09:35
感谢大佬分享  下一期分析下某TV直播的吗?
jessenzhang 发表于 2024-7-30 09:38
大佬厉害啊,学习了
tank59 发表于 2024-7-30 10:27
大佬66666
头像被屏蔽
xu313 发表于 2024-7-30 10:28
提示: 作者被禁止或删除 内容自动屏蔽
longggggg_2000 发表于 2024-7-30 11:01
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 23:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表