我需要我的程序是安全的,因爲它的內容包括像IP這樣的私人信息(如果您必須知道的話,私人IRC聊天)。我的計劃是讀取程序的字節,然後創建一個像AES這樣的對稱加密算法來加密字節數組,以提高安全性。我添加了其他一些可以處理調試和仿真器的小事情。然後,我將使用codedom創建我的存根,以「攜帶」這些加密的字節。有兩種方法可以「攜帶」代碼:「攜帶」字節並在c#中運行它的方法?
- 將加密的字節追加到存根以便解密,寫入和運行。 (被稱爲丟棄)
- 將它添加到存根的資源,所以它可以解密並加載它,所以它然後能夠在內存中運行它。
我可以通過添加資源然後解密,寫入和運行或追加然後解密,加載並在內存中運行4種方式。我也可以在代碼中做出自己的混淆,但我懷疑它會產生多大的影響。
方法2似乎被人們濫用,並被反病毒軟件檢測到,每次調試時都會讓您的項目被防病毒攔截,真的很煩人。足夠的藉口對於用戶而言只是在所有程序正在做的時候都會產生錯誤的肯定,以免被諸如紅門反射器之類的程序輕易拆卸。 包括數據庫信息,例如如果反彙編,SQL登錄方法仍將進行分析:
有沒有更多的方法來做到這一點?
不能在您的executeable敏感信息,因爲它可以在任何時候進行逆向工程。有**沒有**的方式來保護你的執行從反向工程beeing。 – GameScripting
私人IP地址?任何人都可以在解密代碼後看到與TcpMon這樣的工具一起使用?按順序仔細分析威脅分析。 –
@Hans:在上下文中,我認爲IP =「知識產權」而不是「互聯網協議地址」。但我可能是錯的。取決於「私人IRC聊天」是指「機密聊天記錄」還是「建立新聊天的連接信息」 –