.DEX

DEX ファイル

Dalvik Executable
質問する
クイック回答

DEX ファイルはコンパイルされた Android アプリのコード、つまり Android のランタイム (ART) が実行する Dalvik Executable です。通常は APK の内部に classes.dex として存在し、単体のファイルとして扱われることは稀です。コードを読み取るには、jadx (無料) を使用して Java にデコンパイルします。.dex を Windows 上で実行したり、EXE に変換したりすることはできません。

開発元: Google (Android Open Source Project) カテゴリ: 開発用ファイル オープンスタンダード MIME: application/octet-stream
対応OS Windows macOS Linux Android
関連: .DO · .MD · .HEX · .XSD

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Sep 9, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

DEX ファイル形式とは?

.dex ファイルは Dalvik Executable であり、Android システム環境で実行するために設計されたコンパイル済みのバイトコードコンテナです。Android 上で実行可能なコンパイル済みコードを保持しており、元々は Dalvik 仮想マシンによって解釈されていました。Android 5.0 (Lollipop) 以降、現代の ART (Android Runtime) は .dex バイトコードを解釈するのではなく、事前にコンパイル (AOT) しますが、フォーマット自体は標準の Android 実行形式として維持されています。

APK パッケージ内の DEX ファイル

.dex ファイルは通常、Android に新しいソフトウェアをインストールするために使用される APK パッケージ の内部に含まれています。歴史的に、各 APK にはアプリケーションで使用されるすべてのクラスとメソッドを格納する単一の classes.dex ファイルが含まれていました。現在、大規模なアプリでは「マルチデックス (multidex)」が使用されており、単一ファイルの制限である 65,536 メソッドを超えるために、コードを classes.dexclasses2.dexclasses3.dex などに分割しています。

DEX ファイルの生成と検査

.dex ファイルは、Android のビルドプロセスの一部として自動的に生成されるか、手動で生成されます。現代のツールチェーンでは、d8 コンパイラ (Android SDK build-tools の一部) を使用して、Java または Kotlin のバイトコードを .dex 形式に変換します。各ファイルはマジックシグネチャ dex\n で始まり、その後に 3 桁のフォーマットバージョン番号 (「035」、「037」、「038」、「039」など) とヌルバイトが続きます。インストール中、ART はさらに .dex をネイティブコードにコンパイルし、デバイス上に保存される .odex または .vdex ファイルを生成します。

セキュリティと安全性

リスク: MEDIUM

.dex 自体は PC 上で実行されないため、単に保持しているだけではリスクは低いです。実際の文脈は Android マルウェア分析にあります。悪意のあるアプリは DEX 内にロジックを隠し (実行時に動的にロードされることもあります)、信頼できない APK から抽出した .dex には有害なコードが含まれている可能性があります。そのようなファイルは、親 APK をインストールするのではなく、必ず安全な環境 (デコンパイラやサンドボックス) で検査してください。怪しい «dex to exe / dex opener» ダウンロードサイトには注意してください。これらは正当な機能を持たず、アドウェアを同梱していることがよくあります。

形式の詳細

概要
正式名称Dalvik Executable
開発元Google (Android Open Source Project)登場時期 2008 (Android 1.0; Dalvik VM, executed by ART since Android 5.0)
MIME タイプapplication/octet-stream
タイプコンパイル済み Android バイトコードコンテナ (Dalvik/ART ランタイム用バイナリ実行形式)
標準規格オープン・ロイヤリティフリー
マジックバイト ・ ファイルシグネチャ
オフセット
0001020304050607
16進数
6465780A30333500
ASCII
dex·035·
マジックは «dex\n» の後に 3 桁の DEX フォーマットバージョンと 0 バイトが続きます。バージョン番号は Android のリリースに伴い変更されます。

DEX ファイルを開くプログラム

Windows4 apps
jadx オープンソース jadx-gui で .dex (または .apk 全体) を開き、読み取り可能な Java にデコンパイルしてコードを閲覧できます。2026年現在、定番の無料ツールです。
Android SDK build-tools (d8 / dexdump) 無料 «dexdump classes.dex» を使用してヘッダーやバイトコードをダンプするか、ビルドパイプラインで d8/r8 を使用します。Google 公式のツール群です (SDK は古いスタンドアロンの «Android SDK» ダウンロードに代わるものです)。
Android Studio 無料 APK/dex を Android Studio の APK Analyzer にドラッグして、DEX のメソッド数やクラスの内容を検査できます。
JEB / Ghidra (advanced RE) オープンソース Ghidra (無料) は高度なリバースエンジニアリングのために DEX をロードできます。JEB は商用の Android デコンパイラです。これらは一般ユーザー向けではなく、アナリスト向けです。
macOS2 apps
jadx オープンソース jadx-gui で .dex (または .apk 全体) を開き、読み取り可能な Java にデコンパイルしてコードを閲覧できます。2026年現在、定番の無料ツールです。
Android SDK build-tools (d8 / dexdump) 無料 «dexdump classes.dex» を使用してヘッダーやバイトコードをダンプするか、ビルドパイプラインで d8/r8 を使用します。Google 公式のツール群です (SDK は古いスタンドアロンの «Android SDK» ダウンロードに代わるものです)。
Linux3 apps
jadx オープンソース jadx-gui で .dex (または .apk 全体) を開き、読み取り可能な Java にデコンパイルしてコードを閲覧できます。2026年現在、定番の無料ツールです。
baksmali / smali オープンソース baksmali は .dex を人間が読める Smali に逆アセンブルし、smali はそれを再構成します。Android バイトコード編集の標準です。
Android SDK build-tools (dexdump) 無料 低レベル検査用の dexdump です。
Android1 app
The Android runtime (ART) 標準搭載 ART はデバイス上で DEX バイトコードを実行しますが、これはインストールされた APK の一部としてのみであり、単体の .dex を「開く」わけではありません。

