主要步骤
- wxapkg -> 解包
- 反编译
- 格式化
好教程 https://forum.butian.net/share/2570
解包+反编译/解密
工具集1
D:\wechat\WeChat Files\wxid_eyv48xlg842922\Applet
D:\wechat\WeChat Files\Applet
从文件夹里找到对应小程序的 .wxapkg
文件
用UnpackMiniApp.exe
解包。如果有多个wxapk,可以一个个的用它来解包,解完一个包要改名,不然后面的会重名覆盖掉。
打开wxpack
目录可看到解包后文件.wxapkg
https://github.com/ezshine/wxapkg-convertor
然后打开wxapkgconvertor.exe
,把wx28881238baa06aeb.wxapkg
拖进去反编译
建议将目录中的app-service.js
复制内容,然后找个JS格式化网站格式化一下 这里可以用Javascript格式化在线工具:https://coding.tools/cn/javascript-beautifier
工具集2
https://blog.csdn.net/m0_60571842/article/details/132577489
PC端小程序 解密工具:UnpackMiniApp(一个exe工具已经放进wxappUnpacker目录下) 该解密工具需要在当前目录创建一个wxapkg文件夹 下载地址:https://gitee.com/steinven/wxpkg/blob/master/UnpackMiniApp.exe
先解密完后在反编译 反编译工具:wxappUnpacker 下载地址:https://gitee.com/steinven/wxpkg/blob/master/wxappUnpacker.zip
工具集3
反编译工具:unveilr 可直接解密文件夹,用于有subpackage时方便
unveilr.exe xxxxxxxx(文件夹路径)
工具集4
有个叫devtools
的工具,可以注入到微信小程序里,弹出浏览器开发者一样的工具抓包调试,看着还不错。听说容易封号
用微信开发者工具打开
会抛出错误信息,调试不了。这是正常的,因为我们不是开发者,没有数据库信息。
详情
-本地配置-把不检验合法域名、web-view、TLS版本以及HTTPS证书
勾选上-取消勾选将JS编译成ESS
-点击编译
来重新编译
小程序结构
1.主体结构
小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
一个小程序主体部分(即app)由三个文件组成,必须放在项目的根目录,如下:
文件 必需 作用
app.js 是 小程序逻辑
app.json 是 小程序公共配置
app.wxss 否 小程序公共样式表
2.一个小程序页面由四个文件组成
xxx.js 页面逻辑
xxx.json 页面配置
xxx.wxml 页面结构
xxx.wxss 页面样式
3.项目整体目录结构
pages 页面文件夹
index 首页
logs 日志
utils
util 工具类(mina框架自动生成,你也可以建立一个:api)
app.js 入口js(类似于java类中的main方法)、全局js
app.json 全局配置文件
app.wxss 全局样式文件
project.config.json 跟你在详情中勾选的配置一样
sitemap.json 用来配置小程序及其页面是否允许被微信索引
问题
没有app.json文件
法一
没看懂 什么玩意儿
法二
手动创建app.json
最关键的是pages
控制台如果报错缺少xxx就把那页添加进来
tabBar
是边栏,没什么所谓
可以参考 app-config.json
github有开源工具,可以把app-config.json
的内容转成app.json
,但我找不到了 :()
{
"pages":[
"pages/index/index",
"pages/user/user",
"pages/elect/elect",
"pages/elect/checkPlayer",
"pages/elect/playerInfo/playerInfo",
"pages/login/loginNew"
],
"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "image/home.png"
},{
"pagePath": "pages/user/user",
"text":"我的",
"iconPath": "image/sex.png"
}]
}
}
反编译出来的文件里所有页面都没有
见吾爱破解,手动修改源码
tips
微信PC版本:3.9.8.25
调试程序用WeChatOpenDevTools-Python-main 直接断点调试找sign,可能更方便一些
工具和教程
正向开发
https://www.bilibili.com/video/BV1mV4y1o7fu
存储用户登录信息
在app.js
,每次小程序启动都会重置它。
在启动时获取用户登录信息
APP((
onLaunch() {
var userInfo = wx.getStorageSync('userInfo');
if (userInfo) {
this.globalData.userInfo = userInfo;
}
},
globalData: {
userInfo: null
},
InitUserInfo: function(name, userId, avaar) {
var info = {
name: name,
userId, userId,
avatar: avatar
};
this.globalData.userInfo = info
wx.setStorageSync('userInfo', info);
},
logoutUserInfo: function() {
wx.removeStorageSync('userInfo');
this.globalData.userInfo = null;
}
))
跳转页面
在pages的相应js里:
wx.switchTab({
url: 'pages/jumpT'
})