掘金微信小程序源码过程中的一些经验分享
发表时间:2023-11-16 09:26:30
文章来源:炫佑科技
浏览次数:169
菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技
*近在学习微信小程序开发。 经过半个月的学习,我实在是想尝试一下其中的坑,于是就模仿了滴滴的轻骑单车小程序的前端实现。 这个过程很难描述,花了将近两周的时间。 ,我发现小程序的陷阱远比我想象的多! ! 在实际操作中,它完全是黑匣子。 在看到别人网上小程序的效果后掘金微信小程序源码过程中的一些经验分享,我纯粹靠猜测。 有些效果绞尽脑汁也能大致实现,但有些细节却费尽全力也达不到。 。 真想看看源码,看看,看看大厂的前端高手是如何避免小程序中各种奇奇怪怪的陷阱的。
于是我想到了获取小程序源文件,然后反编译恢复成源代码作为学习参考。 我在百度上搜索过各种小程序反编译教程,但感觉没有一个适合我这样的新手,而且遇到了很多坑。 这里记录一下我重新简化的快速获取微信小程序源码的方法。
我们简单谈谈xxxxx。
我们首先思考一个很简单的问题,小程序的源文件存放在哪里?
当然是在微信的服务器上。
但在微信服务器上,普通用户想要获取肯定是非常困难的。 还有其他办法吗?
如果我们简单思考一下我们使用小程序场景,我们就会明白,当我们点击一个微信小程序时,微信实际上已经把它从服务器下载到手机上然后运行了。因此,虽然我们不是能够从服务器获取到微信小程序开发源代码,我们应该能够在手机本地找到下载的小程序源文件。
那么如何在手机上找到小程序的源文件包呢?
这里我仅以手机为例。 毕竟我从来没有拥有过苹果手机。 直接给出具体目录位置:/data/data/com..mm//{{一串32位的十六进制字符串文件夹}} //pkg/在这个目录中,你会发现一些. 类型文件。 这些是微信小程序的包。
微信小程序的格式为:。
。 是一个具有自己的结构集的二进制文件。 详细内容可以参考lrdcq大师的博文:微信小程序源码阅读笔记。 但这里有一个陷阱。 如果你想进入上述目录,你肯定无法使用手机自带的文件管理器。 安卓或者两者都需要使用第三方文件管理器,如:RE文件管理器,并且安卓需要获取root权限,苹果手机必须越狱,越狱难度>>安卓获取root,无论越狱或者root,这个太费力了。 当然,有能力的同学可以直接从手机上操作,但不建议从真机上获取。
准备材料
如果未安装node.js运行环境,请先安装。 下载地址:/en/ 反编译脚本 这里是一个高手写的node.js版本。 当然,还有其他版本。 这里我只使用node。 js版本示例地址:/...模拟器(需要root权限) 我使用的是夜神模拟器获取小程序源文件的下载地址:...
详细步骤:
使用模拟器获取.file
无需越狱或root。 在电脑上使用模拟器是一种非常简单、快速且通用的获取方式。 具体步骤如下:
打开已安装的模拟器,在模拟器中安装QQ、微信以及RE管理器QQ、微信。 在模拟器自带的应用商店中搜索、下载并安装。 RE管理器的下载地址为:/s/... 下载后直接拖入打开的模拟器窗口即可自动安装并设置模拟器。 以我个人认为比较好用的夜神模拟器为例,首先进入模拟器,设置超级用户权限。
图像
图像
这些操作的目的是让RE管理器成功获得ROOT权限。 接下来,在模拟器中打开微信,然后在微信中运行你想要获取的程序(这实际上是让微信将小程序的源文件包从服务器上下载到了本地电脑。)我举的自行车小程序为例(希望滴滴师傅不要打死我~)在模拟器微信中运行后,直接切换回模拟。 在桌面上运行RE浏览器,进入/data/data/com..mm//{{32位十六进制字符串文件夹}}//pkg/目录,到达目标文件夹。
图像
您将看到一些带有 . 后缀在里面。 他们是正确的。 您可以根据使用时间判断是您刚刚从服务器下载的一般小程序。 文件不会太大。 你可以根据时间来判断。 ,按住压缩选中的文件,然后将压缩包通过QQ发送到我的电脑上。 如果不压缩,文件无法通过QQ发送。
图像
因此,QQ的这个功能可以让我们轻松的获取源文件,而不必去电脑目录中寻找模拟器的文件目录。 解压缩。 通过这几个简单的步骤,你就可以成功获取小程序的源文件了。
使用反编译脚本解压
此时,您应该已经将反编译脚本下载或克隆到本地目录。 打开命令窗口并 cd 到您克隆或下载反编译脚本的目录。 在node命令窗口中依次安装以下依赖: npm css- -es 依赖好之后,就到了*后一步,反编译。 文件输入当前目录下的node.js [-d] //files是你要反编译的文件名。 例如:我有一个文件需要反编译。 已经解压了。 当到达D盘根目录时,输出命令node..js D:。 按 Enter 运行
图像
反编译脚本可以恢复. 将文件保存为可通过微信开发工具一步运行的源文件。 目录地址与你反编译的文件地址相同。
图像
然后在微信开发工具中添加一个新项目并打开
图像
图像
操作成功,源码获取完成。
真的只需要两步
至此,我们就通过非常简单的方式获得了我们想要的一个小程序的源文件,并对其进行了反编译和对齐恢复。 然后我们要反编译其他小程序。 速度非常快,只需要两步就可以完成。
使用模拟器找到小程序。 文件并使用反编译脚本对文件进行反编译。
使用这种方法,大部分小程序可以正常反编译,但也会有一些特殊情况。 详情可以查看的档案。
写在后面的话
反编译.apk这样的文件是非常困难的,但是小程序的源代码却可以如此轻松、任意地获取。 根本原因是小程序的开发团队没有对小程序的可执行文件进行有效的保护,即对其进行加密,所以才可以使用别人写的脚本直接反编译,过程类似于减压。
其实小程序只是将图片、js、json文件压在一起,压的过程就是Wxml -> Html,Wxml -> JS,Wxss -> Css。 转换后的文件二进制格式后缀名为wx,二进制格式完全一样。
在线源代码可以很容易获得。 不得不说,小程序的源代码安全存在很大的隐患。 很多开发应该也知道这一点,所以发现有些小程序会将重要的js逻辑代码包裹在一个js文件中,即使拿到了源码,阅读起来并不方便,但还是避免不了被偷看的问题。 小程序作为微信生态的生力军,不仅受到官方政府的厚望,也受到众多开发和内容创业者的厚望。 考虑到代码的安全性,这个漏洞迟早会被修复(密封)。
因此,这里介绍的获取小程序源码的方法应该不会持续太久。