Skip to content

全自动化,微信小程序 wxapkg 包 源代码还原工具, 线上代码安全审计

License

Notifications You must be signed in to change notification settings

liuzjMr/wedecode

 
 

Repository files navigation

Wedecode


npm package license license


微信 wxapkg 反编译工具,已经支持大多数小程序完美还原

Windows MacOS Linux 跨平台支持

支持功能

SUPPORT

  • 支持 小程序 还原
  • 支持 小游戏 还原
  • 支持分包代码和插件代码还原
  • 完美还原目录结构和源代码
    • JS 代码还原
    • WXML 代码还原
    • WXSS 代码还原
    • WXS 代码还原
    • JSON 文件还原
  • 其他类型文件还原 ( 媒体资源,wasm, workers...等 )
  • 所有代码美化输出
  • 小程序包扫描

TODO

  • 小程序自动解密( 最近几年的电脑端包都不需要解密,以后看情况跟进 )

准备

该工具只能在有 nodejs 环境设备上运行, 如果您还没有 nodejs 环境,点这里 去准备环境

安装工具

全局安装, 安装完成后在任意终端都可使用

# window
  npm i wedecode -g
# mac
  sudo npm i wedecode -g

运行

命令行直接输入 wedecode 即可运行, 全程自动引导

  wedecode

命令行直接指定参数

# 手动指定一个包
  wedecode ./name.wxapkg
# 或者  编译当前命令行所在文件夹内的所有包
  wedecode ./
# 或者  编译当前命令行所在文件夹下名为 dirname 文件夹的所有包
  wedecode ./dirname
# 或者: 将编译结果输出到指定目录 --out 为输出目录
  wedecode ./  --out ./output_path
# 你也可以预设任意命令行参数, 在交互时将不会向您提问, 例如
  wedecode --out output_path --clear --open-dir

使用源码运行

  git clone https://github.com/biggerstar/wedecode
  npm install  # 如果 npm 安装很慢, 可以使用右侧命令换国内的淘宝源  npm config set registry https://registry.npmmirror.com
  npm run start

命令参数

参数 作用
<packages...> 包所在路径,可以是文件或者目录
-o, --out <path> 产物及输出路径, 未指定默认放到同级目录下的 OUTPUT
--open-dir 结束编译后打开查看产物目录
--clear 是否清空旧产物
--px 是否使用 px 像素单位解析 css, 默认使用的是 rpx 单位
--unpack-only 是否只进行解包,不进行反编译

polyfill

在编译过程中, 在包所在文件夹在创建一个 polyfill 目录,如果发现里面的模块和输出到产物中的模块路径名称一致, 将会使用自定义的js模块,忽略原本js模块的编译

小程序包所在位置目录结构
  
├── target_dir  
│   ├── xxx.wxapkg    
│   ├── xxx-sub.wxapkg    
│   └── polyfill/  
│       └── @babel/    
│           └── array.js    

输出产物目录结构   

├── OUTPUT  
│   ├─ app.json  
│   ├─ pages/  
│   ├─ components/  
│   ├─ @babel/  
│      └── array.js

QA

  1. Q: 为何编译出来好多文件只有默认模板?
    A: 这可能是缺失分包,你需要把分包放在一起编译, 你可以在 app.config.json 或者 app.json 文件中查看你依赖的分包信息,
    在编译产物中出现默认模板是因为小程序会检查依赖,为了保证在缺失某些分包的情况下正常运行而生成的默认模板

免责声明

该工具仅限用于: 线上代码安全审计以便快速发现漏洞, 学习反编译原理,
请遵守国家法律, 严禁任何非法用途,
若你使用的范围不在国家法律允许的范围内, 造成的一切法律后果与作者无关。

About

全自动化,微信小程序 wxapkg 包 源代码还原工具, 线上代码安全审计

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 93.9%
  • JavaScript 3.4%
  • HTML 2.7%