微信小程序源码获取流程

在对小程序做测试时,发现可以从安卓本地拖出小程序源码,在此做个简单的记录。

思考内容:
  • 首先,小程序的微信源码肯定时存在服务器上的。
  • 其次,在使用小程序时,微信会将小程序从服务器下载到本地,然后再运行,所以在无法从服务器上获取源码的情况下,可以从手机本地获取到下载下来的的小程序源文件。
需知内容:
  • 小程序目录位置:/data/data/com.tencent.mm/MicroMsg//alilibrand/likg/
  • 在以上的目录下,会发现一些 xxxxxxx.wxalikg 类型的文件,这些就是微信小程序的包,微信小程序的格式是:.wxalikg,.wxalikg,是个二进制文件,有其自己的一套结构。
  • 这里有一点需要注意,想要进入到上面这个目录的话,用手机自带的文件管理器肯定是不行的,安卓或者iPhone都要要用到第三方的文件管理器,比如:RE文件管理器,并且安卓需要取得root权限,而苹果手机肯定是要越狱的,且iPhone的越狱难度>>安卓获取root,不管越狱还是root,这都太费劲(也让手机系统存在一定安全和稳定性破坏风险),当然有能力的同学可以直接从手机上来操作,但是这里不推荐从真机上获取。
准备内容:
  1. RE管理器(下载地址:http://www.pc6.com/az/56118.html
    也可以下载应用中心搜索到的"RE管理器rootexplorer",都一样;下载好直接拖到模拟器中,会自动安装,记得要允许授权
  2. node.js运行环境(建议在Windows安装,下载地址:nodejs.org/en/
  3. 反编译脚本,网上都提供一个Github上qwerty472123大神写的node.js版本的,当然也有其它版本的,本篇重点是怎么提取出手机里的缓存文件,简单地用node.js版本来举例(地址1地址2
  4. 安卓模拟器(要求自带root权限),建议使用夜神模拟器来获取小程序源文件,下载地址:https://www.yeshen.com/
操作流程
  • 打开安卓模拟器,在模拟器中安装QQ、微信、RE管理器
  • QQ和微信可以在模拟器中的应用商店里下载(这里使用微信有个坑,需要再开一个模拟器安装,才能用,原因不明,个人觉得是夜神的支持没做好)
  • RE管理器下载好后,拖到模拟器中安装并授权
  • 到模拟器内部设置超级用户权限
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这些操作的目的是为了能让RE管理器获取到ROOT权限
  • 接下来在模拟器里打开微信,然后在微信中运行想要获取的小程序(这其实是让微信把小程序的源文件包从服务器下载到了本地)
  • 这里以“BSL”小程序为例,在微信中运行一下小程序
  • 回到模拟器桌面运行“RE管理器”,进入目录:/data/data/com.tencent.mm/MicroMsg/{{类似一个a8b3488516c9d81e1d5f511891583cf9的文件夹,看最新日期来找}}/appbrand/pkg/
  • 这里能看到几个.wxapkg后缀的文件,再次根据最新日期来判断那个是刚从服务器下载过来的(或者用最笨的办法,全都反编译看看哪个是对的,但不建议这样做)
  • 长按所选文件,点击右上角三个点的更多图标,下滑点击“压缩所选文件”(不压缩的话,无法将文件通过QQ来发送,所以QQ的这个功能会便于我们拿源文件,而不用去电脑目录中找模拟的文件目录)
  • .将压缩好的包通过QQ发送到我的电脑,具体操作是压缩好会有一个弹窗告诉你压缩完成,再点击“查看”->找到并长按最新压缩的那个文件-> 右上角“更多”图标->点按“发送”->点按“发送到我的电脑”
  • 用电脑打开QQ,就直接下载到本地了
  • 解压后,就拿到小程序的源文件了
使用反编译脚本解包 wxapkg
  • 地址2中的反编译脚本下载下来,并解压
  • 进入解压好的目录下,SHIFT + 右键 打开PowerShell
  • 在PowerShell命令行中输入以命令来安装所需要的依赖
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
  • 安装好依赖后,就要操作最后一步,反编译.wxapkg文件了
  • 在当前目录下的PowerShell命令行中输入:
    node .\wuWxapkg.js [-d] <files...> //files 就是你想要反编译的文件名

比如:我要编译的文件_951391708_39.wxapkg在桌面,那就需要输入命令:

node .\wuWxapkg.js C:\Users\Administrator\Desktop\_951391708_39.wxapkg\_951391708_39.wxapkg
  • 回车运行
    在这里插入图片描述
  • 反编译脚本就将.wxapkg 文件还原为微信开发者工具能够运行的源文件,反编译后的文件在你反编译的文件同一个目录
  • 最后下载微信开发者工具,下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
  • 安装并打开微信开发者工具,记得要注册
  • 点左上方“项目”->“导入项目”->蓝字“测试号”->目录选编译好的源码目录即可->最后点“导入”
    在这里插入图片描述
    在这里插入图片描述
    这样就算成功了。

另外遇到个别问题,可以看参考链接中三篇文章最后的说明。

参考链接:

  • 3
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于Springboot和卷积神经网络的蘑菇识别微信小程序源码+详细项目说明+数据库+示例截图.zip # mushroom 基于卷积神经网络的蘑菇识别微信小程序(“识菇”) ## 项目描述 本项目是基于SpringBoot和图像分类算法用来识别蘑菇的微信小程序,根据拍摄上传的蘑菇图片,通过python脚本调用训练好的模型,经过后端处理,最后返回识别结果的类别及其识别准确率。 ## 技术亮点 - 采用**MobileNetV2**进行作为蘑菇图像分类的特征提取网络,使模型轻量化,使得参数量减少了60%,加快访问速度 - 通过@ControllerAdvice注解实现拦截器,利用@ExceptionHandler注解捕捉所有异常,进行统一处理 - 为提升查询效率,在蘑菇学名字段上建立了索引 ## 1.1 总体设计 介绍了小程序的整体系统架构以及使用小程序进行蘑菇识别的流程。 ### 1.1.1 系统架构 小程序采用前后端分离架构,前端采用taro框架,后端采用springboot框架,并通过nginx进行请求转发。 ​ ![image-20230303002906904](新建文本文档.assets/image-20230303002906904.png) ### 1.1.2 识别流程 使用小程序对蘑菇进行识别时,小程序会向后端发起请求,后端再调用python脚本进行识别,并从数据库查询蘑菇具体信息。 ![image-20230303002915623](新建文本文档.assets/image-20230303002915623.png) ## 1.2 算法实现 介绍了蘑菇识别算法采用的数据集,识别算法的设计与实现,以及算法的识别效果与所做的改进。 ### 1.2.1 数据集 在kaggle获取,地址: .....

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值