国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

這篇具有很好參考價值的文章主要介紹了21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言
??????個人簡介:以山河作禮。
??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實力新星認(rèn)證,阿里云社區(qū)專家博主
?????第一篇文章《1.認(rèn)識網(wǎng)絡(luò)爬蟲》獲得全站熱榜第一,python領(lǐng)域熱榜第一。
?? ??第四篇文章《4.網(wǎng)絡(luò)爬蟲—Post請求(實戰(zhàn)演示)》全站熱榜第八。
?? ??第八篇文章《8.網(wǎng)絡(luò)爬蟲—正則表達(dá)式RE實戰(zhàn)》全站熱榜第十二。
?? ??第十篇文章《10.網(wǎng)絡(luò)爬蟲—MongoDB詳講與實戰(zhàn)》全站熱榜第八領(lǐng)域熱榜第二
?? ??第十三篇文章《13.網(wǎng)絡(luò)爬蟲—多進程詳講(實戰(zhàn)演示)》全站熱榜第十二
?? ??第十四篇文章《14.網(wǎng)絡(luò)爬蟲—selenium詳講》測試領(lǐng)域熱榜第二十。
?? ??第十六篇文章《16.網(wǎng)絡(luò)爬蟲—字體反爬(實戰(zhàn)演示)》全站熱榜第二十五。
?? ??第十九篇文章《19.網(wǎng)絡(luò)爬蟲—照片管道》全站綜合熱榜第十二。
?? ??第二十篇文章《20.網(wǎng)絡(luò)爬蟲—Scrapy-Redis分布式爬蟲》全站綜合熱榜第二十五名,大數(shù)據(jù)領(lǐng)域第六名。
????《Python網(wǎng)絡(luò)爬蟲》專欄累計發(fā)表二十篇文章,上榜九篇。歡迎免費訂閱!歡迎大家一起學(xué)習(xí),一起成長??!
????悲索之人烈焰加身,墮落者不可饒恕。永恒燃燒的羽翼,帶我脫離凡間的沉淪。



????:文章末尾掃描二維碼可以加入粉絲交流群

js逆向

?? ??在這個大數(shù)據(jù)時代,我們眼睛所看到的百分之九十的數(shù)據(jù)都是通過頁面呈現(xiàn)出現(xiàn)的,不論是PC端、網(wǎng)頁端還是移動端,數(shù)據(jù)渲染還是基于html/h5+javascript進行的,而大多數(shù)的數(shù)據(jù)都是通過請求后臺接口動態(tài)渲染的。而想成功的請求成功互聯(lián)網(wǎng)上的開放/公開接口,必須知道它的URL、Headers、Params、Body等數(shù)據(jù)是如何生成的。

JavaScript逆向的詳細(xì)講解

?? ??JavaScript逆向工程是指通過分析JavaScript代碼和運行行為來理解程序的內(nèi)部機制。這種技術(shù)可以用于破解JavaScript程序的加密和混淆,以及獲取程序的邏輯和數(shù)據(jù)等信息。
以下是JavaScript逆向的詳細(xì)講解

1. JavaScript逆向工程的基本原理

?? ??JavaScript逆向工程的基本原理是通過分析JavaScript代碼和運行行為來理解程序的內(nèi)部機制。這種技術(shù)可以用于破解JavaScript程序的加密和混淆,以及獲取程序的邏輯和數(shù)據(jù)等信息。
JavaScript逆向工程通常包括以下步驟:

1)獲取JavaScript代碼
可以使用瀏覽器的開發(fā)人員工具或其他工具來獲取JavaScript代碼。

2)分析JavaScript代碼
可以使用代碼編輯器或其他工具來分析JavaScript代碼,包括查找函數(shù)、變量、常量和操作符等。

3)調(diào)試JavaScript代碼
可以使用瀏覽器的開發(fā)人員工具或其他工具來調(diào)試JavaScript代碼,包括斷點調(diào)試、單步調(diào)試和變量監(jiān)視等。

