1. ida ポート リスニングを開始します
1.1 Android_server サービスを開始します
1.2 ポート フォワーディング
1.3 ソフトウェアがデバッグ モードに入ります
2.ida が切断されました
2.1attach 添付プロセス
2.2 3 つの項目を分割します
#2.3 プロセスを選択
2.4 モジュールを開く
アートを検索
追記: 知識がほとんどありません
システムは Android より先に機能します4.4 は libdvm.so
にあります Android 5.0 以降、システム関数は libart.so
にあります 2.5 Openmemory() 関数を開きます
libart で Openmemory 関数を検索します.so そしてそれに従ってください。
PS: ちょっとした知識
一般に、この関数にはシステム dex がロードされますが、後で説明する問題があります。 。
2.6 次のブレークポイント
3. 次のブレークポイントまでプログラムを実行します
3.1 jdb フォワード実行プログラム
3.2 IDA 操作
が正常に切断され、切断した場所まで実行されることを確認します。
#3.3 dex の場所を確認する
レジスタ ウィンドウを開くと、R1 が dex であることがわかります
次に、Hex ウィンドウで R1 を開きます。
#dex ファイルのバイナリ構造を見ると一目瞭然です。理解できない場合は、前の dex ファイル分析を参照してください。
3.4 キー情報の抽出
1 つ目のキー情報: アドレス オフセット: 0xF35CA328
##2 つ目のキー情報: ファイル オフセット: 70 35 01 00、0x00013570 に変換
## 16 進加算器を使用して追加します、F35DD898
4. dump
4.1 スクリプトを使用して dump
static main(void){ auto fp, begin, end, dexbyte; / /ファイルを開くか作成します fp = fopen( "d:\\dump.dex", "wb"); //dex ベース アドレス begin = 0xF34C6320; //dex ベース アドレス dex ファイル サイズ end = begin 0x00013570; for (dexbyte = begin; dexbyte 4.2 スクリプト ダンプの実行
スクリプトを入力したら、[実行] をクリックします。
4.3 ダンプの成功
以上がAndroidでdexファイルを動的にエクスポートする方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。