From this。我們不能阻止倒車工程師。 但是,我們如何檢測應用程序是否已經修改並試圖訪問我們的服務器? 特別是在iOS和Android。我們已經成功用於現在同時我們如何檢測訪問服務器的代碼的修改版本?
回答
事情是這樣的:
- 在編譯階段,使DLL的&可執行文件的MD5的,並將它們保存到服務器可以訪問的地方。
- 之前的客戶端連接到服務器,把它計算MD5的以及
- 的onConnect,發送MD5的服務器,並讓服務器驗證它們
由於正確的MD5的應該是一個祕密服務器,你會發現嘗試修改代碼的早期嘗試,並標記這些帳戶以供進一步審查。但即使如此,一個高於成熟水平的開發人員也會知道這一點,併發送您期望的MD5。
It's not fool proof
,但老實說,我相信沒有什麼是,所有你能做的就是儘可能多的,這並不複雜的事情一點點的問題複雜化,因爲MD5的每次發佈的更新時間會改變,你甚至可以哈希MD5與連接ID,這將使每個連接的散列發送到服務器唯一。
使用此方法將無法禁用/刪除檢查,因爲服務器始終需要發送MD5/Hash。
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead("path-to-your.file"))
{
return md5.ComputeHash(stream); // returns the MD5 byte[]
}
}
當你鏈接到帖子中說非常好: You basically can't protect your application from being modified. And any protection you put in there can be disabled/removed, You can do different tricks to make hacking harder though.
我已經關閉了這個問題。但我有一個想法。希望你們中的一些人考慮並評論這件事。
正如答案所述。
您基本上無法保護您的應用程序不被修改。並且任何保護你放在那裏都可以被禁用/刪除,但是你可以做不同的技巧來讓黑客更難。
客戶端中的任何保護都可以刪除。
如何
- 把驗證碼的服務器。
- 下載此代碼並在運行時運行它。 (每次運行必須得到唯一結果)
- 將驗證結果發送到服務器進行授權。
因爲您已經下載了一部分腳本。您必須從服務器端下載DLL或替代使用this
這是行不通的,因爲即使可以規避,你什麼時候可以這樣做?在啓動時?例如,他們之後進行DLL注入時會發生什麼? –
是DLL注入比老問題更糟糕:( –
DLL注入是老問題的一部分,有一系列技術可以作弊,更改,繞過或添加到任何客戶端代碼,這就是爲什麼我說這是不可能完全保護,你唯一能做的就是讓它不值得他們的時間,讓100%確信沒有任何關鍵代碼在客戶端上運行,這是服務器無法驗證的,這對我的理解是你唯一可靠的防線,但是不要被愚弄,它能夠很好地工作來破解你的代碼,它可以工作在99.9%,它總是隻有最後的0.1%,這會導致問題。 –
- 1. 檢測版本Tomcat服務器(JSP/Servlet)
- 2. 修改版本的代碼不工作
- 3. 檢測瀏覽器/版本與JavaScript與檢測服務器端?
- 4. 如何訪問我的ISP服務器
- 5. 我的ngrx商店如何檢測服務器端的更改?
- 6. 如何從服務器獲取徽章到我們的代碼
- 7. SVN:我的版本庫訪問500內部服務器錯誤
- 8. 無法訪問PHPmyadmin。我的wamp服務器版本2.4
- 9. Exchange 2010客戶端訪問服務器版本與訪問的資源不匹配郵箱服務器版本
- 10. 我們如何檢查Oracle的版本
- 11. 如何遠程訪問RMI服務器上的代碼?
- 12. 我們如何修改和訪問參數的值?
- 13. 從臨時服務器和本地主機的代碼測試訪問生產服務器上的MySQL數據
- 14. 檢測到無法訪問的代碼
- 15. 訪問VBA代碼的版本控制?
- 16. GWT - 如何檢測,如果我們在同一臺機器上的服務器
- 17. 我們如何檢測到服務器數據庫已從iPhone更改?
- 18. 如何訪問強類型DataRow的原始版本和修改版本?
- 19. 如何修改霓虹燈版本的Eclipse代碼格式
- 20. 如何從SVN服務器加載最新版本的代碼,忽略我的本地更改?
- 21. 我們如何服務器
- 22. Automerge是否修改TFS中的服務器版本?
- 23. 如何修改我的SELECT代碼?
- 24. 從服務器端代碼中檢索訪問令牌
- 25. 如何檢測代碼是否從Rails服務器運行?
- 26. 我們如何在Firebase中添加服務器端Java代碼?
- 27. 如何從tizen模擬器訪問我的本地Web服務?
- 28. Python的檢查Windows服務器版本
- 29. 檢測訪問我們網站的用戶訪問功能
- 30. PHP代碼服務器更改訪問者IP
如果您可以從您的源代碼中獲取應用程序的校驗和,那可以用作您的應用程序的指紋。但我可以想象黑客會在對服務器進行驗證之前對其進行硬編碼。 – user1506104