4

古いDelphiアプリケーションがあります。このアプリはサーバーからセッションキーを取得し、ハッシュなどのこのキーを使用して秘密を使用していくつかの処理を実行し、暗号をサーバーにポストバックします。サーバーは、この暗号からデータを取得する方法を知っています。つまり、隠すことによるセキュリティです。

このアプリケーションをC#を使用して書き直してから、難読化ソフトウェアを使用して秘密データの作成プロセスを非表示にしたいと思います。

C#の難読化されたアプリは、難読化されていないがバイナリのDelphiアプリよりも多かれ少なかれ「安全」ですか?Delphiコードを解読するのはさらに難しいでしょうか?

注:隠すことによるセキュリティは実際には安全ではないことを私は完全に認識しています。

4

2 に答える 2

2

ILはアセンブリよりもはるかに単純なので、実際のバイナリよりも.NETアセンブリ(難読化されているかどうかに関係なく)をリバースエンジニアリングする方が簡単だと思います。さらに、.NETコンパイラは最適化のほとんどをJITコンパイラに任せているため、ILはコンパイルされたバイナリと比較して非常に単純です。

于 2010-11-04T11:50:09.937 に答える
0

「C#で難読化されたアプリは、難読化されていないアプリよりも多かれ少なかれ「安全」ですが、バイナリのDelphiアプリですか?Delphiコードを解読するのはさらに難しいでしょうか?」

脅威モデルの知識がなければ、質問に答えることはできないと思います。誰がアプリを攻撃したいですか?彼らはどの程度の洗練度を持っていますか?彼らは攻撃で何を達成したいですか?

.NET Frameworkクラスライブラリにはいくつかの強力なセキュリティ機能があり、SecureStringクラスもあります。だからそれはあなたのセキュリティを向上させるかもしれません。

FWIW、ネイティブコードよりもマネージコードを攻撃したいと思います。しかし、十分なモチベーションがあれば、どちらかを攻撃できれば幸いです。

于 2010-11-04T12:41:23.897 に答える