C言語のリバースエンジニアリングの見積相場や費用/コスト/値段について

C言語のリバースエンジニアリングの費用は、30万円から数億円規模まで幅があります。金額を左右するのは、解析の対象、成果物の粒度、難読化や組み込み対応の有無です。

成果物ごとの相場や費用を押し上げる要因も、本文で詳しく見ていきます。全体像は完全ガイドにもまとめています。

▼全体ガイドの記事
・C言語のリバースエンジニアリングの完全ガイド

C言語リバースエンジニアリングの費用構造

C言語リバースエンジニアリングの費用は、解析フェーズと成果物作成フェーズに分かれます。解析フェーズには、逆アセンブル、制御フロー分析、動的トレースの工数が含まれます。一方で、成果物作成フェーズは、仕様書や設計書をドキュメント化する工数です。

LOC課金制とC言語における適正単価

ソースコード解析による仕様書復元では、LOC(Lines of Code:ソースコード行数)を基準にする従量課金制が多く採用されています。

  • 基本料金:4,000行までは30万円が目安です。
  • 超過料金:4,000行を超える分は、1行50円前後です。
  • 難易度補正:C言語の解析難易度を係数で加算するベンダーもあります。

単価は、C言語、Java、PHPなどの言語を問わず一律の場合もあります。ただし、C言語の1行とJavaの1行は、解析工数の観点では同じ価値になりません。

その差は、コードの読み解きやすさにあります。Javaのバイトコードは、逆コンパイルで読みやすいコードを復元しやすい傾向があります。一方、C言語のネイティブコードでは、変数名・型情報・コメントが消去されています。

そのため、同じ4,000行でもC言語の解析時間がJavaの2〜3倍になることがあります。

コンパイラ最適化(-O2/-O3)や制御フロー平坦化難読化があると工数は増えます。この場合の解析工数は標準の1.5〜2倍となるため、見積もりの際に補正条件を確認します。

LOC課金の落とし穴:C言語特有のコスト変動要因

ソースコードがないバイナリ解析では、LOC課金制を使いにくい点に注意が必要です。

  • 見積もり基準:バイナリサイズ(KB/MB)と推定関数数で算出します。
  • 1MBの目安:関数数が数百〜千程度なら1〜3ヶ月、150〜450万円です。

設計書とソースコードが失われた組み込みシステムのファームウェア(.bin)は、LOC換算できません。また、コメントがなく変数名も不明なレガシーC言語コードは、業務ロジックの解読に通常の2〜3倍かかります。

組み込みシステムでは、ハードウェアレジスタや割り込みハンドラの解読も必要です。マイコン・SoCのデータシートを参照するため、ベンダー費用として数万円が加わる場合もあります。

ポイント

見積もりを比べるときは、解析工数と成果物作成の工数を分けて見ます。LOCで出した額とバイナリサイズで出した額を混ぜず、同じ条件で各社の金額を比べます。

成果物粒度別の費用相場

フローチャート、業務仕様書、詳細設計書の3段階を並べた図解
可視化から新システム開発の設計情報へと、成果物の役割が広がります。

C言語リバースエンジニアリングの費用は、解析・文書化する成果物の粒度で変わります。発注前に「どこまで解析し、どこまで文書化するか」を決めておかないと、品質トラブルにつながります。

成果物の粒度は、大きく3段階に分けられます。

フローチャートレベル(処理フロー可視化):30〜80万円

最もシンプルな成果物は、C言語バイナリの処理の流れを可視化したフローチャートです。

  • 可視化範囲:関数の順序、条件分岐、ループ処理を図にします。
  • 活用場面:改修箇所の特定や、詳細解析前の調査に使います。
  • 費用目安:成果物は30〜80万円で、約4,000行なら約30万円です。

この段階では、業務ロジックの意味までは解釈せず、「どう動くか」のマップ作成にとどめます。たとえば、ECサイトの商品登録機能に相当する約4,000行、10ファイル程度の解析は、約30万円の事例です。

