js逆向分析 有道翻譯

2021-10-20 02:51:10 字數 2425 閱讀 4568

js加密一直是困擾資料抓取的難題,但總有辦法,總結下經驗一起學習

請求是通過非同步往伺服器傳送資料

主要有以下引數,一群看不懂的東西不用說肯定是加密資訊

ts:是系統時間戳

salt:時間戳+數字

bv:user-agent的md5加密

sign:一串字元加密

通過分析了解加密方式

就可以用**構造自己加密方式

# -*- coding: utf-8 -*-

import time

import requests

import random, json

from hashlib import md5

import pprint

class

youdao

(object):

def__init__

(self, keyword)

: self.url =

""self.headers =

self.keyword = keyword

self.form_data =

defget_salt

(self)

: salt =

str(time.time()*

1000

)return salt

defget_sign

(self)

: sign =

"fanyideskweb"

+ self.keyword + self.form_data[

'salt']+

"tbh5e8=q6u3exe+&l[4c@"

m = md5(

) m.update(sign.encode(

'utf-8'))

s = m.hexdigest(

)return s

deftranslate

(self)

: response = requests.post(url=self.url, headers= self.headers, data=self.form_data)

dict_result = json.loads(response.content)

print

(dict_result[

'translateresult'][

0][0

]['tgt'])

defstart

(self)

: salt = self.get_salt(

) self.form_data[

'salt'

]= salt

self.form_data[

'lts'

]= salt +

str(random.randint(0,

10)) temp2 =

bv = md5(temp2.encode(

'utf-8'))

.hexdigest(

) self.form_data[

'bv'

]= bv

self.form_data[

'sign'

]= self.get_sign(

) self.translate(

)if __name__ ==

'__main__'

:while

true

: keyword =

input

('請輸入要翻譯的內容, 輸入 need-quit 退出:'

)if keyword ==

'need-quit'

:break

youdao = youdao(keyword)

youdao.start(

)

2020 11 02 JS逆向入門之有道翻譯

二 引數破解 2.引數破解測試 三 salt 13位時間戳 乙個隨機數 sign 加密引數 lts 13位時間戳 bv 瀏覽器版本的加密引數 salt 13位時間戳 乙個隨機數 sign md5 fanyideskweb 翻譯引數 salt bjuetdhu zqsxf b 7m lts 13位時間...

有道翻譯js加密破解

案例說明 有道翻譯請求引數 salt,sign,ts 通過js加密,進行爬蟲請求時首先應對加密的引數進行解密,用到的技術要點有 js2py,hashlib加密,requests傳送請求等。import requests import json import js2py import hashlib ...

Js逆向分析

1 知道如何尋找登入介面 2 知道如何確定js的位置 3 知道如何觀察js的執行過程 4 知道js的執行方法1 知道如何尋找登入介面 2 知道如何確定js的位置 3 知道如何觀察js的執行過程 4 知道js的執行方法a 登入的form表單中action對應的url位址 b 通過抓包分析發現,在這個u...