2016-12-19 9 views
0

私は電子メールの資格情報を取り込んで、それを使って特定の種類の電子メールを選択したアドレスに送信する単純なメールアプリケーションを作った。問題は、私はコードに正しい資格情報を入力しなければならなかったので、dex2jarを使用する人は誰でもソースコードを取得し、転送用の電子メールを取得して簡単にアプリケーションを廃止することができます。ソースコードの暗号化/隠蔽

私はこの問題に直面している唯一の人ではないと思うので、コードを安全にする方法はありますか?

+0

関連:http://stackoverflow.com/questions/8611960/piracy-piracy-piracy-what-c​​an-i-do –

+0

私はアプリだけで簡単だと言ったので、私は海賊行為について特に心配していません。私は1行のコードを隠したいだけですが、もっと簡単な方法がありますか? – MilesWeirdo

+1

典型的なコンピュータ/ OSを想定すると、本質的に実行できません。 JVMが何かをするためには、何をすべきかを知る必要があります。これは、JVMが読むことができる形式で書かれた指示を必要とすることを意味します。解読鍵を持つカスタムハードウェアを出すようなことをしない限り、JVM/OS/etcには、ハッカーがアクセス権を持たない情報はありません。つまり、ハッカーから何かを隠す方法はなく、それをJVMで利用できるようにすることです。 – yshavit

答えて

1

資格情報を非表示にする技術をどのように活用しても、コード内にあればは常にです。

ハードコーディングする代わりに、ユーザーがアプリケーションを起動するときにそれらを指定できるようにすることは可能でしょうか?それが回避できない場合は、代わりに送信を行い、その要求を転送するリモートサービスを持つことができます。

+0

問題は、アプリケーションの全体のロジックは、入力を受け取り、指定した転送電子メールとその電子メールを受信する受信者の電子メールを使用して、電子メールに送信することだけであるということです。 – MilesWeirdo

+0

唯一の解決策は、これらの詳細をクライアント側に保存することを避けることです。あなたが配布するアプリで代わりに、送信を行い、その要求を転送するリモートサービスがある可能性があります –

+0

このリモートサービスはどこで読み取ることができますか? – MilesWeirdo

0

電子メールアカウントに接続して、同じユーザーをその電子メールアカウントから外すことはできません。プロジェクトの一部としてホストされたサーバーを使用して、サーバーレベルから電子メールアカウントに安全に接続し、これらの電子メールをリモートで処理することを検討してください。

+0

どうすればいいですか?チュートリアルはありますか? – MilesWeirdo

+0

このようなものは、データを提出する方法を構築するだけです - https://www.asp.net/web-pages/overview/getting-started/11-adding-email-to-your-ウェブサイト – pizzaslice

+0

http://stackoverflow.com/questions/18326738/how-to-send-email-in-asp-net-c-sharp/ *編集:より良いリソースのスタックリンク – pizzaslice