zoukankan      html  css  js  c++  java
  • PC微信小程序解密和反编译资源

    https://github.com/BlackTrace/pc_wxapkg_decrypt

    由于不想安装安卓模拟器去提取wxapkg包,windows PC端的微信也支持小程序,但是PC端的wxapkg是被加密存储的。该项目是把wxapkg解密。目前微信PC版本为:2.9.5.31.

    使用方法

    pc_wxapkg_decrypt.exe -wxid 微信小程序id -in 要解密的wxapkg路径 -out 解密后的路径

    pc_wxapkg_decrypt.exe -h
    
    Usage of pc_wxapkg_decrypt.exe:
       -in string
             需要解密的wxapkg的文件路径 (default "__APP__.wxapkg")
       -iv string
             AES加密的IV,默认不需要设置,如果版本有变化,设置 (default "the iv: 16 bytes")
       -out string
             解密后的wxapkg的文件路径 (default "dec.wxapkg")
       -salt string
             pbkdf2用到的salt,默认不需要设置 (default "saltiest")
       -wxid string
             小程序的id
    

    wxapkg路径为:C:UsersxxxxDocumentsWeChat FilesAppletwx2xxx84w9w7a3xxxx\_APP_.wxapkg,小程序id为:wx2xxx84w9w7a3xxxx

    解密完成后,就可以用wxappUnpacker(https://github.com/gudqs7/wxappUnpacker)解包了。

    原理

    PC端微信把wxapkg给加密,加密后的文件的起始为V1MMWX。

    加密方法为:

    1. 首先pbkdf2生成AES的key。利用微信小程序id字符串为pass,salt为saltiest 迭代次数为1000。调用pbkdf2生成一个32位的key
    2. 首先取原始的wxapkg的包得前1023个字节通过AES通过1生成的key和iv(the iv: 16 bytes),进行加密
    3. 接着利用微信小程序id字符串的倒数第2个字符为xor key,依次异或1023字节后的所有数据,如果微信小程序id小于2位,则xorkey 为 0x66
    4. 把AES加密后的数据(1024字节)和xor后的数据一起写入文件,并在文件头部添加V1MMWX标识
    QQ:273352165 evlon#126.com 转载请注明出处。
  • 相关阅读:
    Momentum Contrast for Unsupervised Visual Representation Learning (MoCo)
    Objective-C Json转Model(利用Runtime特性)
    swift
    关于虚拟机安装mac os 教程详解
    centos快速安装lamp
    第一篇——感悟篇(软工实践)
    2019SDN大作业——负载均衡
    个人作业——软件工程实践总结作业
    2019 SDN上机第7次作业
    2019 SDN上机第6次作业
  • 原文地址:https://www.cnblogs.com/evlon/p/15252781.html
Copyright © 2011-2022 走看看