js破解 極X助手 登錄

https://www.jidaihome.com

找到post 請求的 url  進行 XHR 斷點

 

沒找到需要的內容,點擊右側的堆棧看看

 然後在進行打斷點

 

JavaScript加密庫Crypto-JS的使用集成了很多加密解密算法

https://github.com/brix/crypto-js  進行下載

目錄結構

然後用 execjs 進行調用 實現

import requests
import execjs


ctx = execjs.compile(open('test.js','rb').read())

ppp = ctx.call('jm_js','賬號','密碼')
print(ppp)

h = {
    "Accept": "application/json, text/plain, */*",
    "Authorization": ppp[1],
    "Content-Type": "application/json",
    "Origin": "https://www.jidaihome.com",
    "Referer": "https://www.jidaihome.com/officer/",
    "Sec-Fetch-Mode": "cors",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
}

html = requests.post(url='https://api.srv.jidaihome.com/officer/v1/user/login',headers=h,data=ppp[0])
print(html.text)

 

var CryptoJS = require("./crypto-js/crypto-js");

function jm_js(phone,passwd) {
    randomKey = function (t) {
        for (var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", r = 0, i = ""; r < t;) {
            var n = Math.floor(Math.random() * e.length);
            i += e.charAt(n),
                r++
        }
        return i
    };

    ddd = {
        mobile: phone,
        password: CryptoJS.MD5(passwd).toString()
    };

    // 隨機16 個字符
    r = randomKey(16);

    r1 = CryptoJS.enc.Utf8.parse(r);
    n1 = CryptoJS.enc.Utf8.parse(JSON.stringify(ddd));
    iv1 = CryptoJS.enc.Utf8.parse('0102030405060708');

    jm = CryptoJS.AES.encrypt(n1, r1, {
        iv: iv1,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    }).toString();
    wordArray = CryptoJS.enc.Utf8.parse(r);
    vvv = CryptoJS.enc.Base64.stringify(wordArray);
    return [jm,vvv];
}


我這邊還有一個 報錯的坑  不知道 別的環境有沒有

找到那個 文件  修改一下

 

然後完美運行 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章