Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kavanoz — 一般的なAndroidバンカーマルウェアの静的アンパッキング。 | Kitploit
ツール/GitHubGitHub/eybisi/kavanoz
Androidセキュリティ静的分析暗号化/復号化ツールリバースエンジニアリングマルウェア分析モバイルセキュリティArchived
GitHubeybisi/kavanoz

kavanoz

一般的なAndroidバンカーマルウェアの静的アンパッキング。

リポジトリを見る
1592071年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🫙 kavanoz 🫙

Kavanoz(トルコ語で瓶)は、一般的なAndroidバンキングマルウェアを静的にアンパックするためのツールです。 Androidエミュレータを実行せずに、パックされたマルウェアからペイロードを取得したいと思ったことはありますか?私もありません :) でも、とにかくここにツールがあります。

👀 インストール

root@kitploit:~
pip install kavanoz

ソースからインストールするには、リポジトリをクローンして -e 付きの編集可能インストールを行います。つまり、プロジェクトのプラグインを編集または追加した場合、再インストールしなくてもそれが使用されます。

root@kitploit:~
git clone https://github.com/eybisi/kavanoz.git
cd kavanoz
pip install -e .

⚡ 使用方法

コマンドラインから

root@kitploit:~
kavanoz /tmp/filepath

-vvv パラメータを使用すると、詳細なログを出力できます。(プラグインのデバッグに便利です)

Pythonライブラリとして

root@kitploit:~
from kavanoz.core import Kavanoz
from kavanoz import utils

utils.set_log("DEBUG")
k = Kavanoz(apk_path="tests/test_apk/coper.apk")
for plugin_result in k.get_plugin_results():
    if plugin_result["status"] == "success":
        print("Unpacked")
        print(plugin_result)
        break

🐍 スクリプト:

  • rc4.py 一般的なrc4暗号化アセットファイル。このスクリプトは複数のバージョンをカバーしています。
  • old_rc4.py 別の一般的なrc4暗号化アセットファイル。
  • subapp.py ManifestファイルのProtectKey変数から派生したキーによるファイルの復号
  • multidex.py 展開されたパックファイルを使用するMultidex風ローダー。(zlib圧縮)
  • coper.py エミュレーション(AndroidNativeEmu)を使用してネイティブライブラリからrc4キーを抽出します。
  • moqhao.py moqhauのアンパックのためのエミュレーション。
  • sesdex.py
  • simple_aes.py
  • simple_xor.py
  • simple_xor2.py
  • simple_xor_zlib.py
  • subapp.py パッケージ名を使用してアセットを復号します。

⚙️ 開発

kavanoz を編集可能インストール(-e 付き)でインストールしてください。新しいプラグインを追加するには、loaderフォルダに新しいファイルを作成するだけです。unpack_plugin.py ファイルの Unpacker クラスを拡張し、start_decrypt 関数を独自の実装で定義します。

root@kitploit:~
def start_decrypt(self, apk_object: APK, dexes: "list[DEX]"):

プラグインから早期終了するには、次の関数を追加します。

root@kitploit:~
def lazy_check(self,apk_object:APK, dexes: "list[DEX]"):

抽出が成功した場合は、self.decrypted_payload_path に抽出したファイルパスを代入します。 unpacker クラスのヘルパー関数を使用できます:

  • get_array_data
  • get_smali
  • find_method(class_name,method_name,descriptor="")
  • check_and_write_file(file_data) : ファイルがdex、zip、zlibヘッダーを持つかチェックし、名前 "external-{m[:8]}.dex" でアンパックされたdexを書き込みます。

PRを開く前に python -m unittest を実行してください。テスト用APKファイルを取得するには、git lfs pull コマンドを使用します。

📖 ヒント

  • self.dexes はdexオブジェクトを保持します。dex.get_class(smali_annotation_of_class) でクラスを取得できます。
  • get_smali 関数を使用して対象メソッドのオブジェクトを渡すと、対象メソッドのsmali表現を取得できます。その後、正規表現を適用してsmaliからデータを取得します。参照用に定義済みの正規表現が smali_regexes.py ファイルに多数あります。
  • ほとんどの場合、パッカーはassetフォルダのファイルを使用します。self.apk_object.get_files() でファイルを取得できます。
  • ほとんどの場合、パッカーはApplicationクラスを使用してアンパックのシーケンスを開始します。application = self.apk_object.get_attribute_value("application", "name") を使用して、マニフェストファイルで定義されたApplicationクラスを取得します。

謝辞:

作業用のユニークなサンプルを提供してくれた apkdetect.com に感謝します。

ツールをダウンロード