JS原始碼分析
直接請求抓包如下:

我們看到密文就是一個MD5的形式,
那么我們來分析下JS代碼,
搜索pwd的時候,我們看到有49個,為了方便,我們可以試著搜索pwd:、pwd :、pwd=、pwd =,
在搜索pwd=時,就看到了關于md5的函式:

我們打斷點定位后,發現果然是這段,我們點進去這個md5的函式:

進去之后我們看到了這段md5的實作方式,
當我們準備復制這一長段代碼的時候,我們看到這是一個函式內包含的函式,那就很容易想要這個是一個閉包:

那么,我們就把這個閉包函式,全部復制到除錯工具里,
然后我們看到,自動就生成了一個md5函式:

計算運算式,我們就獲取到了密文:

Python代碼
JS分析完了,那Python代碼就很容易寫了,
創建一個fanke.js檔案,把剛才的JS代碼復制進去,
import execjs
# 進行密碼逆向
node = execjs.get()
ctx = node.compile(open('./fanke.js', encoding='utf-8').read())
funcName = 'md5("{0}")'.format('123456')
pwd = ctx.eval(funcName)
print(pwd)
運行后,我們就看到了結果!

注意:
如果需要逆向的js函式的實作是出現在一個閉包中,那么直接將閉包的整個代碼塊拷貝出進行除錯即可,
關注Python濤哥!學習更多Python知識!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/341896.html
標籤:python
上一篇:7000字整理: 全網最詳細Pandas合并資料集操作總結
下一篇:用 Python 教你畫花樣圖
