工作中遇到一个小程序,用了一定的测试。 当我抓包的时候,发现里面的w和浏览器的不一样。
这时候就需要对小程序进行逆向工程,看看里面的w是如何生成的。
按照网上的教程,在手机上找到几个后缀为“/data/data/com..mm//{}//pkg”的包。 我们先把它们全部删除,然后打开需要逆向的小程序。
会出现几个包,然后将它们压缩并发送到计算机。
然后使用柔丝姐推荐的小程序反编译工具进行反编译
地址:
反编译这两个包后发现第一个是主包,第二个是子包,但不知道第二个包是做什么的。 。 我用过这个分包功能,发现没什么用。 。
没关系,在微信开发者工具中打开主包即可。
我打开发现有错误。 我问了下老大,他说反编译后会丢失一些组件,需要重新引入。
从这里下载小程序的组件
根据文档我们知道小程序的组件都在//dist目录下。
根据报错可以看出该组件在反编译文件里面。对比两个文件夹中的文件
如果发现文件夹里的东西相似,就把dist里的所有文件复制进去,替换掉,组装就完成了。
将出现该界面。 有时可能会出现一些奇怪的问题,需要通过报错来分析。

那么在操作发送请求的时候就会出现这个错误。
您需要在右上角的详细信息中检查这一点
只有这样才能正常发送请求。
然后我发现发送请求的时候出错了。
直接前往该地点
发现这个路径可能无法访问。
直接改成/xxxx然后重命名同目录下的文件夹,然后重新编译发现有数据。
如果你也有这个请求包,可以调试js,并逆向里面的加密。
逆向之后发现极限验证无法触发。 验证码是这样触发的。
肯定是缺少组件导致的,所以我直接去解仙官网制作了一个小程序的demo。
申请后即可免费使用
滑动之后会发出请求,然后通过调用栈可以找到加密的位置,然后就可以进行调试了。
我发现是一个没有混淆的js,应该比网页版的难度要低一些。 可以在每个请求中反转w算法,然后在刚才的小程序中复用。