0

シナリオ: リモート Web サーバーで実行されている公開済みの ASP.NET アプリケーションにアクセスできます。ディレクトリ構造は次のようになります。

ここに画像の説明を入力

私の知る限り、プロジェクト/ソリューション ファイルにアクセスできません。具体的には、変更が必要な特定の C# コード ビハインド ファイルが見つかりません。

公開されたコードのみを使用して、最小限の労力でこのプロジェクトを再構築することは可能ですか?

4

2 に答える 2

5

いくつかの説明:

何かをリファクタリングするとは、外部の動作を変更せずに内部構造を変更することです。逆コンパイラを使用してソース コードにアクセスすることはできますが、多くの場合、逆コンパイラはほとんどのコードを人間にとって読みにくくするフォーマットの決定を行っているため、多くの時間を投資する価値はありません (マシンのみの可読性のために既に削除されているため)。 .

通常、リファクタリングはコードのパフォーマンスまたは可読性を向上させるためにのみ行われるため、後者を目標にする場合は途方にくれます。私の推測では、いくつかの機能を調整する必要があると思います。その場合、実際には逆コンパイラが唯一の方法ですが、ソース コードを見つけてソース コードを適切に追跡する方がおそらく良いでしょう。コードを本番環境にデプロイするとき、ソース コードを探す場所を示す ReadMe.txt ファイルを含めます。

さらに、一部の asp.net ファイルは .dll にコンパイルされません。通常、.dll には、.vb または .cs で終わるファイルのみが含まれます。.aspx ファイルや .ascx ファイルなどのコンパイルされていないページにアクセスして含める必要がありますが、これらもサーバー上にあります。

.NET Reflector の優れた無料の代替手段は、Telerik のJust Decompileを使用することです。これには、コンパイルされたコードから .proj ファイルを再作成するオプションがあります。

于 2013-02-11T01:38:44.773 に答える
0

.NET Reflectorのような逆コンパイラを使用して dll を逆コンパイルできますが、それはコードが難読化されていない場合にのみ機能します。それでも、元のソリューションからすべてのファイルを再生成できない場合があります。

于 2013-02-11T01:11:14.313 に答える