
StaCoAnは、開発者、バグバウンティハンター、倫理的なハッカーがモバイルアプリケーションの静的コード分析を実行するのを支援するクロスプラットフォームツールです。

StaCoAnは、モバイルアプリケーション*の静的コード解析を行う開発者、バグバウンティハンター、倫理的ハッカーを支援する__クロスプラットフォーム__ツールです。
このツールは、コード内の以下のような興味深い行を検索します:
このツールは、ユーザーインターフェースにおける使いやすさとグラフィカルなガイダンスに重点を置いて作成されました。
すぐに試したい方は、リリースページからダウンロードしてください。
*: 現在はapkファイルのみサポートされていますが、ipaファイルも近日中に対応予定です。
サンプルレポートはこちらから入手できます。
コンセプトは、モバイルアプリケーションファイル(.apkまたは.ipaファイル)をStaCoAnアプリケーションにドラッグ&ドロップすると、視覚的でポータブルなレポートが生成されるというものです。設定やワードリストを調整して、カスタマイズされた体験を得ることができます。
レポートには便利なツリービューアが含まれており、デコンパイルされたアプリケーションを簡単に閲覧できます。

「略奪機能」を使用すると、価値のある発見を「略奪」(ブックマーク)でき、略奪ページでは略奪の概要を確認できます。
最終レポートはzipファイルにエクスポートして、他の人と共有できます。
アプリケーションはコード内の興味深い行を見つけるためにワードリストを使用します。ワードリストの形式は次のとおりです:
API_KEY|||80||| This contains an API key reference
(https|http):\/\/.*api.*|||60||| This regex matches any URL containing 'api'
これらのワードリストは正規表現エントリをサポートしていることに注意してください。
exclusion_list.txt では除外条件を定義できます(何らかの理由で発見が多すぎる場合など):
(https|http):\/\/.*api.*|||"res","layout"||| Like previously, note that "res","layout" resembles the path
(https|http):\/\/.*api.*|||||| To exclude everywhere
すべてのソースファイルが処理されます。これには .java、.js、.html、.xml などのファイルが含まれます。
データベースファイルもキーワード検索の対象です。データベースにはテーブルビューアもあります。

レポートはすべての画面サイズに合わせて作成されています。


このツールは難読化されたコードに対して問題が生じます。開発者の方は、このツールを実行する前に難読化を無効にしてコンパイルしてみてください。攻撃側の場合は、頑張ってください。
できるだけ早く始めたい場合は、リリースページにアクセスし、お使いのOSに対応する実行ファイルまたはアーカイブをダウンロードしてください。
リリースzipファイルをダウンロードした場合は、解凍してください。
Windowsでは、実行ファイルをダブルクリックするだけです。サーバーモードで起動し、Webインターフェースにモバイルアプリケーションをドラッグ&ドロップできます。

MacとLinuxでは、ターミナルから引数なしで実行するとサーバーモードで起動します。
./stacoan
このファイルを実行ファイルにドラッグ&ドロップしてください。
または、サーバーモードを使わずにapkファイルを指定して実行することもできます:
./stacoan -p test-apk.apk
レポートはapkファイル名に対応したフォルダに格納されます。
cd docker
docker build . -t stacoan
アプリケーションが /yourappsfolder にあることを確認してください。
docker run -e JAVA_OPTS="-Xms2048m -Xmx2048m" -p 8888:8888 -p 7777:7777 -i -t stacoan
アプリケーションを http://127.0.0.1:7777 にドラッグ&ドロップしてください。
git clone https://github.com/vincentcox/StaCoAn/
cd StaCoAn/src
pip3がインストールされていることを確認してください:
sudo apt-get install python3-pip
必要なPythonパッケージをインストールします:
pip3 install -r requirements.txt
コマンドラインからStaCoAnを実行:
python3 stacoan.py -p yourApp.apk
または、ドラッグ&ドロップインターフェースを使用する場合:
python3 stacoan.py
src フォルダにいることを確認してください。
cd src
PyInstallerをインストール:
pip3 install pyinstaller
PyInstallerはコードを含むサブフォルダを扱えないため、コードを1つのフォルダにまとめる必要があります。
sed -i 's/from helpers./from /g' helpers/*
sed -i 's/from helpers./from /g' stacoan.py
sed -i 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoanをビルド:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
PyInstallerはコードを含むサブフォルダを扱えないため、コードを1つのフォルダにまとめる必要があります。
# Note the ''-> this is because sed syntax is different on mac.
sed -i '' 's/from helpers./from /g' helpers/*
sed -i '' 's/from helpers./from /g' stacoan.py
sed -i '' 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoanをビルド:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
PyInstallerはコードを含むサブフォルダを扱えないため、コードを1つのフォルダにまとめる必要があります。
sed -i 's/from helpers./from /g' helpers/*
sed -i 's/from helpers./from /g' stacoan.py
sed -i 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoanをビルド:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
このプログラム全体の価値は使用するワードリストに依存しています。最終的には結果が重要です。ワードリストの作成は(実際のコードを書くのに比べて)簡単ですが、最終結果に最も大きな影響を与えます。ワードリストを作成することでコミュニティに最も貢献できます。
アイデアを簡単に投稿したい場合は、http://www.tricider.com/brainstorming/2pdrT7ONVrB にアクセスしてください。そこからワードリストのエントリのアイデアを追加できます。
コードの改善も大歓迎です。
貢献度が高ければ、authors セクションに記載されます。
res/layout 内の http や、全般的な http://schemas.android.com/apk/res/android を無視)本プロジェクトでは以下のプロジェクトが使用されました:
これらのプロジェクトにはそれぞれ対応するライセンスがあります。本プロジェクトを修正および再配布する際は、それらを尊重してください。
*: バイナリは本プロジェクトに含まれています。JADXの開発者がこれを快く思わない場合は、遠慮なく連絡してください。解決策を話し合いましょう。
他にも多くの方々をここに挙げるべきですが、全員を列挙することはできません。
| プロジェクト作成者 |
|---|
|
|