Androidのリバースエンジニアリングは、小規模なら3〜6週間、大規模なら4〜8ヶ月に及ぶこともある調査工程です。作業は4つのフェーズで進み、ProGuard/R8による難読化やJava/Kotlinの混在、ネイティブコードの有無によって期間が延びやすくなります。
- Androidリバースエンジニアリングの開発期間を左右する構造的特徴
- 開発期間・スケジュールの全体像
- 期間を左右する要因
刷新や移行の前段で現状を分析する工程で、ここでの精度が後続の計画全体を左右します。
▼全体ガイドの記事
・Androidのリバースエンジニアリングの完全ガイド
スマホアプリ開発の種類・工程・費用・会社選定までの全体像については、無料ホワイトペーパー「スマホアプリ開発の完全ガイドブック」で詳しく解説しています。
Androidリバースエンジニアリングの開発期間を左右する構造的特徴

Androidのリバースエンジニアリングとは、APK(Android Package)として配布された実行形式のアプリを、APKToolやjadxといった解析ツールで逆コンパイルする技術です。DEXバイトコードからJavaに近いソースコードや画面構造、業務ロジックを復元します。
開発期間の見積もりは、何を解析するのかという技術的な対象範囲と、何のための調査なのかというプロジェクト上の位置づけを押さえることから始まります。
APK・DEXという「中間言語」構造が解析効率を高める理由
AndroidアプリはAPKという圧縮ファイル形式で配布され、その中には、JavaやKotlinのソースコードをコンパイルしたDEX(Dalvik Executable)ファイルが格納されています。
DEXはDalvikやART(Android Runtime)という仮想マシン上で動くバイトコード形式で、iOSのネイティブバイナリとは異なり、機械語までは変換されていません。そのため、APKToolでSmali(中間アセンブリ言語)に展開し、jadxでJavaソースに逆コンパイルする2段階の変換で、開発当初のコードに近い状態まで機械的に復元できます。
DEXという中間言語を前提にした設計があるため、Androidのリバースエンジニアリングは、ネイティブコンパイル言語のC言語や独自バイナリ形式のiOSと比べて、相対的に短期間で進められる土台になっています。
刷新・移行プロジェクトの「前段」に位置する調査工程という特殊性
Androidのリバースエンジニアリングも、他の言語版と同様に、「調べる」工程です。
老朽化した業務用Androidアプリを刷新したり、Kotlin・Jetpack Composeへフルスクラッチで移行したりする前に行う、現状分析・調査の工程です。このときの成果物は、新しいアプリそのものより、画面遷移図・API仕様書・業務ロジックの仕様書といった「復元されたドキュメント」にあたります。
調査の精度が低いまま本体の開発に進むと、実装段階で「このAPI呼び出しは何のためにあるのか」「この分岐条件はどの業務ルールに対応するのか」といった疑問が次々に出てきます。その結果、全体の期間が延びてしまい、本末転倒になります。
開発期間・スケジュールの全体像

標準的なAndroidアプリのリバースエンジニアリングは、工程管理を明確にしたうえで、4つのフェーズに分けて計画するのが一般的です。
対象選定〜静的解析〜動的解析〜成果物化という標準フローの期間配分
第1フェーズの「対象選定・環境準備」は約1〜2週間で、対象APKの棚卸し、APKTool・jadx・Frida等の解析環境の構築、解析範囲の合意を行います。第2フェーズの「静的解析」は規模により約2〜6週間です。作業は、APKToolによるSmali展開とリソース抽出、jadxによるJavaソースへの逆コンパイル、AndroidManifest.xmlからのコンポーネント構成把握を行います。
続いて第3フェーズの「動的解析」は約1〜4週間で、Fridaを用いた実行時フックによる難読化されたクラス・メソッドの実挙動観測と、Burp Suiteを用いた通信解析を並行して進めます。最後に第4フェーズの「成果物化・レビュー」は約2〜4週間で、画面遷移図・API仕様書・業務ロジック仕様書の作成と発注側レビューを行います。
各フェーズの節目でスコープ変更の要否をその都度合意しておく体制が、納期を管理するうえで欠かせません。
アプリ規模別に見る全体期間の違い
全体期間は、対象アプリの規模によって大きく変わります。小規模プロジェクト(画面数10未満、5,000行相当、単一DEXの単機能アプリなど)は3〜6週間が目安です。
中規模プロジェクト(画面数10〜50程度、1〜5万行相当のマルチDEX業務アプリ)は2〜4ヶ月、大規模プロジェクト(画面数50以上、NDKネイティブコードを含む基幹業務アプリ)は4〜8ヶ月に及ぶこともあります。なお、強力な商用難読化が施されたアプリや、古いJavaコードと後年追加されたKotlinコードが複雑に混在するアプリでは、これらの目安からさらに期間が延びる傾向があります。
まず、対象APKの画面数やDEXファイル数、おおよそのコード規模を把握します。そのうえで、この規模別の目安を出発点に、全体スケジュールを描くのが現実的です。
期間を左右する要因

