1. ホーム
  2. アンドロイド

smali と baksmali の jar パッケージの使用法

2022-02-28 07:19:44
<パス

smali と baksmali の jar パッケージの使用法

作者 陵華雲

jar パッケージのダウンロードアドレス
この2つのjarパッケージの目的は、dexファイルとsmaliファイルの形式を相互に変換することです。
jarを使うには、まずJavaの環境を設定する必要がありますが、これは皆さんご存知だと思いますので、繰り返しません。

Dex2Smaliです。

使用した jar パッケージは baksmali.jar, バージョン 2.1.3 です。
コマンドラインです。

java -jar baksmali-2.1.3.jar -o [output folder] dex file

実行結果は以下の通りです。
ここで設定した出力フォルダはsmali、変換されたdexファイルはclasses.dexです

正常に実行されると、smaliフォルダに移動して、正常に変換されたsmaliファイルを見ることができるようになります。

スマリ2デックス

使用する jar パッケージは smali.jar, バージョン 2.1.3 です。
コマンドラインです。

java -jar smali-2.1.3.jar -o target dex file [smali folder]

実行結果は以下の通りです。

正常に実行された後、newclasses.dexファイルがファイルの下にありました。

さて、変換はうまくいったのでしょうか?dexファイルをdex2jarでjarファイルに変換してみましょう。

できたjarファイルをJD-GUIで開くと、成功していることがわかります。

まとめ

  • apktoolです。

    は、apk形式のファイルをsmaliファイルに変換するものです

  • dex2jarです。

    は、dex形式のファイルをjarファイルに変換するものです

  • smali/baksmali です。

    はdex形式のファイルからsmaliファイルへの変換です

apktoolとdex2jarの詳しい使い方は、以下の記事を参照してください。
ApkToolとdex2jarを使ったapkのデコンパイル - 例外と解決策の更新