日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

TL-WR886N密码JS加密

發布時間:2024/3/12 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TL-WR886N密码JS加密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網頁源碼:

很明顯又是JS解壓縮了,跟進pageOnload后覺得有點麻煩,我就直接下XHR網址斷點了,輸入密碼提交后直接就在jquery的代碼里斷下了

h.send(a.hasContent && a.data || null); //a.data也就是實際發送的Body了

然后通過棧回溯先到Ajax函數

r.send(u, d)

到?sendAjaxReq函數

$.ajax(a);

再到Auth函數

auth: function (a, b, c) {$.accountStatus.logoutHandle = !1;(a == p || 0 == a.length) && b && b(EUNAUTH);return $.sendAjaxReq('', {method: 'do',login: {password: a}}, function (c) {var d = c[ERR_CODE];ENONE == d ? ($.session = decodeURIComponent(c.stok), $.setLgPwd(a), $.authRltObj.authStatus = !0) : ($.authRltObj.authStatus = !1, $.parseAuthRlt(c.data));return b && b(d)}, c || 'undefined' === typeof c, 'json')}

a也就是加密后的字符串

再回溯就到最后一段解碼后的JS代碼里了

function h() {var a = id('lgPwd');$.auth($.orgAuthPwd(a.value), function (b) {b == ENONE ? (a.value = '', $.authRltObj.bHandLg = !0, unloadLogin()) : g(parseInt($.authRltObj.code))})}

a.value也就是原始字符串,通過orgAuthPwd函數后傳到auth函數

查找orgAuthPwd,和容易就找到

orgAuthPwd: function (a) {return $.securityEncode('RDpbLfCPsJZ7fiv', a, 'yLwVl0zKqws7LgKPRQ84Mdt708T1qQ3Ha7xv3H7NyU84p21BriUWBU43odz3iP4rBL3cD02KZciXTysVXiV8ngg6vL48rPJyAUw0HurW20xqxv9aYb4M9wK1Ae0wlro510qXeU07kV57fQMc8L6aLgMLwygtc0F10a0Dg70TOoouyFhdysuRMO51yY5ZlOZZLEal1h0t9YQW0Ko7oBwmCAHoic4HYbUyVeU3sfQ1xtXcPcf1aT303wAQhv66qzW')},

很明顯securityEncode就是加密函數,跟進后是如下代碼

securityEncode: function (a, b, c) {var e = '',f,g,h,k,l = 187,n = 187;g = a.length;h = b.length;k = c.length;f = g > h ? g : h;for (var p = 0; p < f; p++) n = l = 187,p >= g ? n = b.charCodeAt(p) : p >= h ? l = a.charCodeAt(p) : (l = a.charCodeAt(p), n = b.charCodeAt(p)),e += c.charAt((l ^ n) % k);return e},

python如下:

def securityEncode(encrypt,data,salt):eecode = ''saltLen = len(salt)dataLen = len(data)encryptLen = len(encrypt)maxLenInSaltData = dataLen>sataLen?dataLen:sataLenfor index in 0,maxLenInSaltData:n=l=187index >= saltLen ? n = data.charCodeAt(index) : index >= dataLen ? l = encrypt.charCodeAt(index) : (l = encrypt.charCodeAt(index), n = data.charCodeAt(index)),encode += salt.charAt((l ^ n) % saltLen ); return encode

?

總結

以上是生活随笔為你收集整理的TL-WR886N密码JS加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。