C言語のリバースエンジニアリングに要する費用は、解析対象のバイナリ規模・難読化の程度・成果物の粒度・対象プラットフォーム(PCソフトウェアか組み込みシステムか)によって大きく変動します。「とりあえず見積もりを取ってみたら想定の3倍の金額だった」「安い会社に頼んだら成果物が使い物にならなかった」というトラブルは、C言語リバースエンジニアリングの発注においてよく聞かれる失敗パターンです。費用の構造を事前に理解しておくことが、適切な予算計画と発注先選定につながります。
本記事では、C言語リバースエンジニアリングの費用相場を成果物粒度別・目的別・モダナイゼーション規模別に詳しく解説します。LOC課金制の仕組みとC言語特有の補正要因、特急料金の相場、コストを抑えるための実践的なポイントまで、発注担当者が予算計画に必要な情報を網羅します。
▼全体ガイドの記事
・C言語のリバースエンジニアリングの完全ガイド
C言語リバースエンジニアリングの費用構造

C言語リバースエンジニアリングの費用は、大きく「解析フェーズの費用」と「成果物作成フェーズの費用」の2つに分かれます。解析フェーズは逆アセンブル・制御フロー分析・動的トレースなどの技術工数で構成され、成果物フェーズは仕様書や設計書のドキュメント化工数です。それぞれの工数見積もりに影響する要因を理解することが、適正な費用感の把握につながります。
LOC課金制とC言語における適正単価
ソースコード解析による仕様書復元サービスの多くは、LOC(Lines of Code:ソースコード行数)を基準とした従量課金制を採用しています。業界の標準的な相場は、基本料金として30万円(4,000行まで)、超過分は1行あたり50円前後です。この単価は、C言語・Java・PHPなど言語の種類にかかわらず一律で設定されているケースが多いですが、C言語の解析難易度を考慮した補正係数を適用するベンダーも存在します。
C言語1行とJava1行は、解析工数の観点から全く等価ではありません。Javaのバイトコードは逆コンパイルで比較的読みやすいコードが復元できるのに対し、C言語のネイティブコードは変数名・型情報・コメントが全て消去されており、同じ4,000行でも解析に要する時間は2〜3倍に及ぶことがあります。特にコンパイラ最適化(-O2/-O3)が施されたバイナリや、制御フロー平坦化難読化が適用されたC言語バイナリは、解析工数が標準の1.5〜2倍となるため、見積もり段階で難易度係数の適用条件を必ず確認してください。
LOC課金の落とし穴:C言語特有のコスト変動要因
LOC課金制の最大の落とし穴は、ソースコードが存在しない場合のバイナリ解析には適用しにくい点です。設計書もソースコードも失われた組み込みシステムのファームウェア(.binファイル)は、LOC換算できません。この場合は解析対象のバイナリサイズ(KB/MB)と推定関数数を基にした工数見積もりとなり、例えば1MBのファームウェアで関数数が数百〜千程度であれば、標準的な解析工数は1〜3ヶ月(150〜450万円)が目安となります。
また、ソースコードが存在していても、コメントが全くない「ソースコードが謎の変数名ばかりで書かれたレガシーC言語コード」は、行数が多くても1行あたりの情報量が極めて低く、業務ロジックの解読に通常の2〜3倍の工数が必要です。C言語の組み込みシステムでは、ハードウェアレジスタへの直接アクセスコードや割り込みハンドラが多数あり、ハードウェア仕様書(データシート)を参照しながら解読する必要があるため、対応するマイコン・SoCのデータシート入手コスト(ベンダー費用として数万円)が追加されるケースもあります。
成果物粒度別の費用相場