API連携システムは外部I/O項目リスト化とフロー図で約50万円、CMS構造解析は約60万円が目安です。ただし、これらはソースコードがある場合の相場で、バイナリのみの解析では工数がさらに増えます。

業務仕様書レベル(業務ロジック復元):80〜300万円

業務仕様書レベルでは、処理の業務的な意味まで復元して文書化します。

  • 文書範囲:入出力と業務ルールを記載し、例外処理やエラー対応も含めます。
  • ヒアリング:業務部門に確認し、Why(なぜ必要か)も記載します。
  • 事例:在庫予約システムは、約30ファイルで約80万円です。
  • バイナリ事例:ARM RISC-V対象は150〜300万円が一般的です。

在庫予約システムの事例には、セキュリティ確認も含まれます。また、中規模の産業機器制御ソフトウェアでは、C言語のバイナリとARM RISC-Vアーキテクチャを対象にします。

この見積もりには、JTAG対応のファームウェアダンプの工数が含まれます。さらに、業務部門への数回の確認セッションと、仕様書のレビュー・修正対応も含まれます。

詳細設計書レベル(新システム開発インプット):300万円〜

詳細設計書レベルは、新システムの開発インプットとして直接使える成果物です。

  • データ設計:テーブル定義とER図を作成します。
  • システム設計:API仕様書とモジュール構成図を含めます。
  • 画面・処理設計:画面遷移図とシーケンス図を作成します。

業務仕様書に加えてアーキテクチャ設計も必要となるため、費用は300万円〜が目安です。この成果物があれば、後続のモダナイゼーションで開発工数を削減しやすくなります。

詳細設計書がない場合は、新システムの要件定義で業務ヒアリングと設計書作成が必要になります。その結果、詳細設計書を含めた総費用との差が縮まることが多くあります。

ポイント

後続の開発で使う範囲から成果物の粒度を決めます。粒度で費用が大きく変わるため、必要な範囲を先に決めておくと見積もりを比べやすくなります。

C言語特有のコスト要因:バイナリ解析・組み込み・セキュリティ診断

C言語のリバースエンジニアリングには、他言語にはない固有のコスト要因があります。事前に予算に組み込まないと、途中の追加費用が予算オーバーにつながります。

難読化解除・組み込みファームウェアダンプの追加工数

難読化されたC言語バイナリは、通常の解析より追加工数が必要です。

  • 難読化解除:通常の1.5〜2倍の工数が必要です。
  • 暗号化対応:動的解析で復号後のメモリダンプを取得します。
  • ダンプ作業:組み込みデバイスのUART/SPI/JTAG接続に5〜20万円、1〜3日かかります。

制御フロー平坦化や変数名最適化では、解除後の制御構造を再解釈する必要があります。難読化解除ツールには、D810などのIDA Proプラグインがあります。

組み込みデバイスでは基板上のインターフェースを特定し、JTAGデバッガやUARTアダプタで接続します。この作業には専門的な電子工作スキルが要るため、費用はアーキテクチャの難易度で変わります。

Binwalkによる解凍・構造解析は、数時間〜1日で終わることがあります。ただし、暗号化や独自圧縮形式が使われている場合は、さらに工数が増加します。

セキュリティ脆弱性診断(C言語バイナリ)の費用相場

C言語バイナリの脆弱性診断費用は、目的と範囲で大きく変わります。

  • 自動静的解析:バッファオーバーフローなどを検出し、10〜30万円です。
  • 標準診断:手動解析を組み合わせ、50〜150万円が一般的です。
  • 組み込み診断:実機テストとダンプを含め、100〜250万円です。
  • 両OS対応:iOS・Android連携では200〜500万円に及びます。
  • 定期診断:年次・半年次契約では20〜30%抑えられる場合があります。

診断対象には、整数オーバーフローも含まれます。また、標準診断では、アセンブリレベルの手動確認と複合的な脆弱性の検出を行います。

