京东滑动破解

  • 2018-10-14
  • 4,217
  • 11
  • 11

请勿用于非法用途

相关代码在文末


JD的滑动页面如下

第一步 获取滑动
网址如下
https://iv.jd.com/slide/g.html?appId=1604ebb2287&scene=login&product=click-bind-suspend&e=5ZTXKML4SREUZXGG3EBYLCGEV5QJSVJYZJKBTTAQFFVYRWY24G6KAQ7BHBAHRE45H6WT2DEZ2DNYVDWZKREAACJUGI&callback=jsonp_05483883648197814

其中 e是 JdEid 一个 JD通用的机器标识 可以不用更改

所以获取没啥问题

 

第二步 提交

https://iv.jd.com/slide/s.html?d=0aw006qmpMsVeW08W10w0000000000000c102000000i104000000g104000000i104000000f104000000h108000000h108000000h104101000f103000000h103000000i101000000m000000001~&c=eee8dfec6a0e48b89bb79747c229d67f&w=278&appId=1604ebb2287&scene=login&product=click-bind-suspend&e=5ZTXKML4SREUZXGG3EBYLCGEV5QJSVJYZJKBTTAQFFVYRWY24G6KAQ7BHBAHRE45H6WT2DEZ2DNYVDWZKREAACJUGI&s=1197149330019117684&callback=jsonp_05445233808887833

其中 有参数 ds 是我们暂时不知道的

 

s参数破解:

通过搜索可以得到 参数原封不动 来自

https://seq.jd.com/jseqf.html?bizId=passport_jd_com_login_pc&platform=js&version=1

上图中的 _jdtdmap_sessionId

 

那么现在可以开始我们的重头戏 d 参数了

(透露一个之前没用提到的JS找入口方法)

callstack 日常回追 可以定位到

c.gc(b)

可以很明显看到 d 的来源

b参数就是喜闻乐见的轨迹数组了

gc: function(c) {
        var g = this;
        var b = new Array();
        for (var e = 0; e < c.length; e++) {
            if (e == 0) {
                b.push(g.pm(c[e][0] < 262143 ? c[e][0] : 262143, 3, true));
                b.push(g.pm(c[e][1] < 16777215 ? c[e][1] : 16777215, 4, true));
                b.push(g.pm(c[e][2] < 4398046511103 ? c[e][2] : 4398046511103, 7, true))
            } else {
                var a = c[e][0] - c[e - 1][0];
                var f = c[e][1] - c[e - 1][1];
                var d = c[e][2] - c[e - 1][2];
                b.push(g.pm(a < 4095 ? a : 4095, 2, false));
                b.push(g.pm(f < 4095 ? f : 4095, 2, false));
                b.push(g.pm(d < 16777215 ? d : 16777215, 4, true))
            }
        }
        return b.join("")
    },

gc流程如上 抠出来即可

Github源码地址


请勿用于非法用途

评论

  • Otis Buben回复

    I like what you guys are up too. Such smart work and reporting! Carry on the excellent works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my site 😊

  • 000回复

    console.log(‘222’);

  • vexlex回复

    大佬,新的轨迹改如何写啊,麻烦讲解一下呢

    • lengyue回复

      自己看js啊… 思路都给你了

  • 撒旦回复

    好像不行了哦

  • lengyue回复

    写错地址了= =已修复

  • 修行回复

    是不是,我只要保证我的轨迹值,用轨迹数组函数算出来,里面全是true就可以成功通过啊? 还有c[e][0],c[e][1],c[e][2]分别代表的是每一走距离1的什么参数呢?