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

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

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

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

首先需要知道的是小程序在手机里的文件储存位置
—— 那么这个位置具体在哪呢   ?

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

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

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

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

————具体实现  :

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

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

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

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

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

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

3 、 设置超级用户

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

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

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

5 、 找到源文件

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

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

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

6 、 压缩

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

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

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

7 、 发送到电脑

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

8 、 拿到文件

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

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

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

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

———— 下载地址 github.com/qwerty47212…

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

然后安装以下依赖包 :

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

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

继续在当前的命令行输入

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
版权声明:本文为博主原创文章,转载请附上博文链接!

小游戏学习--获取已发布微信小游戏源码相关推荐

  1. 微信小程序 访问ip服务器,微信小程序如何获取code?微信小程序如何获取用户ip?...

    微信小程序如何获取code?微信小程序如何获取用户ip?最近小编收到很多问题,其中一个就是下面小编为大家整理一下关于微信小程序如何获取code的步骤,希望这些方法能够帮助到大家. 首先,调用 wx.l ...

  2. 微信小程序学习笔记01:微信小程序概述

    文章目录 零.学习目标 一.小程序的历史 二.如何访问小程序 1.线下扫码 2.微信搜索 3.公众号关联 4.好友推荐 5.历史记录 6.桌面访问 7.附近的小程序 三.小程序与HTML5和APP比较 ...

  3. 微信小程序嵌套h5页面+发布微信小程序(超级简单)

    将发布的h5页面转换成微信小程序,无需重新开发,操作超级简单!!! 使用到的技术为uniapp和web-view 首先,我们先来了解一下web-view是什么: 简单的一句话来讲:web-view 是 ...

  4. 【微信小程序常识】如何发布微信小程序体验版

    一.操作步骤 (1)打开[微信开发者工具]->新建一个默认项目->点击[项目]->点击[上传] (2)使用微信小程序公众平台管理员扫描二维码,在手机微信上点击[确认上传] (3)输入 ...

  5. node.js云学堂微信小程序学习系统的设计与实现毕业设计源码011735

    Node.js云学堂微信小程序 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...

  6. 微信小程序学习笔记02:微信小程序注册

    文章目录 零.学习目标 一.小程序注册方法 1.注册 2.登录 二.小程序开发工具 1.下载开发工具 2.安装开发工具 3.启动开发工具 三.创建第一个小程序 1.启动开发者工具 2.新建项目 3.模 ...

  7. 微信小程序学习—配置HBuilder运行微信小程

    第一次接触微信小程序开发.在网上找了个项目想要运行,遇到了一些问题,记录一下运行的问题,以及解决方式,供大家参考. 遇到的报错 于是上网搜索结果 第一步 在微信小程序中打开 设置-安全设置 打开服务端 ...

  8. 【Unity3D 游戏】 打飞机(仿微信打飞机) 源码

    Unity3D游戏引擎做的打飞机游戏 就是微信 5.0 版 自带的游戏,打飞机,实现了主要功能,比较简单,初学者可以看看 话说,这几天打飞机的人可真不少...... 源码下载 http://downl ...

  9. Cocos Creator发布微信小游戏包内体积过大问题

    1.初识 设置微信开发工具和js编辑器 3.5.2 :Cocos Creator perferences 2.Cocos Creator发布微信小游戏包内体积过大问题 2.1 已不可取:搭建本机服务器 ...

  10. Unity2021发布微信小游戏步骤(附带工具和源码)

    Unity2021发布微信小游戏 可以先扫码体验一下效果 前言 准备工作 Unity导出小游戏步骤 公众号:加班娃 可以先扫码体验一下效果 觉得好玩,或者需要源码学习的可以添加我的公众号获取源码 源码 ...

最新文章

  1. 解决Table td设置了相同百分比,由于文字个数不同导致列宽不同问题
  2. python 字符串的魔法 day11(2)
  3. 美国计算机生物学要求,美国大学CS专业分支生物信息学和计算生物学专业 Bioinformatics and Computational Biology介绍...
  4. python打开文件要wordcloud吗,使用python创建wordcloud
  5. Java List集合转换相关操作
  6. 马化腾回应“腾讯没有梦想”;抖音用户破 2 亿;罗永浩微博打假 | 极客头条...
  7. pdn阻抗测试_阻抗测试基础(超详细,安捷伦工程师力作)(上篇)
  8. 如何使用SPSS列联表分析,查看变量间的相关关系(下)
  9. linux503解决方法,解决nginx 503 Service Temporarily Unavailable方法示例
  10. Span 介绍及使用(二)
  11. python 利用matplolib给绘制的地图添加方框,将所需的区域圈出来
  12. webpack打包、js处理兼容性、代码压缩问题Uncaught SyntaxError: Cannot use import statement outside a module (at index
  13. codeforces:E1. Divisible Numbers (easy version)【数论 + 复杂度计算 + 分解质因数】
  14. 极速办公如何在Excel中进行条件计数
  15. 主成份分析与因子分析的区别
  16. 终于可以写shui题了~
  17. 华为手表新款watch gt3_【新品】华为全场景新品发布会正式举行:发布多款产品...
  18. [Debug] printf undefined reference to `putchar‘
  19. Hadoop相关参数调优
  20. Fireworks MX 2004 制作简单动画 飞鸟翅膀煽动的动画

热门文章

  1. 魅族 android 文件传输,魅族文件管理app提取下载
  2. 使用4G模块(EC200T)发送UDP数据到内网PC端(内网穿透)
  3. 万能DLL1.3发布 ——您的编程好帮手
  4. k3 设置 虚拟服务器,k3设置服务器映射功能
  5. 运动控制器RTEX总线使用入门
  6. SODB RBSP EBSP的区别
  7. 上完选修计算机绘图课心得,【高师院校化工制图课教学中存在的问题与对策】 一周化工制图实训课的心得体会...
  8. 基于avr atmega16单片机控制2路9g舵机进行0-180°旋转,1602显示运行状态,adc采样控制舵机转速。然后适合于初学avr单片机的朋友
  9. ISO 18000-6c 访问标签--应用程序访问操作ISO 18000-6C标签的方法
  10. python监控网页变化教程_Python实时监控网站浏览记录实现过程详解