2016-11-15 11 views
-1

私はプログラミングに慣れていないし、Visual Studio 2015を使用してVisual Basicで独自のプログラムを開発しています。プログラムを標準インストールパッケージとして公開すると(署名しなくても問題ありません)、元のソースコードをインストールパッケージからリバースエンジニアリングすることはできませんか?公開時にソースコードはどれくらい保護されていますか?

比較的簡単か、.exeファイルは強く暗号化されていますか?私のプログラムは、ソースコードに格納されている個人ログインに基づいて動作します - インストールパッケージからそのような情報を抽出することは可能でしょうか?もしそうなら、コードをさらに守る助言はありますか?

誰かが助けてくれることを願っています。

+1

VB.NETとvbaは、タグが警告するのとは異なる2つのものです。 NETコードは非常に簡単に閲覧/抽出することができます – Plutonix

+2

***多人数のエンジニアがタスクを実行したいと考えると、逆にすることができます。あなたが***に役立てることができる唯一のことは、コードを難読化していますが、それは仕事をより困難にし、破られないようにします...また、 **)、この質問はこれまで何度も聞かれました。 – Codexer

+2

ソースコードに保存されている_personalログイン_あなた自身を暗号化/ハッシュしないと、.exeファイルにプレーンテキストで表示されるので、あまりにも多くの作業をせずに簡単に検索できるので、実際には悪い習慣です。 – litelite

答えて

0

あなたは、.NETでコンパイルされたコードが安全であることを確信することはできません。

.NETコードは共通中間言語またはMSIL /マイクロソフト中間言語にコンパイルされます。

これはまさにあなたと一致しないことが.NETコードの同様のセットに分解することができるが、ユーザが見ることを可能にする、概ね、どのアプリケーション機能。

難読化は役立つだろうが、解体を妨げないでしょう。

個人ログインやその他のユーザー固有のデータがある場合は、これをハードコードした領域を、ユーザー固有の/ユーザースコープのアプリケーション設定で置き換えることをお勧めします。完成した製品を自分のログイン情報で顧客に出荷することはできません。アプリケーション設定を使用して

、あなたは自分でこのデータを入力するために誰かのために簡単なダイアログを設定することができ、そしてそれは、そのユーザ用に保存になるだろう代わりにハードコード化されています。

ユーザーが認識してはならないログイン用のアプリケーションにデータを埋め込む必要があるという問題がある場合は、それは非常に異なるセキュリティ上の問題であり、私はあなたに答えることができません。

0

.NETバイナリを逆コンパイルすることは比較的容易である(でも無料で、ILSpyツールを見てみましょう)。署名バイナリは、コードの分解ではなく、改ざん/注入の可能性を防ぐだけです。難読化は潜在的な盗聴者がソースコードの内部作業に多かれ少なかれ難しくする唯一の方法です。私は個人的に.NET Reactorソリューションをお勧めします。

関連する問題