1

コンパイルされた Dalvik コードを分析しようとしていますが、問題が見つかりました。.dex 形式の仕様は次のとおりです。ファイルのヘッダーを取得できますが、次に何が起こっているのか理解できませんでした.dexdumpを使用すると、ヘッダーのすぐ隣にクラスがあります:

class_defs_off      : 61836 (0x00f18c)
data_size           : 368612
data_off            : 72312 (0x011a78)
Class #0 header:
class_idx           : 62
access_flags        : 1536 (0x0600)

しかし、自分のバイトコードを見ると、別のものがあります。ヘッダーの次に何があるか理解できません。仕様によるとstring_idi'sそうですが、よくわかりません。.dex ファイルの実際の構造は何ですか?

4

2 に答える 2

5

Baksmali は、dx の 16 進ダンプと同様の形式で、既存の dex ファイルのコンテキストをダンプできます。(利点は、既存の dex ファイルをダンプできることです)

baksmali classes.dex -D out.dump

于 2012-12-08T19:15:30.007 に答える
3

あなたが参照している仕様は、実際にはdexファイルがどのように構造化されているかを正確に描写しています。(注:私はその文書を書きました。)

Dexdump は dex ファイルの完全な内容を順番に出力しないため、混乱の原因となっています。このdxツールは、dex ファイルを生成するときに、dex ファイルの内容の注釈付きリストを出力できます。これは便利かもしれません。申し訳ありませんが、オプションはすぐには覚えていませんが、--dex --dump-to=file.txt --dump-bytes.

これが役立つことを願っています。

于 2012-12-08T18:59:09.277 に答える