整体の手順#
- パッケージを解読する必要があるアプリを見つける
- 見つけたアプリを復号化する
- パッケージを解読する
必要なアプリを見つける#
Windows WeChat を例に取りますが、WeChat の保存場所を見つけます。
コマンドラインを使用する場合、WeChat Files にはスペースが含まれているため、コマンドラインに直接コピー&ペーストすると切り捨てられる可能性があるため、WeChat Files を二重引用符で囲む必要があります。
ここでの Applet は、現在の WeChat の保存場所に使用される小さなプログラムのディレクトリであり、ファイル名は wxid を表しています。再度解読する必要のあるアプリを開き、ディレクトリを更新し、日付でソートして必要なアプリのディレクトリを絞り込むことができます。ここで wxid を記録し、フォルダ名として使用します。
フォルダに入り、リーフノードに移動すると、数字で名前が付けられたフォルダがあります。
その中に wxapkg ファイルが含まれていることがわかります。__APP__.wxapkg
であれば、復号化の手順をスキップします。
また、wxid に対応するものを見つけた場合、WeChat Files > xxxx > Applet > [wxid] のフォルダ内にも一部のリソースが見つかることがありますが、私は WeChat の小さなプログラムの開発について全く知識がなく、これらのリソースの関係がわかりません。
復号化#
使用するツールは wechatMiniAppReverse です:
git clone https://github.com/superBiuBiuMan/wechatMiniAppReverse --depth 1```
![image-1709005811333](ipfs://Qmchb7kD32mVCPbpbCsdjWXjswN7q4jVxMMAwMocHvuj42)
1.firstに移動し、次のコマンドを使用して復号化します:
```shell
.\pc_wxapkg_decrypt.exe -wxid [wxid] -in [PathTo*.wxapkg] -out [PathToOutFile]
パッケージを解読する#
2.second に移動し、次のコマンドを使用します:
npm install
node [PathTo2.second\nodejs\wuWxapkg.js] [PathToOutFile]
テストの結果、2.second の node を使用するとエラーが発生することがわかりました。明らかにここでは自分で node をインストールする必要があります。
- node を自分でインストールする
- 依存関係をインストールする
npm install esprima --save
npm install css-tree --save
npm install cssbeautify --save
npm install vm2 --save
npm install uglify-es --save
npm install js-beautify --save
npm install escodegen --save
npm install cheerio --save
解読に成功しました:
ディレクトリ構造から見ると、おそらく cocos で開発されています。ただし、直接アクセスできるリソースは少ないため、おそらく json から詳細を掘り下げる必要がありますが、ここでやめておきます。