C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 配布用exeからデコンパイル


(過去ログ 167 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■96671 / inTopicNo.1)  配布用exeからデコンパイル
  
□投稿者/ 工場プログラマー (51回)-(2021/01/08(Fri) 12:07:21)

分類:[.NET 全般] 

Windows10 VB.NET
データ移行に失敗して配布用exeだけ残っているのですが、
exeからデコンパイルする方法はありますか?

引用返信 編集キー/
■96672 / inTopicNo.2)  Re[1]: 配布用exeからデコンパイル
□投稿者/ 魔界の仮面弁士 (2946回)-(2021/01/08(Fri) 13:06:30)
No96671 (工場プログラマー さん) に返信
> Windows10 VB.NET
> データ移行に失敗して配布用exeだけ残っているのですが、
> exeからデコンパイルする方法はありますか?

自分は .NET Reflector と ILSpy を使っています。基本的には後者。
https://www.microsoft.com/ja-jp/p/ilspy/9mxfbkfvsq13
https://www.atmarkit.co.jp/fdotnet/dotnettips/1055ilspy/ilspy.html

.NET Reflector は、現在は有償ですが、EXE の内容を MSIL / C# / VB に逆コンパイルできます。
ILSpy は無償ですが、VB への逆コンパイルはできず、MSIL / C# に逆コンパイルできます。
引用返信 編集キー/
■96673 / inTopicNo.3)  Re[2]: 配布用exeからデコンパイル
□投稿者/ 工場プログラマー (52回)-(2021/01/08(Fri) 13:22:07)
No96672 (魔界の仮面弁士 さん) に返信
> ■No96671 (工場プログラマー さん) に返信
>>Windows10 VB.NET
>>データ移行に失敗して配布用exeだけ残っているのですが、
>>exeからデコンパイルする方法はありますか?
>
> 自分は .NET Reflector と ILSpy を使っています。基本的には後者。
> https://www.microsoft.com/ja-jp/p/ilspy/9mxfbkfvsq13
> https://www.atmarkit.co.jp/fdotnet/dotnettips/1055ilspy/ilspy.html
>
> .NET Reflector は、現在は有償ですが、EXE の内容を MSIL / C# / VB に逆コンパイルできます。
> ILSpy は無償ですが、VB への逆コンパイルはできず、MSIL / C# に逆コンパイルできます。

やっぱり逆コンパイルすると疑似コードになっちゃうんですかね?
引用返信 編集キー/
■96674 / inTopicNo.4)  Re[3]: 配布用exeからデコンパイル
□投稿者/ 魔界の仮面弁士 (2947回)-(2021/01/08(Fri) 13:32:55)
No96673 (工場プログラマー さん) に返信
> やっぱり逆コンパイルすると疑似コードになっちゃうんですかね?

IL レベルではそこそこ正確なコードとして復活しますが、
コンパイル時に最適化されることもありますし、
同じ IL を呼び出すために複数の書き方があるため、
元のコードと完全に一致するわけではありません。

・コメントは消えます。ただしドキュメント コメントは、
 XML ファイルがあればそこから復元されます。
・Option Strict Off によって、レイトバインドや暗黙の型変換が使われているコードの場合、
 Microsoft.VisualBasic.CompilerServices 名前空間のクラス呼び出しに変わることがあります。
・最適化によって、「Visual Basic(あるいは C#)の文法では表現できない」形にコンパイルされていた場合、
 逆コンパイル結果は、疑似コードになったり、そこだけ IL 文法の補助コメントが付いたりします。
引用返信 編集キー/
■96676 / inTopicNo.5)  Re[4]: 配布用exeからデコンパイル
□投稿者/ 工場プログラマー (53回)-(2021/01/08(Fri) 14:27:18)
No96674 (魔界の仮面弁士 さん) に返信
> IL レベルではそこそこ正確なコードとして復活しますが、
> コンパイル時に最適化されることもありますし、
> 同じ IL を呼び出すために複数の書き方があるため、
> 元のコードと完全に一致するわけではありません。
>
> ・コメントは消えます。ただしドキュメント コメントは、
>  XML ファイルがあればそこから復元されます。
> ・Option Strict Off によって、レイトバインドや暗黙の型変換が使われているコードの場合、
>  Microsoft.VisualBasic.CompilerServices 名前空間のクラス呼び出しに変わることがあります。
> ・最適化によって、「Visual Basic(あるいは C#)の文法では表現できない」形にコンパイルされていた場合、
>  逆コンパイル結果は、疑似コードになったり、そこだけ IL 文法の補助コメントが付いたりします。

やっぱりそうなんですね、ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -