2
A
回答
9
是的,有人可以。
沒有辦法避免它。混淆會讓它變得更難。
在最糟糕的情況下,如果有人不理解您的混淆代碼,他們可以在調試器中運行您的可執行文件,並在使用之前從內存中讀取密碼。
解決方案當然不是將重要密碼硬編碼到二進制文件中。
1
是的。通過觀察程序在調試器中執行可以找到密碼。如果您什麼都不做,甚至可以通過在二進制文件中搜索文本來查找。
可以做些什麼?有一些反調試技術,如混淆或防篡改機制,這些機制會在調試時導致可執行文件崩潰。混淆可能很容易實現。防篡改將是困難的。
+1
防篡改也永遠不會100%有效。攻擊者可以開始在虛擬機中運行你的代碼,並且將密碼掛鉤到管理程序中;您的代碼將無法確定是否發生此類攻擊。 – Borealid 2010-07-30 04:40:52
相關問題
- 1. 錯誤,同時執行從可執行jar文件中提取的源代碼
- 2. 從源代碼中提取共享密碼有多簡單
- 3. 執行從代碼
- 4. 從C++代碼運行可執行jar
- 5. 如何從HTML中提取jQuery代碼並執行它?
- 6. 執行不可信代碼
- 7. 組裝可執行代碼?
- 8. 提取代碼轉換成可執行文件vb.net
- 9. 批量從securestring中提取密碼
- 10. 從SQL中提取密碼登錄
- 11. 從settings.py文件中提取密碼
- 12. C++類中的可執行代碼
- 13. 從exe/pdb獲取有關可執行代碼的信息
- 14. 如何從PHP源代碼獲取可執行的phar命令?
- 15. 從PHP執行htmlunit代碼
- 16. jQuery代碼從未執行
- 17. 從cgal提取代碼
- 18. 從APK提取源代碼
- 19. 從.exe提取C#代碼
- 20. javascript - 在代碼中執行代碼?
- 21. 提高執行該代碼的速度
- 22. 執行代碼
- 23. 代碼執行
- 24. 獲取的代碼行數執行
- 25. 使用託管代碼從可執行文件提取圖像(C#/ VB)
- 26. 股利的HTML代碼沒有從HTML代碼中提取
- 27. 執行的代碼
- 28. 密碼的執行時間
- 29. 從文件讀取和執行代碼可能嗎?
- 30. 從JS中暫停在chrome中的代碼執行。可能?
如果一個調試器可以查看任何變量,那麼如何保護用於訪問數據庫的密碼?當然,任何這樣的密碼在進入數據庫之前都會在內存中? – CJ7 2010-07-30 04:27:45
@Craig:您可以讓軟件詢問密碼並將其存儲到某個地方。或者在典型的Web應用程序的情況下,安裝軟件時將密碼存儲到某個配置文件。關鍵是你不能通過獲取軟件來訪問數據庫,你也需要配置。 – 2010-07-30 04:35:00
@Craig Johnston:對於高安全性應用程序,您需要一臺高安全性的計算機。如果計算機在物理上受到損害,則計算機有權訪問的任何憑據都會受到損害。也就是說,對於大多數具有僅由特定用戶可讀的配置文件並且在假定的用戶權限下運行該二進制文件的人來說被認爲是足夠的。 – Borealid 2010-07-30 04:37:55