PulseAPK
🌍 言語
英語 |
ドイツ語 |
スペイン語 |
フランス語 |
עברית |
한국어 |
Беларуская |
フィンランド語 |
ラトビア語 |
エストニア語 |
リトアニア語 |
チェコ語 |
スロバキア語 |
ハンガリー語 |
العربية |
ポルトガル語 |
ロシア語 |
ウクライナ語 |
中文
PulseAPK は、Avalonia と .NET 8 で構築された、プロフェッショナルグレードのクロスプラットフォーム GUI です。Android リバースエンジニアリングとセキュリティ分析を目的としており、apktool の生のパワーと高度な静的解析機能を組み合わせ、サイバーパンクにインスパイアされた高パフォーマンスのインターフェースで提供します。PulseAPK は、デコンパイルから分析、リビルド、署名までのワークフロー全体を効率化します。
PulseAPK 機能の概要
PulseAPK パッチ機能の概要
PulseAPK は単一ウィンドウのワークフローで構成され、左サイドバーに各ツール(Decompile、Build APK、Patch APK、Analyser、Settings、About)を備えています。オプションの Device Tools タブは、Settings から ADB を利用したワークフローを使用する場合に有効にできます。各セクションは APK ライフサイクルの 1 つの段階に焦点を当てているため、アプリを離れることなく、デコードから分析、パッチ適用、デバイス操作、リビルド、署名へと進むことができます。
スクリーンショット
1) Decompile ワークフロー

- この画面で入力 APK と出力フォルダを選択し、デコンパイルを実行します。
- シンプルな流れ:APK を選択 → 出力パスを設定 → デコンパイルをクリック。
2) Build ワークフロー

- この画面でデコンパイルされたプロジェクトを新しい APK にリビルドします。
- シンプルな流れ:プロジェクトフォルダを選択 → 出力名/パスを設定 → ビルドをクリック(必要に応じて署名を有効化)。
3) Patching ワークフロー

- この画面で APK パッチアクションを自動化します(Frida gadget インジェクションを含む)。
- シンプルな流れ:APK/プロジェクトをロード → パッチオプションを選択 → パッチを実行 → 出力を確認。
4) 静的解析結果

