項目基本使用
準備環境:node.js + python + chrome
npm install chrome-remote-interface
pip install playwright
playwright install chromium
pip install mitmproxy
...............
第一步啟動cdp.js。
第二步使用python .\cdp_load.py vue_demo,連接cdp,此時會有兩個本地接口發送至burp。
第三步找到加密點,這一章節去看別的文章即可,積累經驗。
第四步調試本地加解密以及timestamp、requestId、sign接口。
第五步構造原汁原味的mitmproxy接口與本地加解密接口通信。
第六步保留該斷點網頁(注意該技術使用的是在該斷點幀執行表達式,斷點是不能動的),打開新的測試的網頁,使用burp將l(n)替換為n,即前端替換成明文數據。
#當然我這里使用的是條件斷點調試展示,對條件斷點感興趣的可以去了解一下。
第七步調試明文與mitmproxy耦合加密簽名關系與服務器通信測試。
保留存在調用接口展示,方便調試bug。
完成所有代碼加解密流程,整體干凈整潔清爽,原汁原味,還可以將一部分JS函數做成接口,避免手動重復實現。優點多多,個人感覺比jsrpc更好用,更簡單輕便。
預熱一下
安卓微信小程序的JS修改技術。