<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 爬蟲進階必備 | 某藥品商城加密參數(shù) ex1 加密邏輯分析

          共 5945字,需瀏覽 12分鐘

           ·

          2021-09-29 14:12

          點擊上方“咸魚學Python”,選擇“加為星標

          第一時間關注Python技術干貨!


          圖源:極簡壁紙

          今日網(wǎng)站

          aHR0cHM6Ly9kaWFuLnlzYmFuZy5jbi8jL2luZGV4Q29udGVudD9zZWFyY2hLZXk9JUU2JTg0JTlGJUU1JTg2JTkyJUU3JTgxJUI1Jl90PTE2MzI2MTgxODk4MzY=

          這個站來自交流 4 群

          發(fā)現(xiàn)大佬越來越多了,群里有問個站都有大佬做過了

          牛哇牛哇~

          加密定位

          需要分析的值在下圖中用紅框標注

          這個值每次請求都不一樣,并且這個名字較短不好通過檢索參數(shù)名檢索到

          試過通過檢索ex來定位發(fā)現(xiàn)關聯(lián)的結果也非常多,所以老老實實用 xhr 斷點分析,用 js 堆棧分析也可以,但是分析的步驟差別不大

          下好斷點之后刷新,頁面就斷住了

          逐個分析,直到下面這個位置

          可以看到這里用到了interceptors,關于這個的用法之前的很多文章都寫了

          大概率是在這個位置里進行的了請求的封包,所以我們斷點需要打在這個位置

          進一步分析可以看到下面這個位置

          這里可以看到我們請求包中提交的其他參數(shù),但是沒有看到要分析的ex1

          但是可以看到所有的參數(shù)都經過了O方法的處理,處理之后n中就生成了ex1

          所以O就是加密生成的位置

          懶得一步步定位的看這里

          直接搜 e.split("").map

          加密分析

          單步到O中可以看到

          這里就是參數(shù)生成的地方,傳入了參數(shù)e

          并且這里用到了T還有w兩個方法

          function O({
                      var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}
                        , t = k
                        , n = P
                        , a = E
                        , i = T();
                      return e[t + n + a] = function(e{
                          for (var t = B.b.split("").map(function(e{
                              return Number(e)
                          }), n = e.split("").map(function(e{
                              return Number(e)
                          }), a = 7 * n.reduce(function(e, t{
                              return e + t
                          }, 0) % 10, i = [], r = 0, o = 0; o < n.length; o++)
                              i[o] = (n[o] + t[r]) % 10,
                              r = (r + 1) % t.length;
                          for (var c = t.length % n.length, s = Array.apply(null, {
                              length10
                          }), l = 0; l < c; l++)
                              s[l] = i[i.length - l - 1];
                          s[c] = a;
                          for (var u = c + 1; u < i.length + 1; u++)
                              s[u] = i[i.length - u];
                          return w(s.join(""))
                      }(i),
                      t = null,
                      n = null,
                      a = null,
                      e
                  }

          之后全部都是計算

          所以直接拷貝代碼到編輯器里面,把參數(shù)整好,調用運行

          這里需要把T補齊

          這里的T是一個時間戳減去了值

          補齊之后再次運行報w未定義

          再把s補齊

          function w(e{
              for (var t = [], n = function ({
                  for (var e = [], t = 0; t < 36; t++)
                      t >= 0 && t <= 9 ? e.push(t) : e.push(String.fromCharCode(t + 87));
                  return e
              }(); e;) {
                  var a = e % 36;
                  t.unshift(n[a]),
                      e = parseInt(e / 36)
              }
              console.log(t.join(""))
              return t.join("")
          }

          補齊之后就可以輸出值了

          這個參數(shù)不是很難,但是就是定位比較麻煩,并且用字符串拼接的方式完成參數(shù)賦值生成。

          我是沒有更新就在摸魚的咸魚

          以上就是今天的全部內容了

          收到請回復~

          我們下次再見。

          對了,看完記得一鍵四連,這個對我真的很重要。


          瀏覽 77
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美成人在线导航 | 午夜麻豆91视频 | 一级大片| 非洲一级婬片A片免费 | 天天干撸天天色 |