本次实验环境:

- 操作系统:Windows 10 10.0.19042

- Node.js:v14.17.0

- 微信开发者工具:Stable 1.05.2110290

前期准备:

- 设备:xcx688

开始反编译小程序:

1. 获取小程序包。路径为:`/data/data/com.tencent.mm/MicroMsg/7931eb2bec903760d4266d663b5fbd0e/appbrand/pkgwxcode东方财富`

2. 解包命令:`wxappUnpackeryarn installwxappUnpackernode wuWxapkg.js`

在执行命令的过程中,可以看到以下提示:

这是一段微信小程序的代码,使用了WXSS(Weixin Style Sheets)进行样式设计。

微信小程序开发教程

## 准备工作

1. 在计算机上安装 Node.js

2. 使用命令行工具初始化一个新的项目文件夹,输入以下命令:

```bash

mkdir weapp-demo

cd weapp-demo

npm init -y

```

3. 安装所需的依赖包,输入以下命令:

```bash

npm install wu-cli --save-dev

```

4. 创建一个 `wuConfig.js` 文件,用于配置项目信息。在这个文件中添加以下内容:

```javascript

module.exports = {

// 项目相关配置

};

```

5. 创建一个 `wuJs.js` 文件,用于编写 JavaScript 代码。在这个文件中添加以下内容:

```javascript

console.log('Hello, WeChat Mini Program!');

```

6. 创建一个 `wuWxml.js` 文件,用于编写 WXML 代码。在这个文件中添加以下内容:

```html

Hello, WeChat Mini Program!

```

7. 创建一个 `wuWxss.js` 文件,用于编写 WXSS 代码。在这个文件中添加以下内容:

```css

/* 在这里编写样式 */

```

8. 创建一个 `wuWxapkg.js` 文件,用于打包小程序。在这个文件中添加以下内容:

```javascript

const fs = require('fs');

const path = require('path');

const WuCommand = require('wu-cli').WuCommand;

const configPath = './wuConfig.js'; // 根据实际情况修改配置文件路径

const projectPath = './'; // 根据实际情况修改项目路径

const outputPath = path.join(projectPath, 'dist'); // 根据实际情况修改输出路径

const wuxamgr = new WuCommand(); // 实例化 WuXamgr 对象,调用其方法实现打包功能(如需要)

wuxamgr.build(configPath, projectPath, outputPath); // 执行打包操作(如需要)

```

9. 在命令行工具中运行以下命令进行打包:

```bash

node node_modules/wu-cli/lib/build/command/wxapkg.js [-m] [-o] [-d] [-s=] [--] args ... --entry='index/index' --output='dist' --platform='miniprogram' --config='config/miniprogram-base.json' --public='public' --src='src' --utils='utils' --views='views' --statics='statics' --env="develop" --project="project" --project-dir="project" --project-root="project" --output-dir="output" --output-url="http://localhost:8080" --extra-plugin-options="" --plugins="" --watch "false" --log "error" --overwrite "false" --format "wxapkg" --minified "false" --no-es6 "false" --no-template "false" --no-miniprogram-api "false" --no-manifest "false" --no-wxss "false" --no-wxacode "false" --no-login "false" "--appid="" "--accountid="" "--wechatname="" "--email="" "--description="" "--logo="" "--qrcode="/static/img/qrcode.png" "--settingdata=" "--loglevel=" --logtarget="console" > output.log 2>&1 & tailf -F $OUTPUT_DIR/logs/miniprogram-devtools.log > output2.log 2>&1 & wait $! && echo "Build completed!" || echo "Build failed!" >&2; exit $?; exitCode=$?; if [ $exitCode != 0 ]; then exit $exitCode; else exit $?; fi; process.exit($exitCode)" node node_modules/wu-cli/lib/build/command/wxapkg.js [-m] [-o] [-d] [-s=] [--] args ... --entry='index/index' --output='dist' --platform='miniprogram' --config='config/miniprogram-base.json' --public='public' --src='src' --utils='utils' --views='views' --statics='statics' --env="develop" --project="project" --project-dir="project" --project-root="project" --output-dir="output" --output-url="http://localhost:8080" --extra-plugin-options="" --plugins="" --watch "false" --log "error" --overwrite "false" --format "wxapkg" --minified "false" --no-es6 "false" --no-template "false" --no-miniprogram-api "false" --no-manifest "false" --no-wxss "false" --no-wxacode "false" --no-login "false" "--appid="" "--accountid="" "--wechatname="" "--email="" "--description="" "--logo="" "--qrcode="/static/img/qrcode.png" "--settingdata=" "--loglevel=" --logtarget="console" > output.log 2>&1 & tailf -F $OUTPUT_DIR/logs/miniprogram-devtools.log > output2.log 2>&1 & wait $! && echo "Build completed!" || echo "Build failed!" >&2; exit $?; exitCode=$?; if [ $exitCode != 0 ]; then exit $exitCode; else exit $?; fi; process.exit($exitCode)" node node_modules/wu-cli/lib/build/command/wxapkg.js [-m] [-o] [-d] [-s=] [--] args ... --entry='index/index' --output='dist' --platform='miniprogram' --config='config/miniprogram-base.json' --public='public' --src='src' --utils='utils' --views='views' --statics='statics' --env="develop" --project="project" --project-dir="project" --project-root="project" --output-dir="output" --output-url="http://localhost:8080" --extra-plugin-options="" --plugins="" --watch "false" --log "error" --overwrite "false" --format "wxapkg" --minified "false" --no-es6 "false" --no-template "false" --no-miniprogram-api "false" --no-manifest "false" --no-wxss "false" --no-wxacode "false" #--no-login "false" "--appid="" "--accountid="" "--wechatname="" "--email="" "--description="" "--logo="" "--qrcode="/static/img/qrcode.png" "--settingdata=" "--loglevel=" #--logtarget="console"> output.log 2>&1 & tailf -F $OUTPUT_DIR/logs/miniprogram* > logs.txt 2>&1 & wait $! && echo "Build completed!" || echo "Build failed!" >&2; exit $?; exitCode=$?; if [ $exitCode != 0 ]; then exit $exitCode; else exit $?; fi; exit $exitCode; exitCode=$? #注意勾选不校验合法域名这个小程序貌似并没有使用es6语法解包其它小程序可能项目配置略有差异多调试调试。体验版解包体验版的需要找到debug开头的文件(形如:debug_xxx)然后拿到文件后手动添加wxapkg后缀再执行以上操作即可解包时提示是子包写在最后今天的干货就分享到这里。欢迎一键三连,持续关注“安前码后”,一个只输出干货而不是随大流的技术号。另外,赚钱的号“韭盾”,也在持续开发中,有投资兴趣的铁子们可以先关注,绝对是好物。