.NET与Delphi中的混淆技术比较

4
我有一个旧的Delphi应用程序。这个应用程序从服务器获取会话密钥,使用此密钥进行一些秘密操作(如哈希等),并将密码发送回服务器。服务器知道如何从此密码中检索数据。因此,简单地说,这是通过混淆来实现安全性。
我想使用C#重写此应用程序,然后使用混淆软件隐藏创建秘密数据的过程。
C#混淆应用程序是否比未混淆但二进制的Delphi应用程序更“安全”?它是否仍然更难破解Delphi代码?
注意:我非常清楚,通过混淆来实现安全性并不真正安全。
2个回答

2

由于IL比汇编语言简单得多,我认为反向工程.NET程序集(无论是否混淆)比真正的二进制更容易。此外,由于.NET编译器将大部分优化留给JIT编译器处理,因此与编译后的二进制相比,IL非常直观。


0
“C#混淆应用程序”与“未混淆但是二进制的Delphi应用程序”,哪个更安全?破解Delphi代码是否仍然更困难?
我认为在不了解您的威胁模型的情况下,无法回答您的问题。谁想攻击这个应用程序?他们有多高的攻击技术水平?他们想通过攻击实现什么目的?
.NET框架类库具有一些强大的安全功能,还有SecureString类。因此,这可能会提高您的安全性。
顺便说一句,我更喜欢攻击托管代码而不是本地代码。但是,如果有足够的动力,我很乐意攻击任何一种代码。

我们不建议您在新开发中使用SecureString类。 - SHIN JaeGuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接