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 から詳細を掘り下げる必要がありますが、ここでやめておきます。

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