Vì vậy, chúng tôi đã trải qua điều này nhiều lần, chúng tôi phát hành một trò chơi (với giá rẻ) và ai đó hack nó và đặt nó lên gương. Chúng tôi thiết lập Google Alerts cho tất cả các ứng dụng của mình, vì vậy chúng tôi được thông báo hàng ngày ai đang thực hiện hack. Cho đến nay, chúng tôi đã triển khai dịch vụ cấp phép như Google đã đề xuất, muối của chúng tôi được tạo ngẫu nhiên mỗi khi giấy phép được bắt đầu với ID thiết bị duy nhất. Chúng tôi chạy dịch vụ kiểm tra một lần, khi ứng dụng được khởi động lần đầu tiên. Sau đó, chúng tôi tạo ra một hàm băm 512 ký tự cho khóa và giá trị được lưu trữ được so sánh với SharedPreferences từ đó trở đi.
Bây giờ, tôi biết rằng kiểm tra một lần có lẽ là nơi ứng dụng đang bị chặn. Mã byte của chúng tôi rất có thể đã được xem xét và biên dịch lại mà không có dòng bắt đầu kiểm tra.
Từ đây, tôi không muốn làm xáo trộn mã của chúng tôi vì tôi đã thấy nó bị hỏng trước đó. Tôi muốn một cái gì đó vững chắc hơn một chút, và tôi cũng muốn học cách làm điều này đúng cách. Tôi quan tâm đến việc học hơn là kiếm tiền vào thời điểm này vì chỉ có 2% mọi người sẽ tìm kiếm một phiên bản bị hack.
Cho đến nay, theo cách riêng của tôi, tôi đã đưa ra một trình tạo số ngẫu nhiên được đặt trong một số khu vực khởi động của trò chơi. Khi được bắt đầu (giả sử, 1 trong 50 lần) giấy phép được kiểm tra. Tôi biết điều này sẽ làm cho việc hack trở nên khó khăn hơn vì cracker sẽ phải loại bỏ từng trường hợp, biên dịch, loại bỏ, biên dịch. Tuy nhiên, phương pháp này vẫn có thể bẻ khóa được ... vậy các bạn đề nghị gì? Một lần nữa, tôi thực sự quan tâm đến quá trình bảo mật này, vì vậy xin vui lòng giáo dục, đừng biến điều này thành một cuộc thảo luận về obfuscation hoặc kiểm tra định kỳ dựa trên dấu thời gian.
Cảm ơn