2016-09-23 20 views
16

Tôi có cần bảo vệ ứng dụng Android của mình (tải xuống từ Cửa hàng Google Play) không bị sao chép không? Tôi đang theo các liên kết đến các tài liệu có nội dung mâu thuẫn.Tôi có cần bảo vệ ứng dụng Android của mình không bị sao chép không?

Nếu tôi tìm kiếm "mã hóa ứng dụng" sử dụng Google Play Developer Console giúp đỡ, nó cho thấy tôi trang 'Google Play Licensing Service' web mà kết thúc:

Xin lưu ý rằng bắt đầu với phiên bản Jellybean của hệ điều hành Android, tất cả ứng dụng, trả tiền cũng như miễn phí, được mã hóa theo mặc định và do đó, không yêu cầu bất kỳ sự bảo vệ bổ sung nào chống lại việc sao chép trái phép chẳng hạn như Máy chủ cấp phép của Google.

'Filters on Google Play' nói:

Google Play không còn hỗ trợ các tính năng bảo vệ sao chép trong Console Developer ...

và cung cấp một liên kết để 'Replacement for Copy Protection'. Liên kết này đến 'Setting Up for Licensing', liên kết đến 'Adding Licensing to Your App', liên kết đến 'Market Licensing Support FAQ', hiển thị trang web 'Google Play Licensing Service' (với văn bản ở trên cho biết rằng các ứng dụng hậu Jellybean được mã hóa). Vì vậy, trừ khi tôi hiểu lầm nó, điều này dường như mâu thuẫn với chính nó.

Đánh giá theo ngày của các bài đăng khác về chủ đề này, tôi đoán rằng tôi phải tự bảo vệ ứng dụng bằng cách sử dụng LVL cấp phép của Google Market (Thư viện xác minh giấy phép). Tuy nhiên, có những dấu hiệu cho thấy đây không phải là giải pháp tốt nhất hiện tại (ví dụ: ứng dụng mẫu Cấp phép thị trường xuất hiện lỗi thời, một vài bài đăng trên diễn đàn gần đây về sử dụng nó, không có lớp udacity.com tôi có thể tìm thấy khi sử dụng nó). Vì vậy, tôi nghĩ rằng nó sẽ giúp đỡ để có được một câu trả lời dứt khoát đầu tiên.

+0

Đã đến lúc thêm liên kết/URL. Bạn có danh tiếng :) –

+0

Cảm ơn! Tôi đã thêm các liên kết. – JohnA

Trả lời

3

Trước tiên, bạn không thể bảo vệ mã của mình 100%. Nhưng bạn có thể làm cho công việc của hacker đủ cứng rắn. Có một số kỹ thuật để bảo vệ mã của bạn protect android app. Tôi khuyên bạn nên xem công cụ proguard.

ProGuard là một trình thu gọn, trình tối ưu hóa, bộ kiểm duyệt và trình chỉnh sửa lớp Java miễn phí. Nó phát hiện và loại bỏ các lớp, các trường, phương thức và các thuộc tính không sử dụng. Nó tối ưu hóa bytecode và loại bỏ các hướng dẫn không sử dụng. Nó đổi tên các lớp, các trường và các phương thức còn lại bằng các tên vô nghĩa ngắn. Các ứng dụng và thư viện kết quả nhỏ hơn, nhanh hơn và tốt hơn một chút so với kỹ thuật đảo ngược.

+0