4)破解JavaScript代碼
可以使用反混淆和反編譯工具來破解JavaScript代碼,以獲取程序的邏輯和數(shù)據(jù)等信息。

2. JavaScript逆向工程的應(yīng)用場景

JavaScript逆向工程可以應(yīng)用于以下場景

1)破解加密和混淆的JavaScript程序:JavaScript逆向工程可以破解加密和混淆的JavaScript程序,以獲取程序的邏輯和數(shù)據(jù)等信息。

2)調(diào)試和測試JavaScript程序:JavaScript逆向工程可以幫助開發(fā)人員調(diào)試和測試JavaScript程序,以發(fā)現(xiàn)程序中的錯誤和問題。

3)優(yōu)化JavaScript程序的性能和安全性:JavaScript逆向工程可以幫助開發(fā)人員優(yōu)化JavaScript程序的性能和安全性,以提高程序的質(zhì)量和可靠性。

4)研究JavaScript程序的內(nèi)部機制:JavaScript逆向工程可以幫助研究人員研究JavaScript程序的內(nèi)部機制,以發(fā)現(xiàn)其中的漏洞和安全問題。

3. JavaScript逆向工程的注意事項

在進行JavaScript逆向工程時,需要注意以下事項:

1)遵守法律法規(guī)
JavaScript逆向工程可能涉及版權(quán)、知識產(chǎn)權(quán)和隱私等問題,需要遵守相關(guān)的法律法規(guī)。

2)保護個人隱私
在分析JavaScript程序時,需要遵守個人隱私的原則,不得獲取個人信息和敏感信息。

3)避免濫用JavaScript逆向技術(shù)
JavaScript逆向技術(shù)可以用于破解和攻擊,需要避免濫用。

4)保護JavaScript程序的安全性
在進行JavaScript逆向工程時,需要保護JavaScript程序的安全性,不得泄露JavaScript程序的機密信息和漏洞。

5)學(xué)習(xí)和研究JavaScript逆向技術(shù)
JavaScript逆向技術(shù)是一種有用的技術(shù),需要學(xué)習(xí)和研究,以提高自己的技能和知識水平。

實戰(zhàn)是學(xué)習(xí)知識最快的途徑,下面進行實戰(zhàn)演示幫助理解學(xué)習(xí)。

實戰(zhàn)演示

有道翻譯

有道翻譯

瀏覽器:谷歌瀏覽器

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

右鍵檢查,輸入需要翻譯的內(nèi)容,然后開始抓包

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

??點擊翻譯,我們得到兩個數(shù)據(jù),一個是key,請求方式是post,狀態(tài)是200
載荷是西瓜,預(yù)覽里面出現(xiàn)success,表示翻譯成功
。

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

??還有一個文件是webtranslate,請求方法同樣是post,狀態(tài)是200,載荷里面有西瓜兩個字和一些參數(shù),預(yù)覽和響應(yīng)里面是一串加密的數(shù)據(jù)。

??接下來敲代碼來獲取文件,然后來破解數(shù)據(jù)

# coding = utf-8
import crawles

url = 'https://dict.youdao.com/webtranslate'

cookies = {
    'OUTFOX_SEARCH_USER_ID': '-312652410@10.108.162.134',
    'OUTFOX_SEARCH_USER_ID_NCOO': '42958927.495580636',
}

headers = {
    'Accept': 'application/json, text/plain, */*',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Origin': 'https://fanyi.youdao.com',
    'Pragma': 'no-cache',
    'Referer': 'https://fanyi.youdao.com/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36',
    'sec-ch-ua': '\"Google Chrome\";v=\"113\", \"Chromium\";v=\"113\", \"Not-A.Brand\";v=\"24\"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '\"Windows\"',
}

data = {
    'i': '西瓜',
    'from': 'auto',
    'to': '',
    'domain': '0',
    'dictResult': 'true',
    'keyid': 'webfanyi',
    'sign': 'f522e5818a8497d9a329a93a522eaa2e',
    'client': 'fanyideskweb',
    'product': 'webfanyi',
    'appVersion': '1.0.0',
    'vendor': 'web',
    'pointParam': 'client,mysticTime,product',
    'mysticTime': '1683270687293',
    'keyfrom': 'fanyi.web',
}

response = crawles.post(url, headers=headers, data=data, cookies=cookies)
print(response.text)

運行結(jié)果:
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
??接下來我們可以通過多次發(fā)多次請求來觀察哪些是變的,哪些是不變的數(shù)據(jù)

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
??經(jīng)過對比,我們發(fā)現(xiàn),sign,mysticTime這兩個字段的參數(shù)是動態(tài)變化的。

??參數(shù)大概分析之后,我們就找出對應(yīng)的js文件,來分析一下js是如何處理的參數(shù)
選擇文件,點擊啟動器,然后可以隨便點擊一個文件,然后點擊它。

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

??輸入sign后,如果出現(xiàn)多個,我們需要逐個觀察,看哪一個符合要求
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)

??我們在sign這里打上斷點,然后點擊翻譯,進行抓包處理,得到e和t的值

e: "fsdsogkndfokasodnaso"
t: 1683272866426

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
??然后我們點擊其他參數(shù),獲取數(shù)據(jù)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
??接下來我們寫代碼,來得到sign的值

import time
t = 'fsdsogkndfokasodnaso'
e = time.time()
e = 1682603344052
d = 'fanyideskweb'
u = 'webfanyi'

data = f'client={d}&mysticTime={e}&product={u}&key={t}'

from hashlib import md5
m = md5()
m.update(data.encode('utf-8'))
nonce = m.hexdigest()
print(nonce)

21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
??接下來對字符串進行解密,將解密后的字節(jié)碼轉(zhuǎn)換為utf-8編碼的文本字符串。

import hashlib
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64
# 導(dǎo)入必要的模塊和庫

# pip install pycryptodome
# 將存放模塊的文件(Crypto)改成大寫開頭(Crypto)

def decrypt( decrypt_str):
    key = "ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl"
    iv = "ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4"

    key_md5 = hashlib.md5((key).encode('utf-8')).digest()
    iv_md5 = hashlib.md5((iv).encode('utf-8')).digest()
    print('key_md5:', key_md5)
    print('iv_md5:', iv_md5)
    print()
    aes = AES.new(key=key_md5, mode=AES.MODE_CBC, iv=iv_md5)

    code = aes.decrypt(base64.urlsafe_b64decode(decrypt_str))
    return unpad(code, AES.block_size).decode('utf8')


print(decrypt(response.text))
設(shè)置密鑰和初始向量
key = "ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl"
iv = "ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4"

這里定義了兩個變量key和iv,分別表示密鑰和初始向量。注意到這兩個字符串已經(jīng)被加密處理,因此在使用之前需要將它們進行解密。

對密鑰和初始向量進行哈希處理
key_md5 = hashlib.md5((key).encode('utf-8')).digest()
iv_md5 = hashlib.md5((iv).encode('utf-8')).digest()

使用了哈希函數(shù)md5對密鑰和初始向量進行處理。在處理之前,需要將密鑰和初始向量從字符串類型轉(zhuǎn)換為字節(jié)類型,并在處理后獲取到它們的哈希值。

創(chuàng)建AES對象并解密消息
aes = AES.new(key=key_md5, mode=AES.MODE_CBC, iv=iv_md5)

code = aes.decrypt(base64.urlsafe_b64decode(decrypt_str))

創(chuàng)建了一個AES對象,使用了上一步中得到的哈希值作為密鑰和初始向量的值,并使用CBC模式進行加密解密操作。然后,我們對傳入的待解密字符串進行base64解碼,再使用解密過程對其進行解密操作。

移除padding并返回結(jié)果
return unpad(code, AES.block_size).decode('utf8')

