
Android Dalvik VM用のスクリプト可能なデバッガ。JDWP/DDMインターフェースを使用してメソッドをフックし、プロセスの状態を検査し、ソースコードなしでランタイムの動作を変更します。
AndBugは、リバースエンジニアや開発者を対象とした、AndroidプラットフォームのDalvik仮想マシン向けのデバッガです。AndroidのEclipseデバッグプラグインと同じインターフェース、Java Debug Wire Protocol (JDWP) および Dalvik Debug Monitor (DDM) を使用して、ユーザーがDalvikメソッドをフックしたり、プロセス状態を調査したり、さらには変更を加えることを可能にします。
Googleの公式Android SDKデバッグツールとは異なり、AndBugはソースコードを必要としません。ただし、ほとんどの重要なタスクには「フック」と呼ばれるスクリプト化されたブレークポイントの概念を使用するため、Pythonにある程度慣れている必要があります。(ロードされたクラス、メソッド、スレッドをダンプしたいだけの場合は、そのためのサンプルスクリプトがあります。)
-- Scott Dunlop [email protected]
AndBugは流動的なプログラムであり、IOActiveでさまざまなタスクのために書いた単発のスクリプトを顧客やIOActive独自のコンテキストから分離しているところです。現時点ではインストールはお勧めしません。その後頻繁に更新する必要があるからです。AndBugは非常に簡単なセットアップで自身のソースディレクトリから非常にうまく動作します。
Android Software Development Kit を https://developer.android.com/sdk/index.html からインストールします。
Android Debugging Bridge が $PATH に含まれており、使用可能であることを確認します。 ::
which adb adb devices
お使いのプラットフォームに適したPythonとGNUツールチェーンがあることを確認します。GCCとMakeが必要です。プリミティブレイヤーに変更を加えたい場合は、Pyrexも必要になるかもしれません。
最新のAndBugコードを https://github.com/swdunlop/AndBug.git からプルします。 ::
git clone https://github.com/swdunlop/AndBug.git
Makeを使用してビルドします。 ::
make
$PYTHONPATH を調整します。 ::
export PYTHONPATH=pwd/lib
サンプルは sample ディレクトリにありますが、AndBugのパッケージ化された機能を見つける最も簡単な方法は、"andbug" コマンドを直接使用することです。 ::
./andbug
このコマンドは現在、ソースディレクトリから実行されていることを自動的に検出してPYTHONPATHを動的に更新する機能はありません。PYTHONPATHに andbug/lib ディレクトリが含まれていることを確認してください。
Q: AndBugを使おうとすると「Permission Denied」が発生しますが、「adb shell」は動作します。
A: adbd が別のユーザーとして実行されている可能性があり、ADBフォワードの効果的な使用が妨げられています。正しい実効ユーザーで「adb kill-server」の後に「adb start-server」を使用してください。
Q: AndBugを使おうとすると「Shell Exception」が発生します。
A: "adb devices" を使用してADBのセットアップが機能していることを確認してください。AndBugはJDWPトランスポートにADBに依存しています。
Q: AndBugはWindowsで動作しますか?
A: 動作すると思います。ただし、AndBugはサポートされていないソフトウェアであるため、Windowsユーザーが慣れているほどの手厚いサポートは期待できません。パッチは歓迎します。
Q: AndBugはMac OS Xで動作しますか?
A: はい、ただしWindowsユーザーに関する辛辣なコメントを参照してください。これはApp Storeでは見つかりませんでした。。
Q: NaviからRequestError 13が返されます。
A: プロセスを再開しました。Naviは一時停止中のプロセスとのみ安全に相互作用できます。もう一度「suspend」を使用してください。
Q: コマンドを送信すると「EOF in read」が発生します。
A: DDMSなどの他のデバッガが接続されていないことを確認してください。
Copyright 2011, IOActive All rights reserved.
AndBugはフリーソフトウェアです。フリーソフトウェア財団が公開するGNU Lesser General Public Licenseバージョン3の条項に基づいて、再頒布および改変することができます。
AndBugは有用であることを期待して配布されていますが、いかなる保証もありません。商品性または特定目的への適合性の黙示の保証も含めて一切保証しません。詳細はGNU Lesser General Public Licenseを参照してください。
AndBugとともにGNU Lesser General Public Licenseのコピーを受け取っているはずです。受け取っていない場合は、http://www.gnu.org/licenses/ を参照してください。