小游戏学习--获取已发布微信小游戏源码
最近一直在做微信小游戏的开发,发现了一个好玩的事 ,在这里记录一下。
这段时间一直在做一些小游戏 ,小程序的开发,但有的时候会发现性能上总是不那么的尽如人意(毕竟我这小菜鸟水平有限),于是就想到,想要看看别的大神们是怎么处理这些问题的(其实就是想看一下大神们的代码怎么写!)。但是,有一个问题就是小游戏或者小程序和 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
版权声明:本文为博主原创文章,转载请附上博文链接!
小游戏学习--获取已发布微信小游戏源码相关推荐
- 微信小程序 访问ip服务器,微信小程序如何获取code?微信小程序如何获取用户ip?...
微信小程序如何获取code?微信小程序如何获取用户ip?最近小编收到很多问题,其中一个就是下面小编为大家整理一下关于微信小程序如何获取code的步骤,希望这些方法能够帮助到大家. 首先,调用 wx.l ...
- 微信小程序学习笔记01:微信小程序概述
文章目录 零.学习目标 一.小程序的历史 二.如何访问小程序 1.线下扫码 2.微信搜索 3.公众号关联 4.好友推荐 5.历史记录 6.桌面访问 7.附近的小程序 三.小程序与HTML5和APP比较 ...
- 微信小程序嵌套h5页面+发布微信小程序(超级简单)
将发布的h5页面转换成微信小程序,无需重新开发,操作超级简单!!! 使用到的技术为uniapp和web-view 首先,我们先来了解一下web-view是什么: 简单的一句话来讲:web-view 是 ...
- 【微信小程序常识】如何发布微信小程序体验版
一.操作步骤 (1)打开[微信开发者工具]->新建一个默认项目->点击[项目]->点击[上传] (2)使用微信小程序公众平台管理员扫描二维码,在手机微信上点击[确认上传] (3)输入 ...
- node.js云学堂微信小程序学习系统的设计与实现毕业设计源码011735
Node.js云学堂微信小程序 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...
- 微信小程序学习笔记02:微信小程序注册
文章目录 零.学习目标 一.小程序注册方法 1.注册 2.登录 二.小程序开发工具 1.下载开发工具 2.安装开发工具 3.启动开发工具 三.创建第一个小程序 1.启动开发者工具 2.新建项目 3.模 ...
- 微信小程序学习—配置HBuilder运行微信小程
第一次接触微信小程序开发.在网上找了个项目想要运行,遇到了一些问题,记录一下运行的问题,以及解决方式,供大家参考. 遇到的报错 于是上网搜索结果 第一步 在微信小程序中打开 设置-安全设置 打开服务端 ...
- 【Unity3D 游戏】 打飞机(仿微信打飞机) 源码
Unity3D游戏引擎做的打飞机游戏 就是微信 5.0 版 自带的游戏,打飞机,实现了主要功能,比较简单,初学者可以看看 话说,这几天打飞机的人可真不少...... 源码下载 http://downl ...
- Cocos Creator发布微信小游戏包内体积过大问题
1.初识 设置微信开发工具和js编辑器 3.5.2 :Cocos Creator perferences 2.Cocos Creator发布微信小游戏包内体积过大问题 2.1 已不可取:搭建本机服务器 ...
- Unity2021发布微信小游戏步骤(附带工具和源码)
Unity2021发布微信小游戏 可以先扫码体验一下效果 前言 准备工作 Unity导出小游戏步骤 公众号:加班娃 可以先扫码体验一下效果 觉得好玩,或者需要源码学习的可以添加我的公众号获取源码 源码 ...
最新文章
- 解决Table td设置了相同百分比,由于文字个数不同导致列宽不同问题
- python 字符串的魔法 day11(2)
- 美国计算机生物学要求,美国大学CS专业分支生物信息学和计算生物学专业 Bioinformatics and Computational Biology介绍...
- python打开文件要wordcloud吗,使用python创建wordcloud
- Java List集合转换相关操作
- 马化腾回应“腾讯没有梦想”;抖音用户破 2 亿;罗永浩微博打假 | 极客头条...
- pdn阻抗测试_阻抗测试基础(超详细,安捷伦工程师力作)(上篇)
- 如何使用SPSS列联表分析,查看变量间的相关关系(下)
- linux503解决方法,解决nginx 503 Service Temporarily Unavailable方法示例
- Span 介绍及使用(二)
- python 利用matplolib给绘制的地图添加方框,将所需的区域圈出来
- webpack打包、js处理兼容性、代码压缩问题Uncaught SyntaxError: Cannot use import statement outside a module (at index
- codeforces:E1. Divisible Numbers (easy version)【数论 + 复杂度计算 + 分解质因数】
- 极速办公如何在Excel中进行条件计数
- 主成份分析与因子分析的区别
- 终于可以写shui题了~
- 华为手表新款watch gt3_【新品】华为全场景新品发布会正式举行:发布多款产品...
- [Debug] printf undefined reference to `putchar‘
- Hadoop相关参数调优
- Fireworks MX 2004 制作简单动画 飞鸟翅膀煽动的动画
热门文章
- 魅族 android 文件传输,魅族文件管理app提取下载
- 使用4G模块(EC200T)发送UDP数据到内网PC端(内网穿透)
- 万能DLL1.3发布 ——您的编程好帮手
- k3 设置 虚拟服务器,k3设置服务器映射功能
- 运动控制器RTEX总线使用入门
- SODB RBSP EBSP的区别
- 上完选修计算机绘图课心得,【高师院校化工制图课教学中存在的问题与对策】 一周化工制图实训课的心得体会...
- 基于avr atmega16单片机控制2路9g舵机进行0-180°旋转,1602显示运行状态,adc采样控制舵机转速。然后适合于初学avr单片机的朋友
- ISO 18000-6c 访问标签--应用程序访问操作ISO 18000-6C标签的方法
- python监控网页变化教程_Python实时监控网站浏览记录实现过程详解