有时候看别的小程序/小游戏有些功能不知道如何实现,想参考下,但是没有源码,或者看到一些游戏的资源做的不错,想拿下来改改。怎么办?
今天就来看看怎么拿到资源文件和代码(虽然代码是加密过的),不过一般js的加密也就是混淆压缩,做了变量名替换,资源文件就没有压缩的了。
(之前网上也有很多人写过怎么弄,但是实际上很多都不可用了,所以自己也记录下。)
1. 先试玩一下觉得可以的小游戏或者小程序,让微信先把包下下来。
一般情况下开发微信小游戏/小程序的时候,会把一个包上传到微信服务器,但是这个包有一定的大小限制,一般都在几MB,但是微信给了一些动态加载资源的方式,自己可以从自己的服务器或者cdn上面去拉取新的资源包来更新自己的小程序/小游戏,这个就俗称热更新。当然代码中也会去加载一些动态的资源。
简单总结下一共有三种资源需要获取:
基础包中资源(微信服务器拉到微信本地)
热更新加载包中的资源(从开发者服务器拉到微信本地)
动态资源(从开发者服务器拉到微信本地)
2. ssh到越狱手机获取
1ssh root@localhost -p 2222
3. 进入cycript调试微信
1cyrun -b com.tencent.xin -e
4. 找到微信沙盒Library目录
1[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomans:NSUserDomainMask][0]
2我的手机是这个目录:
3file:///var/mobile/Containers/Data/Application/38BF9699-C8DE-4570-95CF-09876BE91D41/Library/
5. 退出cycript,进入沙盒Library目录find一下wxapkg文件
1cd /var/mobile/Containers/Data/Application/38BF9699-C8DE-4570-95CF-09876BE91D41/Library/; find -name "*.wxapkg";
6. 退出手机,scp把wxapkg拉回来。
1scp -P2222 root@localhost:/var/mobile/Containers/Data/Application/38BF9699-C8DE-4570-95CF-09876BE91D41/Library/WechatPrivate/9454ac8b05a1983e8255ea94d91cc7b2/WeApp/LocalCache/release/wxb92d4d650d51eda8/117.wxapkg .
7. 拉回来的是一个wxapkg文件,其实也只是一种文件格式。git上找个工具解析出来就行。
1php ./parse.php 117.wxapkg
我看git上有用php写的也有用go写的,我本地有php所以就用php了,自己也可以用go来弄个下。
给一个git连接:https://github.com/Clarence-pan/unpack-wxapkg
源码有兴趣可以看看。其实也就是按照固定格式解析二进制文件。
最终获得的文件有这些:

为了避免麻烦,每次还得上手机,我写了一个脚本,连上手机直接拉,拉完直接抽文件,哈哈,请允许我卖弄一下。(记得把parse.php放到脚本同目录下)代码如下:
1#########################################################################
2# File Name: get_wxapkg.sh
3# Author: 小马的爸爸
4# mail: 我还没有伊妹儿
5# Created Time: 2020-01-09
6#########################################################################
7#!/bin/bash
8wxapkgs=`ssh root@localhost -p2222 "find /var/mobile/Containers/Data/Application/ -name '*.wxapkg'"`
9for wxapkg in $wxapkgs;
10do
11
12 echo "COPYING $wxapkgs"
13 scp -P2222 root@localhost:/$wxapkg .
14 php ./parse.php ./${wxapkg##*/}
15done
最后,我今天编辑文章用的一个在线的markdown编辑器,share一下~
http://md.aclickall.com/
顺便吐槽下,广州的蚊子真多,一晚上好好打绝对能打几十个。不要叫羊城改叫🦟城吧,哈哈哈。
文章转载自小马爸爸的笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