Điều đó giúp - tx, đặc biệt là [bảo vệ ứng dụng android] (http://mobilenext.net/protect-android-app-app-pirates/). Tôi đồng ý về proguard mà tôi đang sử dụng. Tôi rất muốn biết liệu tính năng mã hóa ứng dụng sau Jellybean có còn hoạt động hay không. Tức là, bất kỳ ai cũng có thể tải tệp APK của tôi và phân phối lại dưới dạng ứng dụng của riêng họ? [Bộ lọc trên Google Play] (https://developer.android.com/google/play/filters.html) dường như nói rằng mã hóa không còn được sử dụng nữa. [Dịch vụ cấp phép của Google Play] (https://support.google.com/googleplay/android-developer/answer/186113?hl=en-GB) cho biết dịch vụ này được sử dụng. Hay tôi hiểu lầm? – JohnA

+0

Hiểu biết của tôi là sau khi Jellybean tính năng mã hóa ứng dụng không hoạt động. Bây giờ bạn phải sử dụng Dịch vụ cấp phép của Google Play để bảo vệ ứng dụng của bạn không phân phối lại. –

+0

Bạn có thể cho tôi biết nơi bạn nhận được thông tin đó từ đâu không? Tôi hỏi vì có vẻ như mâu thuẫn với trang web [Dịch vụ cấp phép của Google Play] (https://support.google.com/googleplay/android-developer/answer/186113?hl=en-GB) trang web (cho biết các ứng dụng sau Jellybean được mã hóa). Cảm ơn. – JohnA

1

Nếu APP của bạn đang cung cấp một loại dịch vụ, trò chơi trực tuyến (Máy chủ yêu cầu), bạn chỉ có thể bảo vệ dịch vụ của mình theo quy tắc đăng ký/ủy quyền.

Hoặc, nếu APP của bạn là một công cụ, trò chơi độc lập, nó thực sự khó bảo vệ. Có một số trang web cung cấp dịch vụ cho phép người dùng tải xuống tệp APK trực tiếp từ GooglePlay và không mua bất kỳ ai ...... Bất kỳ ai cũng có thể cài đặt APK đó bằng cách chỉ cho phép cài đặt APP từ nguồn không phải GooglePlay. Trong trường hợp này, bạn cần một số cách để bảo vệ APP của bạn khỏi bị sao chép.

+0

Điều thú vị về trang web cung cấp tải xuống ứng dụng mà không cần mua. Cảm ơn vì bạn đã phản hồi. – JohnA

0

Đã xem xét phản hồi cho bài đăng này, tôi tin rằng câu trả lời là "không", tôi không cần bảo vệ ứng dụng của mình không bị sao chép vì lợi ích đáng ngờ sẽ không biện minh cho nỗ lực (lý do được giải thích bên dưới). Tuy nhiên, câu trả lời này dựa trên ứng dụng tôi hiện đang phát triển và sẽ không áp dụng cho tất cả.

Ứng dụng không phụ thuộc vào thành phần máy chủ và do đó sẽ hoạt động độc lập. Đó là, nếu ai đó nhận được một bản sao của nó, họ sẽ có thể chạy nó. Tuy nhiên, ứng dụng sẽ có giá thấp. Vì vậy, nếu ai đó làm một bản sao và bắt đầu bán nó bất hợp pháp, họ sẽ cần phải bán rất nhiều trong số họ để kiếm tiền và biện minh cho nỗ lực và rủi ro của họ. Họ cũng có thể chọn để cho đi một bản sao của các ứng dụng cướp biển, nhưng tôi đoán rằng hầu hết người dùng của một phiên bản cướp biển như vậy sẽ không có trả tiền cho nó ở nơi đầu tiên.

Nếu tôi tích hợp LVL cấp phép của Google Market, điều này sẽ gây khó khăn cho việc sao chép ứng dụng. Tuy nhiên, với nỗ lực đầy đủ, nó có thể được đảo ngược thiết kế để mã nguồn (ngay cả với tôi bằng cách sử dụng Proguard), chức năng LVL có thể được loại bỏ, và các ứng dụng xây dựng lại. Ngoài ra, tích hợp LVL là một nỗ lực đáng kể (đối với tôi, ít nhất), nó có nguy cơ đưa lỗi vào ứng dụng, và tôi không thuyết phục cho dù đó là một giải pháp tốt (ứng dụng mẫu cấp phép thị trường xuất hiện lỗi thời, vài bài đăng trên diễn đàn gần đây về việc sử dụng nó, ...). Do đó, tôi không nghĩ rằng nỗ lực và rủi ro có giá trị lợi ích.

Nếu ứng dụng có giá bán cao, câu trả lời của tôi có thể sẽ khác và tôi sẽ xem xét các tùy chọn khác. Ví dụ: LVL cấp phép thị trường của Google có thể được tích hợp, nhưng điều này sẽ không loại bỏ hoàn toàn rủi ro vi phạm bản quyền, trừ khi Android đã cung cấp mã hóa ứng dụng an toàn. Mã hóa ứng dụng dường như đối với tôi là một thách thức lớn (ví dụ, nó cần phải được giải mã tại một số thời điểm để chạy nó), điều này có thể giải thích tại sao mã hóa ứng dụng sau Jellybean bị loại bỏ (nếu nó bị xóa). Tôi cũng có thể di chuyển chức năng trở thành phía máy chủ - đây có vẻ là chiến lược an toàn nhất đối với tôi, mặc dù nó sẽ tốn kém để phát triển và yêu cầu phía máy chủ phải được quản lý và duy trì trong tương lai.

Có thể có những khía cạnh của điều này mà tôi chưa xem xét. Hãy bình luận nếu bạn không đồng ý với câu trả lời của tôi, hoặc có những suy nghĩ khác.

Các vấn đề liên quan