C#で構築されたシステムのリバースエンジニアリングを検討しているが、「どのくらいの費用がかかるのか相場が分からない」「見積もりが業者によってバラバラで比較できない」という声は非常に多くあります。C#は.NETの中間言語(IL/MSIL)にコンパイルされるため、ILSpyやdotPeekで比較的ソースに近い形まで逆コンパイルできるという特性があります。しかしその「技術的な容易さ」が、見積もりの精度や成果物品質への期待値のズレを生みやすく、後から大幅な追加費用が発生するケースも少なくありません。
本記事では、C#のリバースエンジニアリングの費用構造を、LOC(行数)課金の仕組み・成果物粒度別の相場・C#固有のコスト要因・モダナイゼーション手法別の費用目安まで具体的な数字とともに解説します。特急料金の相場やコストを抑える実践的なポイントも含めて説明しますので、適切な予算計画と見積もり評価にお役立てください。
▼全体ガイドの記事
・C#のリバースエンジニアリングの完全ガイド
C#リバースエンジニアリングの費用構造

C#のリバースエンジニアリングの費用は、どのような課金モデルを選択するか、そしてC#・.NETの特性がどのようにコストに影響するかを理解することで、適切な予算計画が立てられます。まず業界標準の費用構造の概観を解説します。
LOC課金制とC#における適正単価
C#のリバースエンジニアリング費用で最も一般的な課金モデルは、LOC(Lines of Code)を基準にした従量課金制です。市場相場として、基本料金は30万円(4,000行まで)が多く、超過分は1行あたり50円程度が目安となります。具体的な案件例として、ECサイトの商品登録機能(約10ファイル・4,000行程度)では約30万円、外部API連携システムの仕様書化では約50万円、CMS構造を含むWebシステムの解析では約60万円、セキュリティ確認を含む在庫予約システム(約30ファイル)では約80万円という費用感が市場の実態です。
ただしLOC課金にはC#固有の落とし穴があります。C#はオブジェクト指向言語であるため、1つのクラスが複数のファイルにまたがる「パーシャルクラス」や、LINQを使ったラムダ式など、行数は少なくても解析難易度が高いコードが存在します。また、.NET Frameworkの古いバージョンで書かれたコードはWindows Forms固有のコード生成パターンが混在し、実際の業務ロジック行数と生成コード行数が入り混じっています。そのため、単純な行数だけでなく「業務ロジックの複雑度」を加味した見積もりが妥当なベンダーを選ぶことが重要です。
C#の複雑さを反映した見積補正の考え方
C#のリバースエンジニアリングにおいて、見積補正が生じる主要因は4つあります。第一は「難読化の有無」です。DotfuscatorやConfuserExによる難読化が施されている場合、通常の逆コンパイルに加えてde4dotによる難読化解除と、解除後のコードの品質確認が必要となり、工数が1.5〜2倍になります。第二は「UIフレームワークの種類」です。Windows FormsやWPFのUIが絡む場合、バックエンドロジックに加えてUI設計の再現が必要になるため、追加費用が発生します。第三は「.NETバージョンの古さ」です。.NET Framework 2.0や3.5など旧バージョンのシステムは、現在のツールとの互換性問題が生じやすく解析時間が増加します。第四は「業務部門ヒアリングの深さ」です。Design Recovery(コードから業務仕様への抽象化)において業務部門との連携が必要な場合、そのインタビュー工数が追加されます。
成果物粒度別の費用相場

