2010-11-04 114 views
3

我有旧的Delphi应用程序。这个应用程序从服务器获取会话密钥,使用此密钥进行一些秘密操作(如散列等)并将密码发回服务器。服务器知道如何从这个密码中检索数据。所以简单来说就是通过默默无闻的安全。.NET与Delphi混淆

我想用C#重写这个应用程序,然后使用混淆软件来隐藏创建秘密数据的过程。

将C#混淆的应用程序或多或少的“安全”比不混淆,但二进制,德尔福应用程序? Delphi代码破解会更困难吗?

注:我完全知道,通过默默无闻的安全性并不真正安全。

回答

2

因为IL比汇编更简单,所以我会说,对一个.NET程序集进行逆向工程(不管是否是混淆)比一个真正的二进制程序更容易。另外,由于.NET编译器将大部分优化都留给了JIT编译器,与编译二进制相比,IL非常简单。

0

“请问C#混淆的应用程序会比不混淆但是二进制的Delphi应用程序或多或少”安全“吗?难道它会更难破解Delphi代码吗?”

我不认为有可能在不知道您的威胁模型的情况下回答您的问题。谁想要攻击该应用程序?他们有什么成熟程度?他们想在攻击中获得什么?

.NET框架类库具有一些强大的安全功能,并且还有SecureString类。所以这可能会提高你的安全性。

FWIW,我宁愿攻击托管代码而不是本机代码。但有足够的动力,我会很乐意攻击。