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

这段时间一直在做一些小游戏 ,小程序的开发,但有的时候会发现性能上总是不那么的尽如人意(毕竟我这小菜鸟水平有限),于是就想到,想要看看别的大神们是怎么处理这些问题的(其实就是想看一下大神们的代码怎么写!)。但是,有一个问题就是小游戏或者小程序和 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 版权声明:本文为博主原创文章,转载请附上博文链接!

微信小程序--获取已发布微信小游戏和小程序源码相关推荐

  1. 微信小程序---- 获取手机号(微信最新更新)

    微信小程序---- 获取手机号(微信最新更新) 前言:需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphone ...

  2. 基于微信小程序共享停车位设计与实现SSM_car.rar(项目源码+数据库文件+微信小程序开发+后端java语言)

    主要功能实现了共享车位的创建,车位的管管理,创建车辆.车辆的管理.附近车位.显示车位的编号,车位的位置,车位的状态,车位.可以查看订单记录车位.停费时间,确认时间计费的时间.可以删除,订单也可以确认是 ...

  3. 美团饿了么外卖返利小程序公众号搭建外卖返利分销系统代cps源码

    美团饿了么外卖返利小程序公众号搭建外卖返利分销系统代cps源码 外卖CPS小程序源码分享 饿了么.美团优惠开发(外卖cps,三级裂变源码) 源码或搭建 http://y.mybei.cn/ 截图 功能 ...

  4. 抖音小程序基础之 目前提供哪些API(教程含源码)

    抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...

  5. 打砖块小游戏php程序,javascript实现打砖块小游戏(附完整源码)

    小时候玩一天的打砖块小游戏,附完整源码 在?给个赞? 实现如图 需求分析 1.小球在触碰到大盒子上.左.右边框,以及滑块后沿另一方向反弹,在碰到底边框后游戏结束: 2.小球在触碰到方块之后,方块消失: ...

  6. “限时分享“ 本地80个小游戏 HTML+CSS+JS源码分享

    开源项目集合 1. "限时分享" 本地80个小游戏 HTML+CSS+JS源码分享 2. "限时分享" 别错过了,最全的微信小程序源码收集分享 里面有80款小游 ...

  7. 编程语言用 Java 开发一个打飞机小游戏(附完整源码)

    编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...

  8. 帝国CMS仿核弹头H5小游戏模板/92Game仿游戏网整站源码

    正文: 完整标题: 帝国CMS仿核弹头H5小游戏模板/92game帝国CMS内核仿游戏网整站源码 帝国cms仿核弹头h5小游戏模板,92game帝国cms内核仿游戏网整站源码.比较适合小游戏发布.AP ...

  9. c++编写手机小游戏代码_经典小游戏大集合(C++ 源码)

    [实例简介] 五子棋 贪吃蛇 俄罗斯方块 黑白棋 连连看 推箱子 扫雷等7个小游戏 C++源码 VC6.0 下编译运行. [实例截图] [核心代码] 经典小游戏大集合(C源码) └── 经典小游戏大集 ...

  10. 帝国CMS仿核弹头H5小游戏模板/92game帝国CMS内核仿游戏网整站源码

    帝国CMS仿核弹头H5小游戏模板/92game帝国CMS内核仿游戏网整站源码 ☑️ 编号:ym498 ☑️ 品牌:帝国CMS ☑️ 语言:php ☑️ 大小:360MB ☑️ 类型:仿核弹头H5小游戏 ...

最新文章

  1. ASP.NET AJAX 1.0 发布
  2. centos uwsgi配置_centos下配置nginx+uwsgi运行py以及静态文件的加载
  3. php怎么生成前端网页,PHP自动生成前端的表单框架
  4. 解决启动springboot项目时localhost一直显示Whitelabel Error Page和@ConfigurationProperties标红
  5. 深入理解Spark 2.1 Core (八):Standalone模式容错及HA的原理与源码分析
  6. 用原生JS实现旋转轮播图
  7. raw_input() 与 input() __ Python
  8. Hamcrest匹配器常用方法总结
  9. java如何调用蜂鸣器_用鸿蒙OS在蜂鸣器上播放一曲《两只老虎》
  10. EDI 助力 VMI 加固供应链三道防线
  11. Linux Wps 缺少字体
  12. 体验一命通关 - Java技能树测评
  13. 封装PC端使用海康插件播放摄像头直播流(VUE)
  14. FreeMarker学习手册
  15. python--web--让python提供api服务--aiohttp
  16. Android系统添加USB共享网络
  17. 高德地图(AMap)JavaScript API的使用
  18. 【fq_codel】fq_codel on Router
  19. ElasticSearch聚合
  20. pybullet机器人仿真环境搭建 1.安装pybullet,测试官方示例,基础环境搭建

热门文章

  1. nbu备份oracle兼容性,NBU备份ORACLE的问题
  2. linux脚本取消空格,Shell去除空格和空行的方法
  3. hub设备_五年内任何问题,直接换新,毕亚兹 USB3.0四口HUB分线器体验
  4. 云忧cms搭建在宝塔nginx服务器,登录报错
  5. BM3D算法半解,带python代码
  6. win10平板续航测试软件,Win10 S版Surface Pro 4续航测试
  7. 多级小波分解网络:可解释的时间序列分析
  8. Web UI设计基础
  9. java双重循环去重_java 中 list集合去重
  10. php下获取客户端IP