Tôi đang phát triển một ứng dụng mà khi mua, có thể được kích hoạt bằng giấy phép.
Hiện tại tôi đang thực hiện xác nhận ngoại tuyến, điều này hơi rắc rối với tôi. Tôi biết rằng không có gì để làm với các vết nứt (tức là nhị phân đã sửa đổi), tuy nhiên, tôi đang suy nghĩ để cố gắng ngăn chặn vi phạm bản quyền khóa giấy phép. Đây là kế hoạch hiện tại của tôi:
- Khi người dùng kích hoạt phần mềm và sau khi xác thực ngoại tuyến thành công, nó sẽ cố gắng gọi về nhà và xác thực giấy phép. Nếu nhà chấp thuận giấy phép hoặc nếu nhà không thể truy cập được hoặc nếu người dùng ngoại tuyến, giấy phép sẽ được phê duyệt . Nếu nhà đạt được và thông báo giấy phép không hợp lệ, xác nhận thất bại.
- Ứng dụng được cấp phép gọi về nhà theo cùng một cách mỗi lần trong khi khởi động (ở chế độ nền). Nếu giấy phép bị thu hồi (tức là giấy phép lậu hoặc được tạo qua keygen), giấy phép sẽ bị vô hiệu hóa.
Điều này sẽ giúp chống vi phạm bản quyền giấy phép - Giấy phép không hợp lệ sẽ bị vô hiệu hóa và giấy phép hợp lệ bị vi phạm bản quyền có thể bị thu hồi (và chủ sở hữu hợp pháp của nó được cung cấp giấy phép mới). Người dùng cướp biển sẽ bị buộc phải sử dụng phiên bản bẻ khóa thường là phiên bản cụ thể và khó tiếp cận hơn.
Mặc dù nó có vẻ tốt với tôi, tôi có một số lo ngại:
- Người dùng có xu hướng không thích gọi điện thoại tại nhà và xác nhận trực tuyến. Loại xác nhận đó có làm phiền bạn không? Mặc dù trong trường hợp ngoại tuyến / thất bại, ứng dụng vẫn được cấp phép?
- Rõ ràng là toàn bộ sơ đồ có thể được ngăn chặn bằng cách đi ngoại tuyến / tường lửa / v.v. Tôi nghĩ rằng việc phải làm một trong những điều này là đủ lớn để không khuyến khích chia sẻ giấy phép thông thường, nhưng tôi không chắc chắn.
- Vì nó nói chung với các biến thể cấp phép và DRM, tôi không chắc rằng thời gian tôi dành cho loại bảo vệ đó sẽ không tốt hơn bằng cách cải thiện sản phẩm của tôi.
Tôi đánh giá cao đầu vào và suy nghĩ của bạn.
Cảm ơn!