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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
reFlutter — Flutterエンジンライブラリにパッチを適用し、ルートや証明書のインストールなしでAndroidおよびiOSアプリのランタイムリバースエンジニアリング、トラフィック傍受、SSLピンバイパスを可能にします。 | Kitploit
ツール/GitHubGitHub/impact-i/reflutter
Androidセキュリティ動的分析 (サンドボックス)iOSセキュリティリバースエンジニアリングペネトレーションテストモバイルセキュリティ
GitHubimpact-i/reflutter

reFlutter

Flutterエンジンライブラリにパッチを適用し、ルートや証明書のインストールなしでAndroidおよびiOSアプリのランタイムリバースエンジニアリング、トラフィック傍受、SSLピンバイパスを可能にします。

リポジトリを見る
2.7k2931029日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

stars

詳細はブログをご覧ください: https://swarm.ptsecurity.com/fork-bomb-for-flutter/

このフレームワークは、Flutterアプリのリバースエンジニアリングを支援します。パッチが適用されたFlutterライブラリ(すでにコンパイル済みでアプリの再パッケージ化に使用可能)を利用し、スナップショットのデシリアライズプロセスが変更されているため、動的解析を便利に行うことができます。

主な機能:

  • socket.cc にパッチが適用され、トラフィックの監視とインターセプトが可能;
  • dart.cc が変更され、クラス、関数、一部のフィールドを出力;
  • 関数の絶対コードオフセットを表示;
  • コンパイルを成功させるための軽微な変更を含む;
  • 独自のパッチを実装したい場合、特別に作成された Dockerfile を使用して手動でFlutterコードを変更可能。

対応エンジン

  • Android: arm64, arm32;
  • iOS: arm64;
  • リリース: Stable, Beta

インストール

root@kitploit:~
# Linux, Windows, MacOS
pip3 install reflutter==0.8.6

使い方

root@kitploit:~
impact@f:~$ reflutter main.apk

Burp Suite IPを入力してください: <input_ip>

SnapshotHash: 8ee4ef7a67df9845fba331734198a953
結果のapkファイル: ./release.RE.apk
apkファイルに署名してください。

impact@f:~$ reflutter main.ipa

トラフィックインターセプト

Flutterアプリが動作するデバイスと同じネットワーク上にある、Burp Suite Proxy ServerのIPを指定する必要があります。その後、BurpSuite -> Listener Proxy -> Options タブでプロキシを設定します:

  • ポート追加: 8083
  • バインド先アドレス: All interfaces
  • リクエスト処理: 透過プロキシを有効化 = True

Androidでは証明書のインストールやrootアクセスは不要です。reFlutterはFlutterの一部の証明書ピン留め実装をバイパスすることもできます。

⚠️ 注意: Flutterバージョン 3.24.0(スナップショットハッシュ: 80a49c7111088100a233b2ae788e1f48)以降、ハードコードされたプロキシIPとポートは削除されました。デバイス上で直接プロキシを設定する必要があります。

Androidの場合

ADBを使用してデバイスのプロキシを設定します:

root@kitploit:~
adb -s <device> shell "settings put global http_proxy <proxy_ip:port>"

APKに署名し、アラインし、インストールします。必要に応じてTunProxyを設定し、トラフィックをBurp Suite経由でルーティングします。

iOSの場合

IPAに署名し、インストールします。Potatsoを設定してBurp Suiteプロキシサーバーを使用します。

Androidでの使い方

結果のAPKはアラインと署名が必要です。推奨ツールは uber-apk-signer です:

root@kitploit:~
java -jar uber-apk-signer.jar --allowResign -a release.RE.apk

デバイスでアプリを実行します。バイナリ検索で _kDartIsolateSnapshotInstructions を特定します。reFlutterはダンプファイルをアプリのルートフォルダに書き込み、777権限を設定します。次のコマンドで取得します:

root@kitploit:~
adb -d shell "cat /data/data/<PACKAGE_NAME>/dump.dart" > dump.dart
ファイル内容
root@kitploit:~
Library:'package:anyapp/navigation/DeepLinkImpl.dart' Class: Navigation extends Object {
String* DeepUrl = anyapp://evil.com/ ;
...

iOSでの使い方

reflutter main.ipa を実行後、デバイス上でアプリを実行します。ダンプファイルのパスがXcodeコンソールログに出力されます:

root@kitploit:~
Current working dir: /private/var/mobile/Containers/Data/Application/<UUID>/dump.dart

デバイスからファイルを取得します。

Frida

root@kitploit:~
frida-tools==13.7.1
frida==16.7.19

ダンプオフセットをFridaスクリプトで使用します:

root@kitploit:~
frida -U -f <package> -l frida.js

_kDartIsolateSnapshotInstructions を見つけるには:

root@kitploit:~
readelf -Ws libapp.so

Value フィールドを探します。

To Do

  • 関数の絶対コードオフセットを表示;
  • より多くの文字列とフィールドを抽出;
  • ソケットパッチを追加;
  • ForkとGitHub Actionsを使用してDebugエンジン対応を拡張;
  • zipアーカイブ内の App.framework と libapp.so の検出を改善

エンジンのビルド

エンジンは GitHub Actions を使用して、enginehash.csv のデータに基づいてビルドされます。スナップショットハッシュは以下から取得されます:

root@kitploit:~
https://storage.googleapis.com/flutter_infra_release/flutter/<hash>/android-arm64-release/linux-x64.zip
リリース

gif

カスタムビルド

手動でのFlutterコードパッチ適用はDockerを使用してサポートされています:

root@kitploit:~
git clone https://github.com/Impact-I/reFlutter && cd reFlutter
docker build -t reflutter -f Dockerfile .

次のコマンドで実行:

root@kitploit:~
docker run -it -v "$(pwd):/t" -e HASH_PATCH=<Snapshot_Hash> -e COMMIT=<Engine_commit> reflutter

例:

root@kitploit:~
docker run -it -v "$(pwd):/t" -e HASH_PATCH=aa64af18e7d086041ac127cc4bc50c5e -e COMMIT=d44b5a94c976fbb65815374f61ab5392a220b084 reflutter

例: Android ARM64のビルド(Linux/Windows)

root@kitploit:~
docker run -e WAIT=300 -e x64=0 -e arm=0 -e HASH_PATCH=<Snapshot_Hash> -e COMMIT=<Engine_commit> --rm -iv${PWD}:/t reflutter

フラグ:

  • -e x64=0: x64ビルドを無効化
  • -e arm64=0: arm64ビルドを無効化
  • -e arm=0: arm32ビルドを無効化
  • -e WAIT=300: ビルド前にソースを変更する時間(秒)
  • -e HASH_PATCH: enginehash.csv から取得したスナップショットハッシュ
  • -e COMMIT: エンジンのコミットハッシュ
ツールをダウンロード