- このビューは Smali/静的解析からのセキュリティ発見事項を示します。
- シンプルな流れ:最初にデコンパイル → 解析タブ/出力を開く → 発見事項を確認しレポートをエクスポート。
主な機能
- 🛡️ 静的セキュリティ解析:Smali コードの脆弱性(ルート検出、エミュレータチェック、ハードコードされた認証情報、安全でない SQL/HTTP の使用など)を自動的にスキャンします。
- ⚙️ 動的ルールエンジン:
smali_analysis_rules.json による完全カスタマイズ可能な解析ルール。アプリケーションを再起動せずに検出パターンをその場で変更できます。最適なパフォーマンスのためにキャッシュを使用します。
- 🚀 モダンな UI/UX:効率性を考慮したレスポンシブなダークテーマインターフェース。リアルタイムコンソールフィードバックを提供。
- 📦 完全なワークフロー:APK のデコンパイル、分析、パッチ適用、再コンパイル、署名を単一の統合環境で実行。
- 🧩 APK パッチ適用:パッチワークスペースから Frida gadget インジェクション、マニフェスト更新、dex 検証、アーキテクチャ選択、オプションの出力署名を自動化。
- 📱 オプションのデバイスツール:接続されたデバイス向けの ADB ワークフロー(APK インストール、起動、アプリ管理、パッケージ検索、スクリーンショット、画面録画、logcat プリセット、カスタムシェル/ADB コマンド)を有効化。
- ⚡ 安全で堅牢:ワークスペースとデータを保護するインテリジェントな検証およびクラッシュ防止メカニズムを搭載。
- 🔧 完全設定可能:ツールパス(Java、Apktool、Uber APK Signer、ADB)、言語、テーマ、ベータ機能、ワークスペース設定、解析パラメータを簡単に管理。
高度な機能
セキュリティ解析
PulseAPK には、デコンパイルされたコードを一般的なセキュリティインジケータについてスキャンする組み込みの静的アナライザが含まれています:
- ルート検出:Magisk、SuperSU、一般的なルートバイナリのチェックを識別。
- エミュレータ検出:QEMU、Genymotion、特定のシステムプロパティのチェックを発見。
- 機密データ:ハードコードされた API キー、トークン、ベーシック認証ヘッダーをスキャン。
- 安全でないネットワーキング:HTTP の使用と潜在的なデータ漏洩ポイントをフラグ付け。
ルールは smali_analysis_rules.json で定義され、特定のニーズに合わせてカスタマイズできます。
APK 管理
- Decompile:APK を選択し、デコードオプション(リソース、ソース、マニフェスト処理)を選択して、出力フォルダまたは APK 自身のフォルダに抽出します。
- Build APK:プロジェクトフォルダから再コンパイルし、出力名と場所を設定し、AAPT2 を切り替え、オプションで Uber APK Signer を使用して APK に署名します。
- Patch APK:専用のパッチャータブを使用して APK パッチワークフローを自動化します。ワンクリック Frida-gadget の注入 サポート、アーキテクチャ対応のガジェット配置、マニフェスト更新、dex 検証コントロール、オプションの出力署名が含まれます。
- Analyser:デコンパイルされたプロジェクトフォルダを指定し、Smali 解析を実行し、必要に応じてレポートをエクスポートします。
- Settings:言語、ダーク/ライトテーマ、Apktool、Uber APK Signer、ADB パス検出、ベータ機能の表示を設定します。設定はアプリケーションディレクトリではなく、ユーザーアプリデータフォルダに保存されます。
- Device Tools:オプションのベータタブで、ADB を使用したデバイス操作をサポートします。Settings で有効にすると、PulseAPK は設定されたパス、
ADB_PATH、ANDROID_HOME、ANDROID_SDK_ROOT、~/Android/Sdk/platform-tools、または PATH から ADB を自動検出します。その後、デバイスの更新、APK のインストール、aapt を使用したパッケージ/アクティビティメタデータの検出、アプリ/アクティビティの起動、強制停止、データ消去、アンインストール、Android アプリ設定の開き、デバイスからの APK コピー、スクリーンショットのキャプチャ、画面録画、logcat/パッケージプリセットの実行、カスタムシェルまたは raw ADB 引数の実行が可能です。
前提条件
- Java Runtime Environment (JRE):
apktool に必要です。java がシステムの PATH に含まれていることを確認してください。
- Apktool:PulseAPK の Settings にあるダウンロードボタンを押して直接
apktool.jar をダウンロードするか、ibotpeaches.github.io から手動で提供してください。
- Ubersign (Uber APK Signer):リビルドされた APK の署名に必要です。Settings で最新の
uber-apk-signer.jar を自動的にダウンロードするか、GitHub releases から手動で提供してください。
- .NET 8.0 SDK/Runtime:
dotnet build / dotnet run でソースからビルドまたは実行する場合に必要です。公開されたデスクトップアーティファクトは、プラットフォームビルドがサポートする場合、自己完結型パッケージとして構築されます。
- ADB / Android SDK platform-tools(オプション):ベータ版の Device Tools タブにのみ必要です。PulseAPK は、Settings、
ADB_PATH、Android SDK 環境変数、デフォルトのユーザー SDK フォルダ、またはシステムの PATH から adb を自動検出できます。Android SDK build-tools の aapt を使用すると、APK パッケージ/アクティビティの検出が可能になります。
- macOS ホスト:リリースアーティファクトは Apple Silicon のみをターゲットとし(
osx-arm64)、自己完結型の .app バンドルを ZIP で生成します。Intel/x64 macOS ビルドはリリーススクリプトでは生成されません。生成されたバンドルは、最小システムバージョンとして macOS 11.0 以降を宣言します。
クイックスタートガイド
-
ダウンロードとビルド
dotnet build
dotnet run
macOS Apple Silicon アプリバンドルアーティファクトを作成するには:
RID=osx-arm64 ./scripts/build-macos-binary.sh