首先声明: 此次逆向Js只为学习交流使用,切勿用于其他非法用途,关键代码均打码

刚刚写过一篇,如何从小程序中把需要逆向的项目给打包导出到本地, 并翻译成js项目,进行破解。本章节主要分享动态调试小程序逆向js的工具 微信开发者工具, 如何把js项目放工具中运行,调试,其中会有一些错误如何解决, 到最后可以直接运行,并进行调试打印出参数。

环境:

资源安装下载:

  1. 点击上方连接进行下载,根据电脑版本进行下载。

    下载完以后具体安装及注册咱们就不说了。浪费时间我也不太想写,忒麻烦。

项目运行:

这里我们把上个博客分享的如何把wxapkg 解压还原的js项目通过微信开发者打开,运行起来进行调试。(其中会有一些环境的问题会进行报错,我们尝试怎么解决, 并排查问题)

  • 打开微信开发者工具,把wxapk导入进来。

java解密小程序encryptedData 微信小程序js解密_微信开发者工具

  • 项目目录,就是wxapk 解压过来的文件夹(不太清楚解压流程的, 可以看之前分享的博客),app为(每日优鲜), 这个appid,没有的话去注册一下,速度很快。就不多xx了。
  • java解密小程序encryptedData 微信小程序js解密_3c_02


  • 项目就打开了, 但是运行起来发现 plugin/wx2b03c6e691cd7370/pages/live-player-plugin.json: [“backgroundColor”]: “black” is not hexColor

java解密小程序encryptedData 微信小程序js解密_json_03


我们进到 plugin/wx2b03c6e691cd7370/pages/live-player-plugin.json,找到报错行,百度搜了一下报错,发现最新版的微信开发者工具颜色只支持16进制的

java解密小程序encryptedData 微信小程序js解密_json_04


给改成:

java解密小程序encryptedData 微信小程序js解密_微信开发者工具_05


然后command+s (修改完保存自动运行) , windows是ctrl+s, 运行完以后发现还有两个这种错误,继续修改

java解密小程序encryptedData 微信小程序js解密_3c_06

以 ‘__’ 为开头和结尾的目录为保留目录。plugin 目录下的所有文件将会被忽略。 这个可以先不管, 忽略就忽略吧, 先运行其他的。

java解密小程序encryptedData 微信小程序js解密_微信开发者工具_07


颜色报错修改完以后,发现/pages/index/components/cell-lists/search-add/search-add.wxml下还有报错,进去看一了一下,应该是size="{{width:120,height:32}}" 这个地方有问题,定位不到具体位置,把大括号去掉,就可以继续往下走了, 工具是一步步往下执行,那里有报错就会卡住退出,这篇分享也是逐步往下执行。

java解密小程序encryptedData 微信小程序js解密_微信开发者工具_08


执行到 pulgin-private目录的时候,发现文件一直报错,这里就是坑了 (修改了各种文件,折腾了一个下午才弄明白), 原来是wxappUnpacker 解压出来的文件夹 带了个 ":” 导致小程序一直读不到文件,无法往下继续执行,修改文件名称:

java解密小程序encryptedData 微信小程序js解密_json_09


把pulgin-private: 修改为pulgin-private,然后继续执行, 然后又遇到了这类的报错: error: https://dc-eventlog.missfresh.cn 不在以下 request 合法域名列表中,请参考文档, 大概意思就是微信开发者工具后台需要给自己设计一些域名,但是可以通过设置不验证域名: 右上角>详情>本地设置>不校验合法域名、web-view(业务域名)

java解密小程序encryptedData 微信小程序js解密_3c_10


继续往下运行:

java解密小程序encryptedData 微信小程序js解密_json_11


发现基本已经运行整个项目了, 请求也已经开始发送出去了,但是页面还需要加个开通小程序的位置信息, 需要在app.json里增加

java解密小程序encryptedData 微信小程序js解密_3c_12

"permission":{
    "scope.userLocation":{
      "desc":"请点击确定"
    }
  },

这样解压出来的小程序代码就可以进行使用了。

java解密小程序encryptedData 微信小程序js解密_微信开发者工具_13

调试:

java解密小程序encryptedData 微信小程序js解密_3c_14


输出

java解密小程序encryptedData 微信小程序js解密_3c_15

ok, 现在基本上破解一个wx小程序的一个流程大概就已经完成了, 剩下的就是如何进行调试破解了,
这个工具可以说是小程序调试神器,修改代码很方便,并且易调试,可以修改手机型号,真机调试,清理缓存,
快速定位加密代码,绝对是爬虫的一个神器,大家可以尝试一下,大家有什么问题可以留言, 欢迎来撩, 希望收藏,也可以提交出来, 往后我会继续分享一些爬虫的奇淫巧技。希望可以共同学习共同进步。