web-dev-qa-db-ja.com

プリコンパイルされたソースコードASP.NETを逆コンパイルします

アプリケーションが本番環境にあり、コードはコンパイル済みの形式です。そのアプリケーションを開発した開発者は会社を辞め、ソースコードのバックアップはありません。私たちが持っている唯一のアクセスは、サーバー内のコンパイル済みコードです。今すぐアプリケーションの問題を修正する必要があります。

プリコンパイルされたコードを逆コンパイル(実際のソースコードに抽出)する方法はありますか?

16
msbyuva

。NET Reflector でDLLを開きます。

13
adamjford

@xOnの回答を更新するには:

最近のソース管理の災害のため、DLLからプロジェクトを回復する必要がありました。とても悲しいことに、私は手順について知識があります:

  1. ここから.NetReflectorを入手してください: http://www.red-gate.com/products/dotnet-development/reflector/

  2. FileDisassemblerは必要ないようです。

  3. ビンをReflectorにロードするか、ダブルクリックします。

  4. .Netフレームワークが元のプロジェクトファイル構造を維持していない可能性があることに注意してください。したがって、一部のASPXページが異なる.csファイルで同じ基本クラス名を共有している場合(IE Inheritsタグは同じですが、CodeFileタグは異なります)、単純に「」を行うことはできません。ソースコードをエクスポートする」。ソースファイルをやみくもにエクスポートしないでください。それは動作しません。

  5. 古いビルドボタンを起動する前に、まだやるべきことがいくつかあります。たとえば、DLLはプロパティのゲッター/セッターを直接参照できます。あなたはそれを修正する必要があります。

幸運を。

3
Vaiden

皮切りに:

http://www.red-gate.com/products/dotnet-development/reflector/

...プラス:

http://www.denisbauer.com/NETTools/FileDisassembler.aspx

後者を再コンパイルして、リフレクターのv6.5(この投稿の時点で最新)とリンクする必要があります。これは、単一のクラスをコピーしてファイルに貼り付ける必要がない場合に適したアドオンです。手。アセンブリ全体を.csファイルとしてダンプします。私はそれがcsprojを生成するかもしれないと思います。

どちらのツールも無料です。

2
x0n

同様の問題があり、Reflectorを使用して逆コンパイルしました。ソースコードを入手し、必要なビットを変更して再構築しました。次に、そのdllを本番サイトに再度コピーしました。それは私の変化を反映し始めました。プリコンパイルされたサイトにはすべてのページにdllがあり、更新可能であったため、dllにはコードビハインドファイルしかなかったため、非常に簡単で、まったく難しいことではありませんでした。

参考: http://www.reflector.net/

0
Bhavjot

.net Reflector.itsをインストールすると、VisualStudioにインポートされます。次に、メニューバーに.netリフレクターツールが表示されました。

.netリフレクター>> [アセンブリの選択](DLLファイル)をクリックしてデバッグします。

0
Wafa Abbas

Dllは.NETReflectorツールを使用して読み取ることができますが、ソースコードを抽出できないことがわかりました。また、Webフォームがプリコンパイルされると、ファイルの背後にあるコードを取り戻すことさえできなくなります。私たちにできることは、コードをデバッグして分析することだけです。

0
msbyuva