「Reactで構築されたシステムのリバースエンジニアリングを依頼したいが、どれくらいの費用がかかるのか見当もつかない」「見積もりを複数社から取ったが、金額が大きく異なりどれが適正なのか分からない」——こうした悩みを抱える担当者の方は非常に多くいます。Reactのリバースエンジニアリングは、JavaScriptの難読化・バンドル圧縮・SPAの状態管理・REST/GraphQL API通信解析など、他言語とは異なる固有の解析作業を必要とするため、費用の見積もりが複雑になりがちです。さらに「LOC(コード行数)課金」という一般的な課金方式が、難読化・圧縮されたReactのバンドルには適合しない場合があり、適正価格を判断するための知識が欠かせません。
本記事では、Reactのリバースエンジニアリングの費用構造・相場・見積もりの考え方から、コストを抑える具体的なポイントまで、実務に役立つ情報を詳しく解説します。具体的な金額例も交えながら、「適正な見積もりとはどういうものか」を判断できる知識を身につけていただけます。
▼全体ガイドの記事
・Reactのリバースエンジニアリングの完全ガイド
Reactリバースエンジニアリングの費用構造

Reactのリバースエンジニアリングの費用を理解するには、まず「どのような作業が費用を構成しているか」を把握することが重要です。費用構造を正確に理解することで、見積もりの妥当性を判断できるようになります。
LOC課金制とReactにおける適正単価の考え方
リバースエンジニアリングの費用算出でよく用いられるのが「LOC(Lines of Code)課金」です。コード1行あたりの単価を設定し、解析対象のコード総行数に掛け合わせて費用を算出します。参考値として、一般的なソースコード解析による仕様書復元では基本料金30万円(4,000行まで)、超過分は1行あたり50円という費用体系が市場で見られます。しかしReactの場合、この「LOC課金」には重大な落とし穴があります。
本番環境のReactアプリはWebpackによってバンドル・圧縮・難読化された状態で配布されます。minify後のバンドルファイルは複数のモジュールが1ファイルに結合され、改行が除去されて非常に少ない行数になります。つまり、LOCをそのままカウントすると「実際の解析難度に比べて行数が少ない」という歪みが生じます。適切なベンダーは、バンドル前のソースコード行数(ソースマップから推定)または解析工数(人日)ベースで見積もりを提示します。LOCだけで見積もりを出すベンダーには注意が必要です。
Reactの複雑さを反映した見積もり補正要素
Reactのリバースエンジニアリングの費用を左右する補正要素は主に6つあります。第一に「ソースマップの有無」です。ソースマップが公開・入手できる場合は難読化解除が容易になり、費用が20〜40%程度削減されます。第二に「状態管理の複雑さ」です。Reduxを使用していてアクション数・リデューサー数が多い場合は、状態管理の解析工数が大きく増加します。第三に「APIの種類」です。RESTよりGraphQLの方が、スキーマが不明な場合の解析工数が増えます。第四に「コンポーネント数・画面数」です。大規模なSPAでは画面・コンポーネント数が数百に及ぶ場合があり、工数に直結します。第五に「成果物の粒度」です(後述)。第六に「期間・納期」です。短納期の場合は特急料金(通常の20〜60%増)が発生します。
成果物粒度別の費用相場

Reactのリバースエンジニアリングの費用は、成果物の粒度(どの水準まで仕様を文書化するか)によって大きく変動します。目的に合わせた成果物粒度を選択することが、適切な費用でプロジェクトを進める上で最も重要な判断の一つです。
フローチャートレベル(最もシンプルな成果物)
フローチャートレベルでは、Reactアプリの主要な画面遷移図とAPI通信フロー図を作成します。どの画面からどの画面に遷移するか・どのタイミングでどのAPIを呼び出すかを視覚化したものです。費用の目安は、中規模のReactアプリ(画面数30〜50、API数20〜40)で30万〜80万円程度です。ただし、フローチャートだけでは業務ロジックの詳細(バリデーション条件・エラーハンドリング・権限制御のルール等)は分からないため、新システムの開発にそのまま使うことはできません。「現状のシステム全体像を素早く把握したい」「新規開発の見積もりを出す前の概要把握」という目的に適しています。
業務仕様書レベル(中程度の成果物)
業務仕様書レベルでは、各機能の入出力データ・業務ルール(バリデーション条件・権限制御・ステータス管理等)・エラーハンドリングを文書化します。ReactのAPI通信解析から得たリクエスト・レスポンスのデータ構造も含めて記載するため、「このシステムがどのような業務ロジックで動いているか」をビジネス観点で理解できる水準の成果物です。費用の目安は、中規模のReactアプリで80万〜200万円程度です。API連携システムの仕様書化(外部I/O項目リスト化)の場合は50万円程度からという実績もあります。保守引継ぎや改修計画の策定を目的とする場合に適した成果物粒度です。
詳細設計書レベル(最も詳細な成果物)
詳細設計書レベルでは、新システム開発にそのまま使える詳細な設計書一式(画面設計書・コンポーネント設計・API仕様書・DB設計・状態管理設計)を作成します。Reactのコンポーネント階層・propsとstateの定義・Redux/Zustandのストア設計・GraphQLスキーマも含めた包括的なドキュメントです。費用の目安は、中規模のReactアプリで200万〜500万円程度、複雑な大規模アプリでは500万円以上になることもあります。「現在のシステムを刷新・リプラットフォームする」「開発ベンダーを切り替えて引継ぎを行う」という目的に適した成果物粒度です。
React特有のコスト要因

Reactには、COBOLやJavaなどの他言語にはない固有のコスト要因があります。見積もりを依頼する際は、これらの要素がどう扱われているかを確認することが重要です。
難読化・バンドル解除の工数
Webpackのproductionビルドによる難読化・圧縮は、Reactの解析コストを大幅に引き上げる最大の要因です。ソースマップがある場合と比べて、ない場合は解析工数が2〜5倍になるケースもあります。難読化コードでは変数名が1〜2文字に短縮されているため、変数の意味を文脈から推測する作業が必要で、これが工数増加の主な原因です。また、難読化の種類・強度によっても工数は変わります。単純なminifyであれば整形ツールで読みやすくなりますが、制御フローの難読化(Control Flow Flattening)が施されている場合は解析難度が著しく上がり、費用増加に直結します。
GraphQL・REST API通信解析の追加工数
API通信解析は、Reactのリバースエンジニアリングにおいてバックエンドのデータ構造を把握するための重要な工程です。REST APIの場合はネットワークログを記録して各エンドポイントを一覧化しますが、エンドポイント数が多い場合(50〜100以上)は工数が大幅に増加します。GraphQLを採用している場合は、クライアントが送信するクエリを解析してスキーマ構造を推測する作業が加わります。GraphQL Introspection(スキーマ自動取得機能)が本番環境で無効化されている場合は、クエリの断片を集めながらスキーマを手動で推測する必要があり、解析工数が特に増加します。API通信解析の費用は、エンドポイント・クエリ数に応じて別途見積もりされることが多く、50万〜150万円の範囲が一般的です。