IoT機器、ルーター、産業制御機器では、組み込み機器固有の動的テストを加えます。iOS/Androidの両OS向け診断が必要な場合は、工数がほぼ倍増します。

定期診断の費用を抑えたい場合は、年間契約割引を交渉する方法もあります。

ポイント

難読化、ファームウェアダンプ、セキュリティ診断の有無は、見積もり前に洗い出しておきます。対象に含めるほど費用の幅が広がるため、先に決めておくのが現実的です。

C言語システムのモダナイゼーション全体での費用目安

4つのモダナイゼーション手法を移行対象の違いで対比する図
手法を選ぶときは、現行アプリをどこまで残すかが分かれ目になります。

C言語レガシーシステムのモダナイゼーション全体の費用は、採用する手法で変わります。リバースエンジニアリングは前段階に位置するため、後続の開発投資と合わせて把握します。

手法別のモダナイゼーション費用と期間

C言語システムのモダナイゼーション手法は、4段階に分類できます。

  • リホスト:単純移行で、数千万円〜1億円台、3〜6ヶ月です。
  • リプラットフォーム:1億円〜3億円、6〜12ヶ月です。
  • リファクタリング:2億円〜5億円、12〜18ヶ月です。
  • リビルド・リライト:5億円以上、18ヶ月以上です。

リプラットフォームは、インフラとミドルウェアを変えて、アプリの大部分は維持します。リファクタリングは、C言語を現代的な書き方に直しつつ機能を維持します。リビルド・リライトは、C言語の仕様を基に新システムをゼロから開発します。

リバースエンジニアリングは先行投資で、費用は数十万〜数百万円です。設計書がないままリビルドすると、要件定義で業務部門へのヒアリングに時間がかかります。その結果、開発のコストと期間が増えるリスクがあります。

先行投資が後続の開発で数倍の工数削減につながるかは、ROIで判断します。

スクラッチ開発との費用比較とROI判断フレーム

モダナイゼーションとスクラッチ開発のROIは、業務ロジック生存率で判断できます。

  • 生存率70%以上:引き継ぐ業務ロジックが多く、活用が有利です。
  • 生存率30%以下:不要機能が多く、スクラッチ開発が有利です。
  • 社内知識者あり:知識者が残るうちならスクラッチ開発も現実的です。
  • ブラックボックス化:知識回収のため解析を先に行います。

現行のC言語システムを熟知したエンジニアが社内に残っているかも、判断の軸になります。退職や引き継ぎの失敗で知る人がいなくなると、仕様を確かめる手段が解析に限られます。

特急料金の相場と短納期案件への対応

C言語リバースエンジニアリングは集中的な作業を要するため、短納期化には限界があります。緊急度に応じた追加費用を把握すると、予算を計画しやすくなります。

短納期化の割増率目安(+20〜60%)

特急料金は、通常納期からの短縮度合いに応じて段階的に設定されます。

  • 2/3の期間:3ヶ月を2ヶ月に短縮すると20〜30%増です。
  • 半分以下の期間:3ヶ月を1.5ヶ月に短縮すると30〜40%増です。
  • 超特急:1ヶ月以内の完了では40〜60%増となります。

休日や深夜に対応する場合は、解析エンジニアの特別手当と品質管理コストが増えます。

バイナリ解析は並列化できる部分が限られるため、人数を増やしても比例して短縮はできません。関数群を分担するのは有効ですが、全体像を把握するDesign Recoveryは熟練者が進めるほうが高品質です。

特急対応が必要になるケースとリスク管理

特急対応は、緊急事態で通常の計画より短い納期が必要な場合に発生します。

  • 担当者の離脱:退職・病気でブラックボックス化した場合です。
  • セキュリティ事故:原因究明のため緊急解析が必要になります。
  • 部品調達難:代替機器の設計を急ぐ老朽組み込み機器が対象です。

計画的な対応と比べ、数十〜数百万円の追加費用が発生することがあります。さらに、短期集中の解析では、見落としや誤解釈が増えて品質が下がるリスクもあります。