C#のリバースエンジニアリングにおいて、同じシステムを対象としても成果物の粒度によって費用は大きく変わります。「何が欲しいのか」を明確にしなければ、ベンダーごとに前提が異なり見積もりの比較が困難になります。ここでは3段階の粒度別に費用相場を解説します。
フローチャートレベル:処理概要の可視化
フローチャートレベルは、コードの処理の流れを視覚的なフロー図として表現するもので、概要把握・引き継ぎ資料として活用されます。静的解析(ILSpyによる逆コンパイル)とクラス間依存関係の把握が主な作業となります。費用目安は対象コード4,000行で25〜40万円程度です。このレベルでは変数名の意味や業務ロジックのWhyは補完されないため、「どこで何をしているか」の大まかな把握にとどまります。
引き継ぎ資料や緊急の保守対応のための概要把握が目的であれば、このレベルでも一定の効果があります。ただし、新システムの開発や設計変更には情報が不足するため、費用対効果の観点から「フローチャートだけ」を最終成果物とすることは多くの場合推奨されません。次の業務仕様書レベルに向けた「中間段階」として位置づけるのが適切です。
業務仕様書レベル:新システム開発の要件定義書として活用可能
業務仕様書レベルは、業務フロー・入出力項目・データ項目・例外処理・業務ルールを網羅したドキュメントです。業務部門へのヒアリング(Design Recovery)を含むため、コードから読み取れない「Why」も補完されます。費用目安は対象コード4,000行で50〜80万円程度、業務部門ヒアリングの深さによって変動します。このレベルの成果物は、新システムの要件定義書として直接使用できる品質を目標にします。
C#のWindows FormsやWPFアプリケーションの場合、画面設計(画面レイアウト・入力バリデーション・画面遷移)のドキュメント化も含む場合は追加費用が発生します。UIコンポーネントが多いシステムでは、バックエンドロジックの2〜3割増のコストが目安です。この業務仕様書レベルが、C#リバースエンジニアリングにおいて最も費用対効果の高い成果物粒度として選択されることが多いといえます。
詳細設計書レベル:画面遷移図・ER図・API仕様書を含む完全ドキュメント
詳細設計書レベルは、画面遷移図・ER図(データベース設計)・API仕様書・クラス図・シーケンス図を含む完全なドキュメントセットで、そのまま開発着手できる粒度の成果物です。ASP.NETのWebアプリケーションや、複数のWindowsサービスが連携する業務システムでは、このレベルまでのドキュメント化が新システム開発の前提として求められます。費用目安は対象コード4,000行で100〜150万円以上であり、システム規模が大きくなるに従って比例以上に費用が増加します。
データベース設計(ER図)の再構築については、コードからORM(Entity FrameworkやDapper)のマッピングを読み解くことで対応できます。ただしストアドプロシージャがある場合はSQL Serverのストアドプロシージャ自体の解析も必要となり、データベース専門家の関与が必要になります。ASP.NETのWebAPIの仕様書化(OpenAPI/Swagger相当のドキュメント生成)を含める場合は、さらに追加費用が発生します。
C#特有のコスト要因

C#のリバースエンジニアリングにおいては、他の言語では発生しないC#固有のコスト要因があります。これを事前に把握しておくことで、見積もり段階でのスコープ確認が正確になり、後からの費用増加を防ぐことができます。
難読化(Dotfuscator・ConfuserEx)の解除工数
Dotfuscatorはビジュアルスタジオに同梱されているため、C#アプリケーションに難読化が施されているケースは少なくありません。難読化のレベルには「名前の難読化のみ(軽度)」から「制御フロー平坦化+文字列暗号化+アンチデバッグ対策(重度)」まで幅があります。軽度の難読化であれば、de4dotで自動解除できることが多く、追加費用は通常の20〜30%増程度に抑えられます。
ConfuserExのような強力な難読化が施されている場合は、自動解除ツールでも部分的にしか対処できず、手動でのILレベルの解析が必要になります。この場合、通常の逆コンパイル工数の1.5〜2倍が追加費用として発生します。発注前に「対象システムに難読化が施されているか」を確認し、施されている場合はその種類・レベルをベンダーに正確に伝えることで、見積もりの精度が上がります。
Windows Forms・WPF・ASP.NETのUI設計再現コスト
C#のリバースエンジニアリングにおいてC言語やCOBOLと大きく異なるコスト要因が、UIフレームワークの存在です。Windows FormsやWPFのアプリケーションでは、バックエンドのビジネスロジック解析に加えて、画面レイアウト・コントロール配置・イベントハンドラの関連・画面遷移設計の再現が必要になります。.xamlファイルが残っているWPFプロジェクトでは再現コストを抑えられますが、コンパイル済みバイナリのみの場合はリソースの抽出と手作業でのUI仕様書化が必要になります。
ASP.NETのWebアプリケーションについては、コントローラーとビュー(Razor/.aspxページ)の関係性、ルーティング設定、認証・認可の仕組みなどをドキュメント化する工数が発生します。特にASP.NET MVCやASP.NET Coreへの移行を見据えたドキュメント化を求める場合は、現行の実装パターンとモダンな実装パターンの差分分析も含まれるため、さらに費用が増加します。UI設計の再現が必要かどうかを見積もり依頼段階で明示することで、費用の齟齬を防ぐことができます。
モダナイゼーション全体での費用目安

