JS解密入門——有道翻譯
JS解密入門——有道翻譯
很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那麼針對這三類人,我給大家提供一個好的學習平臺,免費領取視訊教程,電子書籍,以及課程的原始碼!
QQ群:1097524789
此篇文章省略了很多基礎的,例如json格式資料的提取啊。試試手,練練感覺。似乎也沒啥用。
一 瞭解加密與解密 :
什麼是加密,什麼是解密?
- 加密:資料加密的基本過程,將原為明文的檔案或資料經過某種演算法進行一次或多次處理。得到的結果常稱之為密文的東東。
- 解密:加密的逆過程,找到加密相同的方式,對其逆向處理,得到原本檔案或資料的過程
常用的加密方式:
加密演算法分對稱加密和非對稱加密
其中對稱加密演算法的加密與解密金鑰相同,非對稱加密演算法的加密金鑰與解密金鑰不同,此外,還有一類不需要金鑰的雜湊演算法。
本節所涉及的方式:MD5
MD5
用的是雜湊函式,它的典型應用是對一段資訊產生資訊摘要,以防止被篡改。嚴格來說,MD5
不是一種加密演算法而是摘要演算法。無論是多長的輸入,MD5
都會輸出長度為128bits
的一個串 (通常用16
進製表示為32
個字元)。
[更多相關詳情請點選此處](https://blog.csdn.net/baidu_22254181/article/details/82594072)
二 造!點選進入本節原始碼
這段內容圖會比較多,文字敘述會比較少.
確定URL:
Basic URL :http://fanyi.youdao.com/
結論緣由,在不重新整理全域性頁面的情況下,在輸入框中輸入,翻譯動態重新整理.可知此連結為Ajax.
經過一系列測試發現,其實際需操作的URL為http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
在開發者工具中具體觀察以下.
基本網站的分析就分析完畢了
注意此處為POST請求!!!
觀察加密
仔細觀察紅色方框中,重點觀察隨著時間改變而改變的引數(圖中紅色箭頭所指之處)
分析加密:
仔細經過上述步驟即可進入本次加密的原始碼詳情頁
搜尋sign引數,得知本頁面有15個sign,篩選排查過後可得知以下位置為sign等引數,賦值加密過程
為什麼會大概確定是此處呢?
理由一:var 宣告賦值
理由二:md5()
為什麼深信此處呢?
斷點一打,debug一下,啥都出來了.
根據其語法可知,java知識
- e 為輸入所翻譯的內容
- ts 為七位整數的時間戳
- salt 為時間戳後加上一位,大於0小於9的數字
- bv 為User-Agent的值經過md5加密的 密文
- sign 為(“fanyideskweb” + e + salt + “Nw(nmmbP%A-r6U3EUn]Aj”)經過md5加密的 密文
到這裡就基本完成了,那接下來就開始碼碼吧.
碼!!!
看到這裡,轉而看一下原始碼。對著上面的註釋,仔細看看,相信你一定會有所收穫的。