特急時は、スコープを最重要機能に限定することが、品質と納期を現実的に調整する策になります。

ポイント

短納期を求めるかどうかは、緊急度と追加費用を比べて決めます。通常納期からの短縮幅で割増率が変わるため、納期を縮める前に割増の目安を確かめておくと判断しやすくなります。

コストを抑えるためのポイント

対象の限定から業務部門の参加まで、費用管理の工夫を並べた図
発注側の準備をそろえると、見積もりの前提を共有しやすくなります。

費用を適正に抑えるには、発注側の準備と発注方針の工夫が重要です。下に挙げる観点を実践すると、不要なコストを防ぎ、費用対効果を高められます。

スコープ明確化と段階的発注による費用管理

まず、解析対象のスコープを絞り込みます。

  • 対象限定:在庫管理モジュールの仕様書復元だけに絞る
  • 第一フェーズ:全体像をフローチャートで安価に把握する
  • 第二フェーズ:必要な領域だけを対象にした詳細解析の発注

範囲を小さくすると、初期費用を大幅に抑えられます。さらに、最初の結果を見て詳細解析の範囲を決める段階的な発注が有効です。

発注前に、現行担当者へのヒアリング記録と、バイナリのサイズ・推定規模を整理しておきます。加えて、マイコン型番などのアーキテクチャ情報や、古い仕様書の断片、コメント付きヘッダファイルも渡します。

発注側で情報を整理せずに丸投げすると、ベンダーの前処理工数が費用に上乗せされます。

複数社比較、成果物仕様の事前合意、業務部門の参加によるリスク低減

見積もりと成果物の認識をそろえることが、リスク低減につながります。

  • 複数社比較:最低3社以上の工数内訳を比べます。
  • 仕様の書面化:成果物の定義を発注前に合意します。
  • 業務部門参加:Whyの情報を早期に共有し、仮説検証を進めます。
  • レビュー参加:業務担当者1人が週1時間参加すると、解析工数が10〜20%減る事例があります。

比較の際は、最低価格に加えて、担当エンジニアのスキルと体制も見ます。特に、「フローチャート」の定義がずれると、完了後の追加作業で費用が膨らみます。

業務部門が持つ「Why(なぜその仕様か)」は、コードだけでは分かりません。協力が得られない場合は、読み取れる範囲にとどまり、業務ロジックの品質が下がります。

ポイント

発注側で対象を絞って段階的に発注するか、複数社の見積もりを比べるかを先に定めます。成果物の定義と業務部門の関わり方を決めておけば、費用の上振れを抑えやすくなります。

まとめ

C言語リバースエンジニアリングは、成果物の粒度で費用が大きく変わります。フローチャートは30〜80万円、業務仕様書は80〜300万円、詳細設計書は300万円〜が目安です。また、難読化解除、ファームウェアダンプ、セキュリティ診断も追加コストになります。

LOC課金では、同じ行数でもC言語の解析時間がJavaの2〜3倍になることがあるため、見積もりの前提を確認します。

難易度補正の有無を確認し、特急料金の20〜60%増も予算に含めます。計画的な発注スケジュールを組むことが、追加費用の抑制につながります。

費用を抑えるには、解析のスコープ(対象範囲)を明確にして段階的に発注することが有効です。そのうえで、複数社の見積もりを比べ、成果物の定義を発注前に合意し、業務部門にも早くから加わってもらうことが大切です。

モダナイゼーションの前段階として、リバースエンジニアリングのROIを試算します。先行投資として予算を計画すれば、プロジェクト全体の費用対効果を高められます。

具体的な費用を知りたい場合は、専門ベンダーへの無料相談から始める方法があります。

▼全体ガイドの記事
・C言語のリバースエンジニアリングの完全ガイド

会社紹介

株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

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

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。

・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>

執筆者プロフィール
張田谷凌央
張田谷凌央

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