日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

TL-WR886N密码JS加密

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

網(wǎng)頁源碼:

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

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

然后通過棧回溯先到Ajax函數(shù)

r.send(u, d)

到?sendAjaxReq函數(shù)

$.ajax(a);

再到Auth函數(shù)

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函數(shù)后傳到auth函數(shù)

查找orgAuthPwd,和容易就找到

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

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

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

?

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。