C言語リバースエンジニアリングの費用は、成果物の粒度によって大きく異なります。「どこまで解析・文書化してほしいか」を明確にしないと、発注側とベンダー側で成果物のイメージが一致せず、品質トラブルの原因となります。成果物粒度は大きく3段階に分類されます。
フローチャートレベル(処理フロー可視化):30〜80万円
最もシンプルな成果物は、C言語バイナリから処理の流れを可視化したフローチャートです。関数ごとの処理順序、条件分岐の構造、ループ処理の有無を図として表現します。この段階では業務ロジックの意味解釈までは踏み込まず、「どう動いているか」のマップ作成に留まります。既存システムの改修箇所特定や、次フェーズの詳細解析のための事前調査として活用されます。
具体的な費用の参考として、ECサイトの商品登録機能に相当する約4,000行(10ファイル程度)のC言語コード解析でフローチャート作成までであれば約30万円が相場です。API連携システム(外部I/O項目リスト化・フロー図)では約50万円、CMS構造解析(全体フロー可視化)では約60万円が目安となります。ただしこれはソースコードがある場合の相場であり、バイナリのみからの解析はさらに工数が増加します。
業務仕様書レベル(業務ロジック復元):80〜300万円
業務仕様書レベルでは、フローチャートに加えて、各処理の業務的意味・入出力項目・業務ルール・例外処理・エラーハンドリングを文書化します。業務部門との確認ヒアリングを組み込み、「Why(なぜその処理が必要か)」の背景も記載した、実用レベルの仕様書を作成します。在庫予約システム(約30ファイル・セキュリティ確認含む)の業務仕様書作成では約80万円が相場の事例があります。
中規模の産業機器制御ソフトウェア(C言語、バイナリのみ、ARM RISC-Vアーキテクチャ)を対象とした業務仕様書復元では、ファームウェアダンプ工数(JTAG対応)を含めて150〜300万円の見積もりが一般的です。この価格帯には、業務部門へのヒアリング工数(数回の確認セッション)と、仕様書のレビュー・修正対応も含まれます。
詳細設計書レベル(新システム開発インプット):300万円〜
詳細設計書レベルは、新システムの開発インプットとして直接使用できるレベルの成果物です。業務仕様書の内容に加えて、データベース設計(テーブル定義・ER図)、API仕様書、モジュール構成図、画面遷移図、シーケンス図が含まれます。この粒度になると、解析工数に加えてアーキテクチャ設計の工数が加わり、プロジェクト全体でのコストは300万円〜を想定する必要があります。
詳細設計書レベルの成果物は、その後のモダナイゼーション(新システム開発)の工数削減に直結するため、後続の開発投資との費用対効果を試算した上で判断することが重要です。詳細設計書がない場合、新システム開発の要件定義フェーズで改めて業務ヒアリングと設計書作成が必要となり、結果的に詳細設計書レベルの成果物を含めた総費用との差が縮まることが多いです。
C言語特有のコスト要因:バイナリ解析・組み込み・セキュリティ診断

C言語のリバースエンジニアリングには、他言語にはない固有のコスト要因が存在します。これらを事前に把握して予算に織り込まないと、プロジェクト途中で追加費用が発生し、予算オーバーの原因となります。
難読化解除・組み込みファームウェアダンプの追加工数
制御フロー平坦化や変数名最適化による難読化が施されたC言語バイナリは、通常の解析工数の1.5〜2倍が必要です。難読化解除ツール(D810などのIDA Proプラグイン)の適用作業と、解除後の制御構造の再解釈に時間がかかるためです。暗号化されたファームウェアの場合は、動的解析で復号後のメモリダンプを取得する作業が加わり、さらに追加工数が発生します。
組み込みデバイスのUART/SPI/JTAGインターフェース経由でのファームウェアダンプは、作業として独立した工程が必要です。デバイス基板上のインターフェースを特定し、適切なハードウェアツール(JTAGデバッガ、UARTアダプタ等)を用意して接続する作業は、専門的な電子工作スキルを要します。この作業単独で5〜20万円程度の工数(1〜3日)が相場で、対象デバイスのアーキテクチャの難易度によって変動します。Binwalkによるファームウェアイメージの解凍・構造解析は比較的短時間(数時間〜1日)で完了しますが、暗号化や独自圧縮形式が使われている場合はさらに工数が増加します。
セキュリティ脆弱性診断(C言語バイナリ)の費用相場
C言語バイナリのセキュリティ脆弱性診断は、目的と範囲によって費用が大きく変わります。自動ツールによる静的解析診断(バッファオーバーフロー・整数オーバーフロー等のパターン検出)は10〜30万円が相場です。これに手動解析(エキスパートによるアセンブリレベルの確認・複合的な脆弱性の検出)を組み合わせた標準的な診断は50〜150万円が一般的な費用帯です。
IoT機器・ルーター・産業制御機器のファームウェア診断では、ファームウェアダンプ工数と組み込みデバイス固有の動的テスト(実機を用いたペネトレーションテスト)が加わり、100〜250万円のレンジとなります。対象がIoT機器でiOS/Androidアプリとの連携があり両OS向けの診断が必要な場合は、工数がほぼ倍増するため200〜500万円に及ぶケースもあります。定期的なセキュリティ診断として年次・半年次で実施する場合は、年間契約割引を交渉することで総費用を20〜30%抑えられることがあります。
C言語システムのモダナイゼーション全体での費用目安

