mac app破解之路十三 微信开发者工具新版
破解对象: 微信开发者工具v1.0.6
破解目的:可以看隐藏的源码
之前破解过,但是方法失效了,所以重新破解。
第一步,绕过验证

二进制文件: /Applications/wechatwebdevtools.app/Contents/MacOS/wechatwebdevtools

第二步:使用dzqdzq/unwxapkg工具解压

第三步:修改hideSourceContentInDevtools, 实际对应是O方法

第四步:重新打包并运行

第五步:直接看效果

破解过程其实相当复杂,刚开始思路不想绕过签名, 想通过hook的方式,去修改,不知道为啥,不论怎么hook都不生效。为此学习了一下nwjs的开发流程,调试流程。
实现没有办法了,修改了验证签名的部分逻辑, 然后后面为所欲为了、 还是那句话,破解不搞其他小动作,只是单纯看源码,调试底层源码
链接: https://pan.baidu.com/s/1C8-54PviNAGhqMdNnHfHMw 提取码: dzqd
============经过这么长时间还有人使用老的破解版本么, 下面是再次破解这个工具,不过我不会给最终结果。 本人搞这个工具是兴趣使然==================

游戏运行在一个webview(iframe)中运行:地址为:

那个黑色刘海就是一个div. z-index为104, 也就是在webview的上面。
调试器躯壳:

真正的调试器(开发者工具):

URL:devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@62f83a7521ae1f32e563795732dff0c9da1b660d/&dockSide=undocked&debugFrontend=true
鼠标右键将这个webview存储为全局变量后,变成temp1. 然后控制台输入 temp1.showDevTools(!0)
得到终极开发者工具:

这个是要修改的点。
继续探索:

这个方法是在获取服务器文件数据, 最终出口:


有点意思, 继续跟踪发现微信开发者工具, 使用的是devtools的消息协议

现在有2个开发者工具,那么这个发送给谁了?答案是给了我们见到大调试器。 Debugger.getScriptSource方法有很多触发条件, 比如commnad + P 定位js文件, 函数点击跳转。
现在还有一个疑问,为啥会显示/// hide ... wechat devtools. 显示这个内容的真正原因是什么?
写了一个简易的html, 实现了对某个js进行隐藏:

通过这个例子, 算是涨了一个姿势, 通过sourceURL来隐藏代码, 我在safari浏览器访问,又达不到隐藏的效果, 说明不通用,这种方式应该仅限基于chrome内核的浏览器。
既然是这样,想看到源码就以下种方式了:
1. 修改game/gamePage.html的内容(动态生成)将//# sourceURL 替换到其他的 (手动狗头, 聪明的你一定知道怎么改)
2. 修改源头, 将sourceURL替换掉。 这个非常复杂,你可能需要绕过签名。
3. 修改调试器, 将sourceURL相关

scriptId为408的是正确的js内容, 413是错误的内容(/// hide by wechat devtools)
当然我实现了不需要绕过签名的功能, 我hook了 Array.prototype.push方法, 实现最终的效果。
分析到这里,才算真正轻松拿捏它。
我的最新成果, 微信开发者工具最新版本,虽然显示了源码, 但是也没有那么开心了。 另外asdebug.js也没有显示



浙公网安备 33010602011771号