簡體   English   中英

如何保護我的 .net 應用程序免受反編譯器的攻擊?

[英]How can i protect my .net application from decompilers?

好的,所以我有這個連接到數據庫的 C# 應用程序有登錄名和所有這些東西,但是如果有人剛剛下載了一個反編譯器,看到我的代碼從我的數據庫中獲取了連接字符串,然后做任何他想做的事情怎么辦? 我該如何保護自己免受這種傷害? 即使我可以保護我的連接字符串,我怎么能保護我的實際代碼?

正是出於這個原因,您永遠不應該在程序集中存儲關鍵信息。 有很多方法可以混淆信息,但它們只會延遲不可避免的事情。

記住:默默無聞的安全並不安全

  • 訪問服務器端應用程序上的數據並將其傳遞給經過身份驗證的客戶端。
  • 將數據庫用戶帳戶限制為所需的最低權限(如果您只需要讀取信息 - 確保它沒有寫入權限等)

但是如果有人剛剛下載了一個反編譯器,看到我的代碼從我的數據庫中獲取了連接字符串,然后做任何他想做的事情怎么辦? 我該如何保護自己免受這種傷害?

這是一種恥辱,不是嗎? 您只能為此做幾件事:

  • 使用 VPS ($$) 並在線存儲代碼的登錄部分。 為此,您可以使用LiteCode ,這是一個教程: https : //github.com/debug-hf/LiteCode-Example/
  • 使用混淆器來避免反編譯器和黑客查看您的代碼。 迄今為止最好的是http://netguard.io 它包括免費計划,並且所有高級計划都是完全安全的。 您所有的字符串都被打亂、融化、秘密存儲在文件中。 大名鼎鼎的deobfuscator ,這樣的De4Dot即使處理市場上幾乎所有的混淆器也處理不了!

希望它有幫助:) 干杯

連接字符串可以在配置文件中加密

連接字符串和配置文件

但是,您無法真正保護您的代碼免受希望查看其功能的人的影響,您只能通過混淆來使其更難。

我想補充一點,適當的安全模型可以限制對物理文件和數據庫“數據”的訪問,但這取決於您的部署模型。

您應該將連接字符串存儲在 app.config 或 web.config 文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM