banner
Matrix

Matrix

Abyss
email
github

微信小プログラムリバースエンジニアリング

整体の手順#

  1. パッケージを解読する必要があるアプリを見つける
  2. 見つけたアプリを解読する
  3. パッケージを解読する

必要なアプリを見つける#

Windows WeChat を例に取りますが、WeChat の保存場所を見つけます。

image-1709005227084

コマンドラインを使用する際には、WeChat Files にはスペースが含まれていることに注意してください。コマンドラインに直接コピー&ペーストすると切り取られるため、ダブルクォーテーションで WeChat Files を囲む必要があります。

Applet は現在の WeChat の保存場所で使用される小さなプログラムのディレクトリであり、ファイル名は wxid を表しています。ここでは、解読する必要のあるアプリを再度開き、ディレクトリを更新し、日付でソートして必要なアプリのディレクトリを絞り込むことができます。ここで wxid(フォルダ名)をメモしておきます。

フォルダに入り、リーフノードに移動すると、数字で名前が付けられたフォルダがあります。

image-1709005530927

その中に 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]

image-1709005932329

パッケージを解読する#

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

image-1709006134005

解読に成功しました:

image-1709006162645

ディレクトリ構造から見ると、おそらく cocos で開発されています。ただし、直接アクセスできるリソースは少ないため、おそらく json から詳細を掘り下げる必要がありますが、ここで終了します。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。