我有舊的Delphi應用程序。這個應用程序從服務器獲取會話密鑰,使用此密鑰進行一些祕密操作(如散列等)並將密碼發回服務器。服務器知道如何從這個密碼中檢索數據。所以簡單來說就是通過默默無聞的安全。.NET與Delphi混淆
我想用C#重寫這個應用程序,然後使用混淆軟件來隱藏創建祕密數據的過程。
將C#混淆的應用程序或多或少的「安全」比不混淆,但二進制,德爾福應用程序? Delphi代碼破解會更困難嗎?
注:我完全知道,通過默默無聞的安全性並不真正安全。
我有舊的Delphi應用程序。這個應用程序從服務器獲取會話密鑰,使用此密鑰進行一些祕密操作(如散列等)並將密碼發回服務器。服務器知道如何從這個密碼中檢索數據。所以簡單來說就是通過默默無聞的安全。.NET與Delphi混淆
我想用C#重寫這個應用程序,然後使用混淆軟件來隱藏創建祕密數據的過程。
將C#混淆的應用程序或多或少的「安全」比不混淆,但二進制,德爾福應用程序? Delphi代碼破解會更困難嗎?
注:我完全知道,通過默默無聞的安全性並不真正安全。
因爲IL比彙編更簡單,所以我會說,對一個.NET程序集進行逆向工程(不管是否是混淆)比一個真正的二進制程序更容易。另外,由於.NET編譯器將大部分優化都留給了JIT編譯器,與編譯二進制相比,IL非常簡單。
「請問C#混淆的應用程序會比不混淆但是二進制的Delphi應用程序或多或少」安全「嗎?難道它會更難破解Delphi代碼嗎?」
我不認爲有可能在不知道您的威脅模型的情況下回答您的問題。誰想要攻擊該應用程序?他們有什麼成熟程度?他們想在攻擊中獲得什麼?
.NET框架類庫具有一些強大的安全功能,並且還有SecureString類。所以這可能會提高你的安全性。
FWIW,我寧願攻擊託管代碼而不是本機代碼。但有足夠的動力,我會很樂意攻擊。