2011-05-11 29 views
2

我有一個很大的項目在我之前,基本上這將是一個在線的危險類遊戲,就像撲克。我的問題是,我不確定接觸客戶端的最佳方式是什麼。您會推薦哪些技術用於安全的客戶端GUI應用程序?

由於遊戲涉及真錢,因此安全性將成爲一個大問題。對於服務器端來說,我認爲它不會對我選擇的有什麼影響,因爲所有的通信都會被加密,但我更擔心客戶端。

從我使用Java的經驗來看,有相當多的反編譯器,並且字節碼可能不是很難破解(我在這裏是錯的)。由於遊戲將需要一些2D圖形,我想使用一種使GUI開發至少平滑的技術。

我的另一個想法是關於Flash,但由於我沒有看到許多網上賭場使用Flash,它可能比Java/.NET更容易一點?

我想問的是,你會推薦什麼技術來開發一個非常安全的客戶端GUI應用程序與一些花哨的2D圖形?

回答

3

在我看來,沒有這樣的東西作爲一個安全的客戶端。不管你做什麼,有人會反編譯/反向工程 - 尤其是當涉及到真錢時。如果我是你,我會專注於使服務器安全。假設每個客戶端都被黑客入侵,並且會做任何事情以及任何可以欺騙的事情。

因此,鑑於客戶可以和將被黑客入侵,我對客戶端軟件沒有任何意見。選擇你想要的。也許可以使用混淆器來減慢它們的速度 - 但這會在調試客戶端問題時造成麻煩。

我對安裝有意見。如果沒有安裝任何東西,比如遊戲可以完全在網站上運行,那就更容易了。

+1

同意這個答案..順便說一句,Java可以很容易地反編譯,你可以做的最多的就是混淆它。至於.Net,它很容易分解,直到最新版本的SDK引入了新的低級功能並擰緊了以前的反編譯器。但我不會再指望這一點。 – dendini 2013-06-04 08:35:12

0

簡短的回答,這是我的觀點,是沒有任何技術存在去做你想做的事情。現在有些技術會增加理解客戶端應用程序的難度。例如,Java和.Net很容易查看。 ByteCode和IL在任何形式或形式上都不安全。你可以添加混淆,以提高酒吧,所以說....但仍然不安全。你甚至可以去一個完整的編譯應用程序,但仍然是可以破解的。只要計算機能夠理解應用程序,那麼就會有一個人在某個地方破壞程序。

您的方法在這裏是錯誤的。您應該在服務器上創建所有邏輯,所有功能,然後使用客戶端應用程序來簡單處理UX部分。保護你的代碼的唯一安全方法是不讓他們擁有它。和設計的API不能被濫用(不要讓客戶擲骰子)

相關問題