cá nhân tôi sử dụng Google Closure Compiler với khả năng nén tiên tiến để xáo trộn mã của tôi (tải về Java tập tin, không sử dụng các phiên bản trực tuyến!). Phải mất một số nỗ lực để chuẩn bị mã nhưng tất cả đều rất tốt và một khi bạn hiểu cách trình biên dịch hoạt động, nó thực sự dễ dàng tuân thủ các quy tắc của nó. Nó không chỉ obfuscates mã của bạn, nhưng thực sự tối ưu hóa nó cho tốc độ thực thi và kích thước tập tin là tốt.
để rõ ràng - có những kẻ khác đúng, không bảo vệ tối hậu ... bla bla. NHƯNG: bao giờ cố gắng để làm cho người đứng đầu hoặc đuôi của googles JavaScript? Tôi đã cố gắng và thất bại. Nếu bạn sử dụng tên lớp bị xáo trộn và rất ít chuỗi trong mã của bạn, nó sẽ rất khó đọc, có nghĩa là nó có thể mất nhiều tháng tùy thuộc vào độ phức tạp của mã của bạn.
Đối với các cuộc gọi API, mọi thứ khác nhau. mã hóa sẽ không hoạt động vì mã giải mã sẽ hiển thị trong javascript - ngay cả với obfuscation rằng một phần sẽ khó ẩn vì mã AJAX luôn trông giống nhau ... Ngoài ra mã hóa sử dụng thời gian CPU mà bạn có thể cần ở nơi khác. Trì hoãn là một cách nhưng cuối cùng, các cuộc gọi API sẽ ít nhiều có thể đọc được.
Nguồn
2012-03-09 08:32:10
Bạn đã có câu trả lời tất cả về cơ bản nói "Bạn không thể dừng điều này", nhưng lưu ý rằng chỉ áp dụng cho các thành phần _client-side_ của trò chơi của bạn. Các thành phần _server-side_ an toàn. Vì vậy, mọi người sẽ có thể xem các yêu cầu/phản hồi đến/từ API máy chủ của bạn, nhưng họ sẽ không thể xem cách API được triển khai trên máy chủ. – nnnnnn
@nnnnnn, để hoàn toàn rõ ràng, bạn có thể nhận được rất nhiều thông tin từ các cuộc gọi API hoạt động như thế nào và nếu bạn thực sự muốn bạn có thể xây dựng trên đó. Một loạt các trò chơi trực tuyến (như WoW, vv) có các máy chủ không chính thức. Bạn có thể ẩn cài đặt chính xác nhưng không thể thực hiện chức năng. – zatatatata
Nếu bạn sử dụng nút-WebKit nó sẽ biên dịch trò chơi của bạn thành một exe trong các cửa sổ. – zachdyer