2015-09-03 46 views
-2

我們正在開發在線軟件,它需要我們的服務器的用戶名/密碼認證。有兩種用戶(付費用戶和免費用戶)。付費用戶應具有不同於免費用戶的功能。不幸的是,我們的應用程序在每個新版本發佈後的1-2周內都會被破解。我們希望支付現有的認證系統或能夠做到這一點的專家,這使得Crackers儘可能地努力。我們有一些防裂的經驗,但這次我們不知道了。Cracksafe應用程序認證系統

這是我們曾嘗試: - 分裂爲兩個部分的驗證(AES-256發送和AES-256與各自己的隨機數接收 - 8char靜態隨機數和24char靈活現時每個會話) - 兩個部分有被兩個不同的混淆器(EAzfuscator +虛擬化功能和具有虛擬化功能的ConfuserEx)混淆。 - 幾個殺戮開關 - MD5支票(他們沒有幫助,因爲破解者正在創建一個模擬我們認證服務器的「Loader」)

你知道有誰提供這種服務的公司嗎?該應用程序是用C#編寫的。

+0

由於我們不建議其他公司提供服務,因此您的問題是關於SO的話題。 –

+0

其他解決方案也歡迎,很抱歉! – kentor

+0

如果你的認證服務器可以很容易地進行模擬,那麼你的服務器很可能總是以相同的ACK文本進行響應。你可能應該包括日期和時間。你如何創建你的許可證密鑰?用於生成相應密鑰的計算機硬件依賴者ID是否? –

回答

0

您的應用程序每次向服務器發送任何內容時都會生成一個隨機標記字符串。然後讓您的服務器根據令牌將加密的字符串發送迴應用。如果來自服務器的加密標記字符串解密爲內存中的原始隨機標記字符串,則允許軟件繼續....如果不停止執行。這將停止裝載程序。

當您以純文本形式發送迴應時,黑客可以很輕易地將它反轉,因爲他們知道如何模擬它。加密響應,每次都是隨機的,這使得它更難以破解。

+0

這就是我們現在正在做的事情,但即使我們使用虛擬化作爲加密,黑客也能夠閱讀我們的代碼。 – kentor