巴士下载站 / 汇聚当下最新最酷的软件下载站!
巴士下载站
您的位置: 首页 >软件下载 > 应用软件 > 手机软件 > 微信小程序wxapkg解包器c++版(免装py环境 绿色90k)

巴士为您推荐: 微信小程序 wxapkg 解包器 c++版 免装py环境 90k

基于lrdcp大神的py的源码,用mfc写的gui程序,免py环境安装,方便使用。

wxapkg的存储位置:/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg

{User} 为用户的用户名,pkg目录就是微信用于存放小程序和小游戏下载包的位置。

Python代码:

#!/usr/bin/env python2 # lrdcq # usage python2 unwxapkg.py filename import sys, os import struct class WxapkgFile(object): nameLen = 0 name = "" offset = 0 size = 0 if len(sys.argv) < 2: print 'usage: unwxapkg.py filename' exit() with open(sys.argv[1], "rb") as f: root = os.path.dirname(os.path.realpath(f.name)) name = os.path.basename(f.name) + '_dir' if len(sys.argv) > 2: name = sys.argv[2] #read header firstMark = struct.unpack('B', f.read(1))[0] print 'first header mark = ' + str(firstMark) info1 = struct.unpack('>L', f.read(4))[0] print 'info1 = ' + str(info1) indexInfoLength = struct.unpack('>L', f.read(4))[0] print 'indexInfoLength = ' + str(indexInfoLength) bodyInfoLength = struct.unpack('>L', f.read(4))[0] print 'bodyInfoLength = ' + str(bodyInfoLength) lastMark = struct.unpack('B', f.read(1))[0] print 'last header mark = ' + str(lastMark) if firstMark != 0xBE or lastMark != 0xED: print 'its not a wxapkg file!!!!!' exit() fileCount = struct.unpack('>L', f.read(4))[0] print 'fileCount = ' + str(fileCount) #read index fileList = [] for i in range(fileCount): data = WxapkgFile() data.nameLen = struct.unpack('>L', f.read(4))[0] data.name = f.read(data.nameLen) data.offset = struct.unpack('>L', f.read(4))[0] data.size = struct.unpack('>L', f.read(4))[0] print 'readFile = ' + data.name + ' at Offset = ' + str(data.offset) fileList.append(data) #save files for d in fileList: d.name = '/' + name + d.name path = root + os.path.dirname(d.name) if not os.path.exists(path): os.makedirs(path) w = open(root + d.name, 'w') f.seek(d.offset) w.write(f.read(d.size)) w.close() print 'writeFile = ' + root + d.name f.close()

下载

猜你喜欢
回顶部 去下载