微信開發者工具 顯示隱藏的文件, asdebug等等
之前寫了兩篇博客,如果讓它顯示隱藏的文件。 今天我想使用特別的方式讓它破解它。 從開發者工具的調試器入手去解決它。
之所以有這篇博客, 是因為這個調試器很垃圾,wasm解析庫非常古老(某些情況無法完全對wasm文件進行解碼), 以及不能查看運行時的內存區域! 總之不是我想要的工具。 我決定對它進行改造并且開源
隱藏的功能并不是微信開發者工具本身實現的,而是chrome內核實現。 之前也寫過一個demo如何隱藏它
隱藏是因為sourceURL 和真實的URL重疊了。 不再過多介紹。
正式開始
先找到scripts存放的地方。
本人寫的工具: npm install search-props -g
搜索類型: searchProps(this, "type", SDK.DebuggerModel)
訪問地址:SDK.consoleModel._messages[0]._runtimeModel._target._dispatchers.Overlay._dispatchers[0]._debuggerModel._script

這個真正的內容是ide://extensions/appservice/index.js 但是調試器中顯示的名字 game/__dev__/asdebug.js. 后續還有一個souceURL和它的名字。
我之前的想法是替換或者刪除sourceURL, 但是現在我不想這么做了,我還是希望將它放在game/目錄下, 重命名真身,只要不和hide by wechat的sourceURL不同就可以。
開始改造之旅, 找到DebugModel:

比較蛋疼, 通過實際測試,就是無法重命名真身, 大概是因為名字在devtool后端已經形成。
既然是有2個URL同名, 如果第二次不允許注冊,是不是就解決了問題?

通過URL重命名, 我發現了一個奇怪的現象, 我新增了__hide_dev__, asdebug并沒有按我預想的顯示內容。

有點意外, 繼續搞它, 既然重命名URL不行,那就修改源內容吧。 因為內容都是存在的, 將/// The code has been hidden by Wechat Devtools這個代碼替換成真正的內容。

_originalContentProvider 這個才是真正的內容。 如果sourceURL為__dev__ 這樣的路徑, 那么替換一下這個對象。
修改的代碼:

最后的效果:

倉庫地址: https://github.com/dzqdzq/wxdevtools

浙公網安備 33010602011771號