微信小程序–获取已发布微信小游戏和小程序源码「建议收藏」

最近一直在做微信小游戏的开发,发现了一个好玩的事,在这里记录一下。这段时间一直在做一些小游戏,小程序的开发,但有的时候会发现性能上总是不那么的尽如人意(毕竟我这小菜鸟水平有限),于是就想到,想要看看别的大神们是怎么处理这些问题的(其实就是想看一下大神们的代码怎么写!)。但是,有一个问题就是小游戏或者小程序和H5、网页不一样,不能直接F12看代码,要怎么才能拿他们的代码呢?  …

大家好,又见面了,我是你们的朋友全栈君。

最近一直在做微信小游戏的开发,发现了一个好玩的事 ,在这里记录一下。

这段时间一直在做一些小游戏 ,小程序的开发,但有的时候会发现性能上总是不那么的尽如人意(毕竟我这小菜鸟水平有限),于是就想到,想要看看别的大神们是怎么处理这些问题的(其实就是想看一下大神们的代码怎么写!)。但是,有一个问题就是小游戏或者小程序和 H5 、 网页 不一样,不能直接F12 看代码,要怎么才能拿他们的代码呢 ?  

 

在经过一顿的探索折腾,加百度 ,发现了一个办法还算是可行  :  就是通过缓存在手机上的小程序文件,进行反编译还原原来的代码。

 

那么具体怎么实现呢 ,接下来具体说一下:

 

首先需要知道的是小程序在手机里的文件储存位置

—— 那么这个位置具体在哪呢   ?

———— 具体目录位置:/data/data/com.tencent.mm/MicroMsg/{
{一串32位的16进制字符串名文件夹}}/appbrand/pkg/  在这个目录下会有一些 xxx.wxapkg 这样后缀的文件,这些就是小程序或者小游戏的包。

 

———— xxx.wxapkg 是什么呢?

——————微信小程序源码阅读笔记1 这里有一篇详细介绍的文件 大家可以看一下。

 

然后获取小程序的  .wxapkg 包

—— 我获取的方法: 我是在电脑上用root过的安卓的手机模拟器 ,上安装RE文件管理器 ,然后通过管理器获取到的。

————具体实现  : 

 1 、 安装手机模拟器(这里我用的是夜神模拟器)

  下载地址  :https://www.yeshen.com/cn/download/fullPackage

2 、 在模拟器上安装 微信 , qq ,RE管理器

       RE管理器先下载到电脑上,然后再拖到模拟器里面就可以了。

       RE管理器 下载地址 :https://pan.baidu.com/s/1PPBx08rNutXxhlMMJbuTpQ

       微信 ,qq  直接在模拟上下载。

3 、 设置超级用户

       安装好RE 管理器之后需要 给RE 设置超级用户这个权限。

4 、 去缓存小游戏或小程序

       打开微信 然后找到你想要获取代码的小游戏或小程序  打开这个小游戏或小程序,程序开始运行之后源文件就已经下载到本地了。

5 、 找到源文件

       将模拟器的操作页面切换到桌面 ,运行RE管理器 ,然后在管理器里面找到之前说到的那个目录:

   /data/data/com.tencent.mm/MicroMsg/{
{一串32位的16进制字符串名文件夹}}/appbrand/pkg/

 

       微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

       这里这些就是我们需要的源文件包,然后再通过 访问的时间 找到刚才运行的程序是哪一个就可以了。

6 、 压缩

        我们需要先把要用的文件进行压缩 zip ,如果不压缩发送文件时会提示  文件无效。

        长按这个文件,会出现一个工具栏 ,然后点击工具栏的右侧的按钮,选择压缩所选文件

         微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

         微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

         压缩完成之后  根据提示点击查看

        微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

7 、 发送到电脑

       找到需要的文件后,还是长按这个文件,会出现一个工具栏 ,然后点击工具栏的右侧的按钮,选择发送,然后选择你要发送的位置(三个选择方式都行只要你能拿到这个文件就行)

        微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

       

       微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

       8 、 拿到文件  

       微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

      这就是我们需要的文件  。 接下来就是对它进行反编译  ,解析出源码来了 。

最后反编译 

—— 首先反编译要用到node .js 运行环境 

———— node 下载地址 : https://nodejs.org/en/

