私はC#で書かれたアプリケーションを持っています(もちろんソースなしで)、それは少し変更する必要があります。たとえば、不要なメニューを作成する数行のコードを停止する必要があります。だから私はそれらをコメントアウトする必要があると思います。
ソースコードは難読化されていません。 Reflector/Reflexilなどのツールを使用して、完全に逆コンパイル、変更、および再度コンパイルできることを知っています。しかし、これを行うことにより、コードの多くの部分が再びコンパイルされないことを誰もが知っています!リフレクター(または他の製品)に、このプロセスなしで一部を無効化/変更できる方法はありますか?
ありがとう。
DnSpyを試してみることをお勧めします。これは、ILSpyからフォークされた.NETアセンブリエディター、デコンパイラー、およびデバッガーです。
本当にこれを行う必要がある場合は、Reflector(または同様の製品)で逆コンパイルし、それを使用して、同じ実行可能ファイルを生成する.Netでソリューションを再作成してみてください。
次の問題が発生する可能性があります。
これは、これを行うことに関連する潜在的な法的問題は言うまでもありません。実行可能ファイルがこれを許可するライセンスの下でリリースされた場合、おそらくソースコードにアクセスできます。したがって、ソースコードにアクセスできないという事実は、提案していることを行うことが合法ではない可能性があることを意味します。
完全を期すために:別の可能な解決策は、ildasmを使用することです http://msdn.Microsoft.com/en-US/library/f7dy01k1%28v=vs.80%29.aspx MSIL Disassembler 、MSILを編集して、ilasmにフィードバックします。
このソリューションがどれほど実用的かは、もちろんあなた次第です
このスレッドは役立つかもしれません: dotnet dllの逆コンパイルとコードの変更
前回、リフレクションを使用してソースを逆コンパイルしようとしたとき、dllが難読化されていませんが、リソースやその他のサブに関してコンパイルの問題が多すぎました。したがって、新しいdllを古いdllとして機能させるために、ソースを抽出して変更するだけではないことがあります。
したがって、他のスレッドで言及されているオプションのいずれかを使用して、直接dll操作を行うことをお勧めします。