C言語で開発されたレガシーシステムのモダナイゼーション全体費用は、採用する手法によって大きく異なります。リバースエンジニアリング単体の費用はモダナイゼーション全体の前段階に位置づけられ、後続の開発投資と合わせて総費用を把握することが重要です。
手法別のモダナイゼーション費用と期間
C言語システムのモダナイゼーション手法は4段階に分類されます。最もシンプルなリホスト(単純移行)は、C言語プログラムをそのまま別のインフラ(クラウド等)に移行するもので、費用規模は数千万円〜1億円台、期間は3〜6ヶ月が目安です。リプラットフォームは、インフラとミドルウェアを変更しながらアプリの大部分は維持するもので、1億円〜3億円・6〜12ヶ月が一般的な規模感です。リファクタリングは、C言語のコードを現代的なスタイルに書き直しながら機能は維持するアプローチで、2億円〜5億円・12〜18ヶ月が目安です。最も大規模なリビルド/リライトは、C言語の仕様を基に全く新しいシステムをゼロから開発するもので、5億円以上・18ヶ月以上が必要となります。
これらのモダナイゼーション費用において、リバースエンジニアリング(仕様書復元)は先行投資として位置づけられます。設計書が全く存在しないC言語システムの場合、リバースエンジニアリングを省略してリビルドを試みると、要件定義フェーズで業務部門ヒアリングに多大な時間がかかり、かえってコストと期間が増大するリスクがあります。リバースエンジニアリングへの先行投資(数十万〜数百万円)が、その後の開発フェーズで数倍の工数削減につながるというROIで判断することが合理的です。
スクラッチ開発との費用比較とROI判断フレーム
リバースエンジニアリングを活用したモダナイゼーションとスクラッチ開発のどちらがROIが高いかは、現行システムの「業務ロジック生存率」で判断することが有効です。現行のC言語システムに含まれる業務ロジックのうち、新システムにも引き継ぐ必要があるものが70%以上ならリバースエンジニアリング活用が有利です。一方、長年の改修で不要な機能が肥大化しており、本当に必要な機能が30%以下に絞られるなら、スクラッチ開発の方が技術的負債なく出発できます。
また、現行C言語システムを熟知したエンジニアが社内に残っているかどうかも判断軸の一つです。知識者が残っているうちに要件定義できるならスクラッチ開発も現実的ですが、退職・引き継ぎ失敗でブラックボックス化が進んでいる場合は、リバースエンジニアリングによる知識の回収が先決となります。
特急料金の相場と短納期案件への対応

C言語リバースエンジニアリングは、解析エンジニアの集中的な作業を要するため、短納期化には限界があり、特急料金の設定が一般的です。プロジェクトの緊急度に応じた追加費用の目安を把握しておくことで、予算計画が立てやすくなります。
短納期化の割増率目安(+20〜60%)
C言語リバースエンジニアリングの特急料金は、通常納期の短縮度合いによって段階的に設定されます。通常の2/3程度の期間への短縮(例:3ヶ月を2ヶ月に短縮)では総額の20〜30%増が一般的な割増率です。半分以下の期間への短縮(例:3ヶ月を1.5ヶ月に短縮)では30〜40%増となります。休日・深夜対応が必要な超特急(例:1ヶ月以内に完了)では40〜60%増となり、解析エンジニアへの特別手当や品質管理コストの増加が主な要因です。
C言語バイナリの解析は、並列化によって工数を削減できる部分が限られています。複数のエンジニアが分担して解析できる関数群がある場合は並列化が有効ですが、制御フローグラフ全体を把握してから個別関数の意味を解釈するDesign Recoveryフェーズは、一人の熟練エンジニアが全体像を把握した上で進める方が品質が高くなります。したがって、「人を増やせば比例して納期が短縮できる」という単純な関係は成り立たず、特急料金を払っても実質的な短縮には限界があることを理解しておくべきです。
特急対応が必要になるケースとリスク管理
特急対応が必要になる典型的なケースとして、担当エンジニアの突然の退職・病気によるブラックボックス化の緊急対応、セキュリティインシデント発生後の原因究明のための緊急バイナリ解析、老朽化した組み込み機器の部品調達が困難になり至急代替機器設計が必要となったケースなどがあります。これらは「いつかやろうと思っていた」対応が後手に回った結果であり、計画的な対応と比較して数十〜数百万円の追加費用が発生することを示しています。
特急対応でのリスクとして、解析の品質低下が挙げられます。C言語バイナリの解析は時間をかけて全体像を把握することが重要であり、短期集中で行うと見落としや誤解釈が増加する傾向があります。特急対応時は、解析の対象範囲を絞り込んで最重要な機能のみに集中するスコープ限定アプローチが、品質と納期のバランスを保つ現実的な選択です。
コストを抑えるための5つのポイント