技術的詳細

詳細仕様
VM アーキテクチャレジスタベース (スタックベースの JVM とは異なり、各 DEX 命令はレジスタオペランドを明示的に指定するため、総命令数が削減されます)
マジックバイトファイルオフセット 0 の 8 バイト: ASCII «dex»、改行 (0x0A)、3 桁のフォーマットバージョン (例: 035, 037, 038, 039)、ヌルバイト (0x00)
フォーマットバージョン035 (Android 2.2)、037 (Android 7.0)、038 (Android 8.0)、039 (Android 9+)。バージョン番号はマジックヘッダーに埋め込まれています
メソッドインデックス制限.dex ファイルあたり 65,536 メソッド (16ビットのメソッド参照インデックス)。これを超えるアプリは、コードを classes2.dex、classes3.dex などに分割します
整合性フィールドヘッダーには Adler-32 チェックサムと 20 バイトの SHA-1 署名が含まれており、これらでファイルの残りの部分をカバーします
文字列プールすべての文字列リテラルは、重複排除された共有文字列プールに一度だけ格納されます。バイトコードは整数インデックスによって文字列を参照します
バイト順序デフォルトでリトルエンディアン。ヘッダーにはエンディアン定数 0x12345678 が埋め込まれており、逆のバイト順序を検出できます
ソース言語Java および Kotlin (および JVM をターゲットとする任意の言語)。d8 コンパイラが .class バイトコードまたは .jar アーカイブを DEX に変換します
ビルド時コンパイラd8 (Android SDK build-tools 28.0.1+) が従来の dx ツールに代わりました。JVM の .class ファイルまたは .jar アーカイブを入力として受け取ります
ART 事前コンパイルインストール時に ART の dex2oat が .dex をネイティブマシンコードに変換し、結果を .odex / .oat ファイルとして /data/dalvik-cache に保存します
MIME タイプapplication/octet-stream (DEX フォーマット専用の登録済み MIME タイプは存在しません)
実行の歴史JIT を備えた Dalvik VM によって解釈 (Android 1.0-4.4)。ART による事前コンパイル + プロファイルガイド付き JIT コンパイル (Android 5.0+)
逆アセンブルとデコンパイルbaksmali は .dex を Smali アセンブリに逆アセンブルします。jadx や同様のツールは .dex を読み取り可能な Java ソースコードにデコンパイルします
APK 内の場所APK ZIP アーカイブ内に非圧縮で格納されます。プライントリは常に classes.dex という名前で、マルチデックスアプリの場合は classes2.dex 以降が続きます
リリース日2008 (Android 1.0; Dalvik VM, executed by ART since Android 5.0)
オープンスタンダードはい · ロイヤリティフリー
仕様書source.android.com

DEX の変換

コミュニティ Q&A

ユーザーからの質問
質問する
DEX ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。DEX ファイルについて最初の質問をしてみましょう。

よくある質問

APK の中にある classes.dex ファイルとは何ですか?
これは Android のランタイムが実行する、アプリのコンパイル済みコード (Dalvik Executable) です。大規模なアプリでは、これを classes.dex、classes2.dex などに分割します (マルチデックス)。アプリの実際のプログラムロジックそのものです。
.dex ファイルを開いたり読み取ったりするにはどうすればよいですか?
jadx (無料) を使用して読み取り可能な Java にデコンパイルするか、baksmali を使用して Smali に逆アセンブルします。Android SDK の dexdump を使うと低レベルの詳細をダンプできます。DEX は「読む」ものであり、PC 上で「実行」するものではありません。
DEX ファイルを EXE に変換できますか?
いいえ。DEX は Android/ART のバイトコードであり、EXE は Windows のマシンコードです。変換ツールは存在しません。コードを実行するには、Android デバイスまたは PC 上のエミュレータが必要です。
.dex から Java のソースコードを取得するにはどうすればよいですか?
jadx でデコンパイルするか、dex2jar で .jar に変換してから Java デコンパイラで開きます。結果は近似的な読み取り可能な Java であり、開発者の正確なオリジナルソースではありません。
DEX と APK の違いは何ですか?
DEX はコンパイルされたコードそのものです。APK は、DEX (classes.dex として) に加えて、マニフェスト、リソース、ネイティブライブラリ、署名を含む、インストール可能なフルパッケージです。インストールするのは DEX ではなく APK です。
.dex ファイルを直接実行できますか?
Android (ART) 内部でのみ実行可能で、通常はインストールされた APK の一部としてのみ動作します。Windows、macOS、Linux で .dex をダブルクリックして実行するスタンドアロンな方法はありません。

参考文献

1Android - Dalvik Executable format (AOSP)source.android.com
2Android - ART and Dalvik runtimesource.android.com

さらに探索

データベース全体から

今週のトップ拡張子

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.PARTPartial Download File
4.MDMarkdown Document
5.RPMSGRestricted Permission Message
6.CRDOWNLOADChrome Partial Download File
7.NOMEDIAAndroid No-Media Marker File
8.PRDXSoftMaker Presentations Document
9.PRO6XProPresenter 6 Bundle File
10.SWFSmall Web Format (Shockwave Flash)

関連する拡張子

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