—— 然后反编译用的脚本 (GitHub上qwerty472123大神写的node.js版本的)

———— 下载地址 https://github.com/qwerty472123/wxappUnpacker

这两样都安装好了之后 ,打开编译脚本所在的文件夹 ,然后shift + 鼠标右键 在菜单中选择  “在此处打开命令窗口” 

微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

然后安装以下依赖包 :

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

npm install

这些都安装好之后 ,最后一步的反编译就来了  :

继续在当前的命令行输入  

node wuWxapkg.js [-d] <files…>     //files 就是你想要反编译的文件名

比如 :有一个 _-1568765780_11.wxapkg  这个文件 

微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

 直接复制地址栏里的地址  +  文件名

node .\wuWxapkg.js C:\Users\Administrator\Desktop\app123\_-1568765780_11.wxapkg 

回车运行

微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

完成之后 源文件是在的文件夹里会出现一个相同名字的文件夹 ,这个文件夹里就是你需要的小游戏或小程序的所有的源码。

微信小程序--获取已发布微信小游戏和小程序源码「建议收藏」

到这里所有的就都完成了 ,剩下的就全是自由发挥了。

——————— 作者:chao2458 来源:CSDN 原文:https://blog.csdn.net/chao2458/article/details/81381692?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129490.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • android deeplink流程,Android Deeplink探究[通俗易懂]

    android deeplink流程,Android Deeplink探究[通俗易懂]移动端深度链接,简称deeplink。这是一种通过uri链接到app特定位置的一种跳转技术,不单是简单地通过网页、app等打开目标app,还能达到利用传递标识跳转至不同页面的效果。参考CreateDeepLinkstoAppContent场景在推广、广告、应用间跳转的场景下,使用极多。这里将根据以下要点来介绍deeplink。intentintent-filterscheme原理介绍in…

  • Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]

    Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]在Java接受前端传过来的数据信息的时候,使用List<List<double>>进行接收结果出现这个错误java.lang.Integercannotbecasttojava.lang.Double是类型转换出现的错误,当是这个数据在前端明明处理过,使用parseFloat转为了浮点数后端使用List<List>进行接收,此时也没有报错于是打开debug进行调试检查问题,发现传过来的数值如果是整数则为Integer类型,有小数的才是double类型

  • 软件安装管家(2021年4月15更新)

    软件安装管家(2021年4月15更新)在网上看到许多小伙伴在问软件安装管家公众号为什么不能用了,在这里就把他们的一些资源整理出来分享给大家啦!各位观众老爷赶紧点赞收藏吧!软件导航①电脑系统 ②办公软件③图像处理④影视动画⑤AutoCAD⑥3D设计⑦机械设计⑧建筑设计⑨网页设计⑩开发编程⑪数据分析⑫仿真模拟⑬行业软件软件目录①电脑系统 安装环境PE工具箱Vmware(虚拟机)Windows10U盘安装win10直接安装win10虚拟机装win10Win10官方原版镜像文件下载地址汇总Windows7U盘安装win7直接安装

  • matlab求解延迟微分方程_状态依赖时滞微分方程的动力学研究

    matlab求解延迟微分方程_状态依赖时滞微分方程的动力学研究固定时滞的微分方程:满足下面的形式,也就是微分方程右边包含时滞部分,且时滞为常数。使用dde23函数求解:问题:       (1)微分方程定义:多了一个时滞部分创建myddefun.m文件,文件里的内容如下:functiondy=myddefun(t,y,Z)dy=[Z(1,1);Z(1,1)+Z(2,2);

  • 零拷贝java_java arraycopy方法

    零拷贝java_java arraycopy方法importcom.fasterxml.jackson.databind.JsonNode;//导入方法依赖的package包/类/***Appliesthisschemaruletotaketherequiredcodegenerationsteps.**AJava{@linkEnum}iscreated,withconstantsforeach…

  • CSS3 选择器

    CSS3 选择器CSS3选择器分为:结构型伪类选择器、UI元素状态伪类选择器,否定选择器,和伪元素一、结构型伪类选择器:first-child选择某个元素的第一个子元素; :last-child选择某个元素的最后一个子元素; :nth-child()选择某个元素的一个或多个特定的子元素; :nth-last-child()选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算; :…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号