C#のリバースエンジニアリングは、多くの場合、.NET Frameworkから最新の.NETへのモダナイゼーションプロジェクトの一工程として位置づけられます。リバースエンジニアリング(仕様書復元)の費用だけでなく、その後のモダナイゼーション手法別の費用目安を把握しておくことで、投資全体の規模感を掴むことができます。
手法別(リホスト・リプラットフォーム・リファクタリング・リビルド)の費用と期間
モダナイゼーション手法は投資規模と移行後の柔軟性のトレードオフで選択します。リホスト(単純移行)は.NET Framework の動作環境をそのまま新しいWindows Serverへ移行する最もシンプルな手法で、費用は数千万円〜1億円台、期間は3〜6ヶ月が目安です。リバースエンジニアリングの工数は最小限で済みますが、技術的負債はそのまま引き継がれます。
リプラットフォームは.NET Frameworkから.NET 8へのランタイム移行や、オンプレミスからAzureへのクラウド移行を伴う手法で、費用は1億円〜3億円、期間は6〜12ヶ月が目安です。リファクタリングはコードの構造を整理しつつ機能を維持する手法で、費用は2億円〜5億円、期間は12〜18ヶ月が目安です。リビルド(リライト)は既存の業務仕様を参照しながら新技術スタックでゼロから開発し直す手法で、費用は5億円以上、期間は18ヶ月以上が目安です。
リバースエンジニアリング活用 vs スクラッチ開発のROI比較
「既存のC#システムをリバースエンジニアリングして刷新するか、それともゼロから要件定義して新システムを作るか」というROI判断は、多くの企業が直面する重要な経営判断です。リバースエンジニアリングを活用する場合のメリットは、既存の業務ロジック(特に長年の運用で積み上げられた例外処理・業界固有のルール)の取りこぼしリスクを低減できる点です。特にC#システムの場合、逆コンパイルでコードが比較的読めるため、業務部門との確認作業が効率的に進みます。
一方、スクラッチ開発のメリットは、不要な機能(過去の遺物)まで引き継がずに済む点です。長年運用されたC#システムには、もはや誰も使わない機能が混在していることが多く、それらをすべてリバースエンジニアリングしてドキュメント化するのは無駄なコストになります。「業務ロジック生存率(現行機能のうち新システムでも必要なものの割合)」を事前に業務部門と確認し、生存率が60%を超えている場合はリバースエンジニアリング活用が有利になる目安といわれています。
特急料金の相場(+20〜60%)

C#のリバースエンジニアリングにおいて、通常よりも短期間での納品を求める場合は特急料金が発生します。相場として、通常納期を2〜3割短縮する「短納期対応」では総額の20〜30%増、休日・深夜対応を含む「超特急対応」では総額の40〜60%増が目安です。
特急料金が発生しやすいタイミングと回避策
特急料金が発生しやすいのは、「担当者の退職が決まっており引き継ぎ前に急いで仕様書が欲しい」「法改正への対応期限が迫っている」「M&Aのデューデリジェンスでシステム評価が必要」といったビジネス上の緊急事態が発生した場合です。これらは事前の計画があれば避けられる状況がほとんどです。特にC#の業務システムでは、コア機能を担当するエンジニアの退職が発覚してから動き始めるケースが多く、その場合は特急対応を余儀なくされます。
特急料金を回避するためには、リバースエンジニアリングの必要性を早期に認識し、通常スケジュールで着手することが最善策です。「まだ動いているから」「担当者がいるから」という理由で先送りにしているうちにリスクが高まります。年度予算策定のタイミングで「仕様書復元・ドキュメント化」を中期計画に組み込み、緊急事態の前に計画的に着手することをお勧めします。
特急対応でスコープを絞る費用最小化の考え方
緊急度が高くかつ予算も限られる場合は、「全体のリバースエンジニアリング」ではなく「コア機能に限定したスコープでの特急対応」という選択肢があります。例えば、「注文処理のコアロジックのみ」「月次バッチ処理の仕様のみ」のように、最も業務上のリスクが高い機能を優先的にドキュメント化する方法です。この場合、特急料金(+40〜60%)がかかっても、全体のスコープを絞ることで総費用を抑えられます。その後、緊急度の低い部分は通常スケジュールで順次対応していく計画を立てることが現実的です。
コストを抑える5つのポイント

C#のリバースエンジニアリングのコストを適切にコントロールするためには、発注側の準備と判断が重要です。発注前にできる対策を5つのポイントで解説します。
発注側でできるコスト削減の具体的な取り組み
第一のポイントは「対象スコープの事前絞り込み」です。全モジュールをリバースエンジニアリングするのではなく、業務上重要度の高い機能・保守リスクの高い機能を優先して対象を限定することで、費用を大幅に削減できます。第二のポイントは「残存するドキュメントの棚卸し」です。部分的な設計書・メールでのやり取り・テスト仕様書などが残っていれば、それを事前に整理してベンダーに提供することで、解析工数を削減できます。
第三のポイントは「難読化の有無の事前確認」です。対象のDLLをILSpyで開いてみて、クラス名・メソッド名が意味のある名前になっているかを確認します。難読化されていない場合はその旨をベンダーに伝えることで、見積もりが適正化されます。第四のポイントは「業務部門の協力体制の確立」です。業務部門が解析時のヒアリングに積極的に協力できる体制を整えることで、「Whyを補完するためのインタビュー工数」をベンダーが余分に積まずに済みます。第五のポイントは「複数社相見積もり」です。LOC課金の単価はベンダーによって異なるため、同じスコープ・同じ成果物粒度で3社以上から見積もりを取ることが推奨されます。
低価格見積もりのリスクと「安さの罠」を見抜く方法
複数社から見積もりを取った際に、大きく低い金額を提示するベンダーには注意が必要です。C#のリバースエンジニアリングで低価格を実現するためには、「成果物品質の妥協(逆コンパイルしたコードをそのまま渡す)」「業務部門ヒアリングの省略」「難読化対処の後回し」のいずれかが行われている可能性があります。
見積もり評価では価格だけでなく、「成果物のサンプルを見せてもらえるか」「業務部門ヒアリングは何回・どのような形式で実施するか」「難読化が施されていた場合の追加費用の考え方はどうか」を明確に確認してください。これらに対して具体的な回答ができないベンダーは、品質よりも価格を優先している可能性があり、後からの手戻りコストで結果的に高くなるリスクがあります。
まとめ

C#のリバースエンジニアリングの費用は、LOC課金モデルを基本として、成果物粒度・難読化の有無・UIフレームワークの複雑さ・業務部門ヒアリングの深さによって大きく変動します。具体的な相場として、4,000行規模のシステムでフローチャートレベルは25〜40万円、業務仕様書レベルは50〜80万円、詳細設計書レベルは100〜150万円以上が目安です。難読化(Dotfuscator・ConfuserEx)が施されている場合は通常比1.5〜2倍の追加費用が発生します。
モダナイゼーション全体では、リホストで数千万円〜1億円台、リプラットフォームで1〜3億円、リファクタリングで2〜5億円、リビルドで5億円以上が目安です。特急料金は短納期で20〜30%増、超特急で40〜60%増となるため、計画的な着手が最大のコスト削減策となります。見積もりを取る際は、スコープの事前絞り込み・残存ドキュメントの棚卸し・複数社への同条件での依頼の3点を実践することで、コストを適正化できます。
▼全体ガイドの記事
・C#のリバースエンジニアリングの完全ガイド
株式会社riplaでは、IT事業会社出身のプロフェッショナルが「Impact-Driven型支援」を通じて、プロダクトやシステムの納品・提供を目的とせず、お客様と同じ目線で、事業成果の達成をゴールとして、高品質なDX/開発支援をいたします。

また「Boxシリーズ」による、受発注管理・在庫管理・配送管理・業務システム・生成AI・SaaS・マッチングサイト・EC・アプリ・LINEミニアプリなどの標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」を活用することで、低コスト・短期間でのスクラッチ開発を実現いたします。

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


株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。IT事業会社出身のプロフェッショナルが集う株式会社riplaにおいて、「Impact-Driven型支援」を掲げ、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の実現に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。