通過Crypto.Util.Padding.unpad函數(shù)移除了解密后的字節(jié)碼中的padding,并通過.decode('utf8')將其轉(zhuǎn)換為文本字符串類型。最終,我們從decrypt函數(shù)中返回了解密后的明文字符串。

??這段代碼主要實現(xiàn)了一個AES-CBC加密算法的解密過程,使用了哈希函數(shù)增強了密鑰和初始向量的安全性,并通過base64編解碼和padding移除等操作對加密消息進行了處理。

運行結(jié)果如下
21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)
??后續(xù)可以對數(shù)據(jù)進行解析,提取出我們想要的數(shù)據(jù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-434781.html

到了這里,關(guān)于21.網(wǎng)絡(luò)爬蟲—js逆向詳講與實戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【爬蟲JS逆向-工具篇】瀏覽器內(nèi)存漫游加密參數(shù)Hook實戰(zhàn)教程

    【爬蟲JS逆向-工具篇】瀏覽器內(nèi)存漫游加密參數(shù)Hook實戰(zhàn)教程

    【作者主頁】: 吳秋霖 【作者介紹】:Python領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、阿里云博客專家、華為云享專家。長期致力于Python與爬蟲領(lǐng)域研究與開發(fā)工作! 【作者推薦】:對JS逆向感興趣的朋友可以關(guān)注《爬蟲JS逆向?qū)崙?zhàn)》,對分布式爬蟲平臺感興趣的朋友可以關(guān)注《分布式爬蟲平臺搭建

    2024年02月22日
    瀏覽(23)
  • 14.網(wǎng)絡(luò)爬蟲—selenium詳講

    14.網(wǎng)絡(luò)爬蟲—selenium詳講

    前言 : ??????個人簡介:以山河作禮。 ??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實力新星認(rèn)證 ?????第一篇文章《1.認(rèn)識網(wǎng)絡(luò)爬蟲》獲得 全站熱榜第一,python領(lǐng)域熱榜第一 。 ?? ??第四篇文章《4.網(wǎng)絡(luò)爬蟲—Post請求(實戰(zhàn)演示)》 全站熱榜第八 。 ?? ??第八篇文章《8.網(wǎng)

    2023年04月14日
    瀏覽(22)
  • 22.網(wǎng)絡(luò)爬蟲—APP數(shù)據(jù)抓取詳講

    22.網(wǎng)絡(luò)爬蟲—APP數(shù)據(jù)抓取詳講

    前言 : ??????個人簡介:以山河作禮。 ??????: Python領(lǐng)域新星創(chuàng)作者,CSDN實力新星認(rèn)證,阿里云社區(qū)專家博主 ?????第一篇文章《1.認(rèn)識網(wǎng)絡(luò)爬蟲》獲得 全站熱榜第一,python領(lǐng)域熱榜第一 。 ?? ??第四篇文章《4.網(wǎng)絡(luò)爬蟲—Post請求(實戰(zhàn)演示)》 全站熱榜第八 。

    2024年02月04日
    瀏覽(21)
  • 【爬蟲逆向案例】某道翻譯js逆向—— sign解密

    【爬蟲逆向案例】某道翻譯js逆向—— sign解密

    聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負(fù),如有侵權(quán),請告知刪除,謝謝! 相信各位小伙伴在寫爬蟲的時候經(jīng)常會遇到這樣的情況,一些需要攜帶的參數(shù)一直在變化,今天逆向的這個網(wǎng)站某道翻譯也如此: 可以發(fā)現(xiàn)變的就兩個參數(shù),一個 sign,一個是 m

    2024年02月15日
    瀏覽(22)
  • 逆向爬蟲進階實戰(zhàn):突破反爬蟲機制,實現(xiàn)數(shù)據(jù)抓取

    逆向爬蟲進階實戰(zhàn):突破反爬蟲機制,實現(xiàn)數(shù)據(jù)抓取

    隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)站為了保護自己的數(shù)據(jù)和資源,紛紛采用了各種反爬蟲機制。然而,逆向爬蟲技術(shù)的出現(xiàn),使得我們可以突破這些限制,實現(xiàn)對目標(biāo)網(wǎng)站的深入分析和抓取。本文將介紹逆向爬蟲進階實戰(zhàn)的一些技巧和代碼片段,幫助讀者更好地理解和掌握這一技術(shù)。

    2024年02月04日
    瀏覽(21)
  • 【爬蟲逆向案例】某易云音樂(評論)js逆向—— params、encSecKey解密

    【爬蟲逆向案例】某易云音樂(評論)js逆向—— params、encSecKey解密

    聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負(fù),如有侵權(quán),請告知刪除,謝謝! 今天逆向的這個網(wǎng)站 某易云音樂 歌曲的評論列表 而要拿到評論列表爬蟲發(fā)送的表單需要兩個參數(shù) params 和 encSecKey。這兩個玩意是加密的,所以重點就是怎么搞定這兩個參數(shù)。 話

    2024年02月14日
    瀏覽(23)
  • 爬蟲+RPC+js逆向---直接獲取加密值

    爬蟲+RPC+js逆向---直接獲取加密值

    免責(zé)聲明:本文僅做技術(shù)交流與學(xué)習(xí),請勿用于其它違法行為;如果造成不便,請及時聯(lián)系... 目錄 爬蟲+RPC+js逆向---直接獲取加密值 target網(wǎng)址: 抓包 下斷點 找到加密函數(shù) 分析參數(shù) RPC流程 一坨: 二坨: 運行py,拿到加密值 優(yōu)志愿_2024高考志愿填報系統(tǒng)-新高考志愿填報選科指南 數(shù)據(jù)往

    2024年04月14日
    瀏覽(33)
  • Python爬蟲:抖音 JS XB逆向解析

    Python爬蟲:抖音 JS XB逆向解析

    哈嘍兄弟們,抖音現(xiàn)在有JS加密,以前的方法爬不了餓了,今天來實現(xiàn)一下某音短視頻的JS逆向解析。 知識點 動態(tài)數(shù)據(jù)抓包`在這里插入代碼片` requests發(fā)送請求 X-Bogus?參數(shù)逆向 環(huán)境模塊 python?3.8???????????????運行代碼 pycharm?2022.3???????????輔助敲代碼 requests?

    2024年02月08日
    瀏覽(25)
  • 爬蟲逆向?qū)崙?zhàn)(二十)--某99網(wǎng)站登錄

    爬蟲逆向?qū)崙?zhàn)(二十)--某99網(wǎng)站登錄

    主頁地址:某99網(wǎng)站 1、抓包 通過抓包可以發(fā)現(xiàn)登錄接口是AC_userlogin 2、判斷是否有加密參數(shù) 請求參數(shù)是否加密? 通過查看“載荷”可以發(fā)現(xiàn) txtPassword 和 aws 是加密參數(shù) 請求頭是否加密? 無 響應(yīng)是否加密? 無 cookie是否加密? 無 1、看啟動器 查看啟動器發(fā)現(xiàn)有一個 NDUser_L

    2024年02月11日
    瀏覽(30)
  • 爬蟲逆向?qū)崙?zhàn)(十三)--某課網(wǎng)登錄

    爬蟲逆向?qū)崙?zhàn)(十三)--某課網(wǎng)登錄

    主頁地址:某課網(wǎng) 1、抓包 通過抓包可以發(fā)現(xiàn)登錄接口是user/login 2、判斷是否有加密參數(shù) 請求參數(shù)是否加密? 通過查看“載荷”模塊可以發(fā)現(xiàn)有一個 password 加密參數(shù),還有一個 browser_key 這個可以寫死不需要關(guān)心 請求頭是否加密? 無 響應(yīng)是否加密? 無 cookie是否加密? 無

    2024年02月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包