同じ画面数のアプリでも、難読化の有無や実装の書かれ方によって、実際にかかる期間は大きく変わります。そのため、見積もりの精度を高めるには、これらの変動要因をあらかじめ把握しておくことが大切です。
ProGuard標準難読化と商用難読化(DexGuard等)での解析工数の差
リリースビルドされたAndroidアプリの多くは、Android Studio標準搭載のProGuard(近年はR8が後継として標準化)による難読化が施されています。ProGuardの基本的な難読化は、クラス名・メソッド名・変数名をa、b、c、a1、b2といった意味のない短い名前に置き換えるものです。
jadxの最新版であればある程度自動的に構造を復元できます。しかし、「a.b()というメソッドは実際には何をしているのか」を、エンジニアが意味づけしながら読み解く追加の工数が発生します。そのため、難読化なしの場合と比べて1.0〜1.3倍程度の期間が必要になるのが実務上の目安です。
商用難読化ツールのDexGuardやGuardsquare iXGuardになると、文字列の暗号化や制御フローの難読化、リフレクション経由の呼び出しが組み合わされます。その結果、解析期間は1.5〜2.0倍に伸びることも珍しくありません。このため、発注前に対象APKの難読化レベルを確認しておくことが、期間見積もりの精度を大きく左右します。
古いJavaコードと後年追加されたKotlinコードが混在する構造の復元工数
2017年のKotlin正式サポート開始以降、多くの業務用Androidアプリでは、既存のJava実装を置き換えず、新規画面や一部モジュールだけをKotlinで追加する部分移行が行われてきました。
その結果、逆コンパイルしたソースには、旧来のJavaで書かれたActivityやFragmentが含まれます。さらに、companion objectやJvmStaticアノテーションを介してJavaと相互運用するKotlinコードも混在します。両者の呼び出し関係を正確に追わないと、全体のアーキテクチャを誤って理解するおそれがあります。
特にKotlinのコルーチン(非同期処理)やnull安全機構が、Javaコードとの境界でどう扱われているかは、逆コンパイル後のコードだけでは判断しづらい点です。そのため、動的解析による実行時の挙動確認と組み合わせる必要があり、単一言語のアプリに比べて1.2〜1.5倍程度の解析期間を見込んでおくことが現実的です。
納期遅延のリスク要因と対策
納期が当初の計画を超える原因には、技術的な難しさに加えて、見積もり段階での見落としも少なくありません。
典型的なリスク要因と対策を先に理解しておけば、納期遅延を未然に防げます。
NDK/JNIネイティブライブラリ(.so)混入による想定外の解析範囲拡大
ゲームアプリや画像処理・暗号処理を含む業務アプリでは、NDK(Native Development Kit)でC/C++により実装されたネイティブライブラリ(.soファイル)がAPKに同梱されていることがあります。この場合は、DEXの逆コンパイルで処理の全貌をつかみきれないため、GhidraやIDA Proといったバイナリ解析ツールで、ネイティブコードを別途解析する必要があります。
着手前の棚卸しでネイティブライブラリを見落とすと、静的解析の途中で「JNI経由で呼び出されるこの関数の中身が.soファイルの中にあり、Javaコードの解析では完結しない」と判明します。こうしたケースは、当初想定の1.3〜1.8倍程度に期間が延びる典型的な要因です。
契約前にAPK内のlibディレクトリを確認して、ネイティブライブラリの有無や容量をあらかじめ把握しておくことが、後工程の遅延を防ぐ第一歩になります。
マッピングファイル紛失によるProGuard復元不能ケースと対策
開発当時のビルド成果物としてProGuardのマッピングファイル(mapping.txt、難読化前後のクラス名・メソッド名対応表)が保管されていれば、難読化を機械的に元に戻せ、解析期間を大幅に短縮できます。一方、ソースコードもマッピングファイルも残っておらず、APKだけが手元にあるケースが実務では大半を占めます。
この場合、意味推定に頼った解析にならざるを得ません。特に、決済処理や在庫計算といった業務ロジックの核心部分を正確に読み解くには、静的解析に加えてFridaによる動的解析と、実際に業務を運用していた担当者へのヒアリングを組み合わせる必要があります。
プロジェクト着手前に「マッピングファイルの有無」を確認し、存在しない前提でスケジュールを組んでおくことが、現実的なリスク管理です。
依頼先選定と体制構築が開発期間に与える影響
同じ規模・難読化レベルのアプリでも、どのパートナー企業に依頼するかで開発期間は大きく変わります。専門性が問われる領域だからこそ、依頼先の実績と契約形態の選び方が期間短縮の鍵を握ります。
APKTool/jadx/Frida/Ghidra活用実績とAndroid解析専門性の確認ポイント
依頼先の実績は期間見積もりの精度に直結するため、選ぶときは次の経験の有無を確かめます。
- 解析ツールの活用実績:APKTool・jadx・Frida・Ghidraといった標準的な解析ツール群を、実プロジェクトで使いこなしてきた経験
- 難読化解除の経験:ProGuard・DexGuardの難読化解除の経験
- ネイティブコードの解析経験:NDKで実装されたネイティブコードを解析した経験
- 最新のKotlin・Jetpackへの理解:Kotlinコルーチンや最新のJetpackアーキテクチャコンポーネントへの理解
- 類似規模・類似業種の実績:POS・在庫管理・現場作業アプリ等の業務システム領域での解析経験。業務ロジックの意味推定で勘所を押さえた進行が期待できる
提案段階で、これらの経験を具体的な事例とともに共有してもらうことが、見積もりの妥当性を検証する近道です。
契約形態(準委任/請負)と特急対応の考え方
契約形態の選び方も期間に影響します。難読化レベルやネイティブコードの有無が未確定な初期調査フェーズは、実働時間に応じて柔軟に対応できる準委任契約(時間精算)が適しています。成果物の粒度が明確になった本解析フェーズ以降は、完了責任が明確な請負契約(固定費用)を選ぶのが合理的です。
また、Google Playのポリシー変更対応やセキュリティインシデント対応などで、どうしても短納期が求められる場合は、特急対応も一つの選択肢になります。特急対応の費用は、通常の期間短縮(たとえば1ヶ月を3週間に短縮する場合)で総額の20〜30%増、大幅な短縮や休日・深夜対応が必要な超特急案件では40〜60%増が相場です。
特急料金を避けるためにも、アプリの老朽化リスクが表面化する前に、計画的にリバースエンジニアリングへ着手しておくことが、期間とコストの両面で有利です。
まとめ
Androidのリバースエンジニアリングは、刷新・移行の前段で行う「分析・調査」工程です。この位置づけを理解しておくことが、期間見積もりの出発点になります。
規模別の目安は、小規模なら3〜6週間、中規模なら2〜4ヶ月、大規模なら4〜8ヶ月というのが一つの目安です。ただし、難読化レベルやネイティブコードの有無によって、この期間は大きく変わります。
納期遅延を防ぐには、NDKネイティブライブラリを事前に洗い出して、スコープが広がるのを抑えることが欠かせません。また、マッピングファイルが残っていない前提で、現実的なスケジュールを組んでおくことも大切です。
ソースコードが手元になく、改修のたびに手探りになる状態を放置する期間が長くなるほど、後続の刷新・移行プロジェクト全体のリスクも増大します。
APKTool・jadx・Frida・Ghidraの活用実績を持つ信頼できるパートナーに、早めに相談することをお勧めします。
▼全体ガイドの記事
・Androidのリバースエンジニアリングの完全ガイド
▼開発を相談する前に読みたい無料ホワイトペーパー
・スマホアプリ開発の完全ガイドブック
・【2026年最新版】AI駆動開発の完全ガイドブック
会社紹介
株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。
・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>


株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。
