花粉症Aboutお問い合わせILSpyでC#のコードを逆コンパイルするIT2017.05.31.NETアプリケーションはリバースエンジニアリングが容易であると言われています。商用で売っているソフトは、コードの中身がその会社が持つ特殊な技術であれば著作権が侵害される恐れがあります。商用にかかわらず、アプリケーション内に社内サーバーに入るユーザID、パスワードなどが記載されていればセキュリティ的にまずいということになります。完全にリバースエンジニアリングを防ぐことはできないと言われていますが、難読化ツールを使用することで、ある程度は防ぐことができます。ILSpyで試してみます。ILSpyをダウロードするGitHubよりILSpyのバイナリーファイルをダウロードします。ダウンロードサイトILSpy_binaries_4.0.1.4530.zipをダウロードします。※2019/3/4現在のバージョンです。ZIPファイルを任意の場所に解凍します。インストールは不要なので、ILSpy.exeをダブルクリックで直接起動します。デフォルトでいろいろ読み込まれているので、左の白い枠で「Ctrl」+「A」で全て選択し、右クリックし、「Remove」をクリックします。左の白い枠にEXEファイルをドラッグ&ドロップします。フォルダアイコンをクリックでEXEファイルを選択します。ここではサンプルで「ConsoleApplication1.exe」ファイルをドラッグ&ドロップします。このサンプルではProgram.csにソースを書いているので「Program」を選択します。Folding」をクリックし、全て展開します。j.ToString();}}}}}ILSpyほぼそのままです。あげるならコメントは読み込まれていないくらいでしょうか。ILSpyは悪用しなければ助かる場面もあります。社内で使用されているソフトが昔に書かれたもので、当時の担当者も退職して連絡取れなく、オリジナルのソースコードがどこかにいってしまった、などの場合は中が見れると助かります。これまではsourceforgeからダウンロードしていて2014年6月29日のVer2.2が最終更新バージョンだったので、もう開発はやっていないんだろうかと思っていたら、コメントでGitHubで開発続けてる、と教えていただきました!ありがたや~。(TACOさん、ありがとうございました!)ななんと、現在4.0まで出ていました。いうことで、ダウンロード手順もGitHub版に更新しました。最近はめっきり使っていなかったのですが、そういえば以前本当に困って、ILSpyに助けられたのをしみじみ思いだしてしまいました。何年か前、クライアントから、昔に作られたアプリケーションを作り直したいが、ソースコードが無く設計書はあると。書き直してないと思われるような未完成なドキュメントばかりでした。アプリケーションに表示される項目で、この内容は一体どこぞから??というデータ元もロジックも全く分からないものが多々あり。その時にILSpyにはかなりお世話になりました。実際にILSpyで逆コンパイルし、ソースコードを見てみると、選択肢がプログラムの中でゴリゴリハードコーディングされていたり、さらにはその選択肢の内容に依存してロジックで分岐していたり、設計書が無いとお手上げなものでした。コピーdotsharpをフォローするITネタその他もろもろITネタその他もろもろ関連記事ITPayPalの支払いボタンをWordPressに設置するソフトウェアなどを海外に公開して支払いを受ける際にPayPalを使用すると便利です。PayPalは個人使用で支払いをする側はパーソナルアカウントを作成し、メールアドレスと氏名などの基本情報を....NETGetDetailsOfでファイルプロパティを取得するクライアントからファイルのプロパティを取得したいという要望があったため、C#でファイルプロパティを取得する際の備忘録です。Shell32を参照追加します。...IT”office15client.microsoft.comのプロシキサーバーに接続しています”のメッセージがでたら先日、プロシキサーバーを使用している会社のPCでExcelを開く際に、Windowsセキュリティのメッセージがでて散々悩まされました。今日、PCを立ち上げるとなぜかDropboxの同期ができていない。メッセージをみると、「セキュリティで保護されたインターネット接続を確立できません」と出ていました。家なのでネット回線は光でセキュリティ保護ありです。listvewでクリックしたときのイベントの順番リストビューをマウスクリックで選択したときに処理をする機能を作成した際に、イベントの順番を確認してみました。こんな感じのリストビューを作成します。先頭の「test01」をクリックします。Community2017のインストールがプロシキ環境下で失敗していろいろ試したのですが、結果、プロシキ回避ソフトを使う方法でしかインストールできなかったです。