C言語リバースエンジニアリングの費用を適正に抑えるためには、発注側の準備と発注方針の工夫が重要です。以下の5つのポイントを実践することで、不要なコストの発生を防ぎ、費用対効果を最大化できます。
スコープ明確化と段階的発注でコストをコントロールする
コスト削減の第一のポイントは、解析対象のスコープを明確に絞り込むことです。「システム全体」ではなく「在庫管理モジュールの仕様書復元のみ」のように対象を限定することで、初期費用を大幅に抑えられます。全体像の把握(フローチャートレベル)を安価な第一フェーズとして発注し、その結果を見て詳細解析が必要な領域を特定してから第二フェーズを発注する段階的アプローチが有効です。
第二のポイントは、発注前に可能な限りの情報整理を自社で行うことです。現行システムの担当者へのヒアリング記録、バイナリのサイズと推定規模、対象プラットフォームのアーキテクチャ情報(マイコン型番等)、存在する部分的なドキュメント(古い仕様書の断片・コメント付きヘッダファイル等)を整理して提供することで、ベンダーの初期調査工数が削減でき、見積もり精度も高まります。自社内で情報を整理せずに丸投げすると、ベンダーの前処理工数が費用に上乗せされます。
複数社比較・成果物仕様の事前合意・業務部門参加でリスクを下げる
第三のポイントは、複数社(最低3社以上)に見積もりを取ることです。C言語リバースエンジニアリングの見積もりは、ベンダーのスキル・体制・成果物定義の解釈によって費用が大きく変動します。最低価格に飛びつかず、各社の見積もり根拠(工数内訳・担当エンジニアのスキル・成果物の定義)を比較することが重要です。第四のポイントは、成果物の仕様を発注前に詳細に合意し、書面(仕様書)として残すことです。「フローチャート」の定義がベンダーと発注側でズレていると、完了後に追加作業が発生し費用が膨らむ典型的なパターンになります。
第五のポイントは、業務部門の担当者を積極的にプロジェクトに参加させることです。業務部門が「Why(なぜその仕様か)」の情報を持っており、この情報を早い段階で提供することで、ベンダーの解析仮説検証の工数が大幅に削減できます。業務担当者1人が週1時間のレビューに参加するだけで、解析工数が10〜20%削減される事例も報告されています。業務部門の協力を得られない場合、ベンダーは「コードから読み取れること」のみに留まり、業務ロジックの品質が下がります。
まとめ

C言語リバースエンジニアリングの費用は、成果物の粒度(フローチャート30〜80万円、業務仕様書80〜300万円、詳細設計書300万円〜)と、C言語固有の追加コスト要因(難読化解除、ファームウェアダンプ、セキュリティ診断)によって決まります。LOC課金制を採用するベンダーに依頼する際は、C言語バイナリの解析難易度が中間言語系の2〜3倍に達することを踏まえた難易度補正の有無を必ず確認してください。特急料金は20〜60%増となるため、計画的な発注スケジュール設定が重要です。
コストを適正に抑えるために最も効果的なのは、スコープの明確化・段階的発注・複数社比較・成果物仕様の事前合意・業務部門の参加の5点です。C言語リバースエンジニアリングをモダナイゼーションの前段階として捉え、先行投資としてのROIを試算した上で予算を計画することで、プロジェクト全体の費用対効果を最大化できます。具体的な費用の見積もりを取得したい場合は、専門ベンダーへの無料相談から始めることをお勧めします。
▼全体ガイドの記事
・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を創業。
