2015-02-26 85 views
6

Tôi đã phát triển ứng dụng Android đầu tiên của mình trong Unity3D và tải ứng dụng đó lên Google Play. Và tôi vừa mới nhận ra: Có các dịch vụ để tải xuống các tệp APK từ Google Play. Có các dịch vụ để giải nén các tập tin apk và lấy tất cả các tập tin nguồn từ nó. Có thể không?Tải xuống, hack và tải lại tệp APK lên Google Play. Có thể không?

Làm cách nào để nhà phát triển có thể bảo vệ ứng dụng của mình khỏi nhân bản theo cách này? (Tôi đang sử dụng Unity 3d, vì vậy tôi không thể sử dụng ProGuard) Hay nó tạo ra sự khác biệt mà tôi đang phát triển trong Unity 3d? (Có thể khó hiểu các nguồn giải nén trong trường hợp nó được thực hiện trong Unity) Nhưng sau đó, Google Play bảo vệ các ứng dụng khỏi mã nguồn hack như thế nào?

Trả lời

5

Hoàn toàn có thể đối với hầu hết các phần. Chỉ cần lấy APK của bạn, đổi tên nó thành tệp .zip và bạn đã có quyền truy cập vào nội dung. Duyệt qua các thư mục sẽ hiển thị cho bạn (với điều kiện bạn đang sử dụng Unity) nhiều tệp nội dung Unity. Điều này, bằng phương tiện kiểm tra, là tầm thường hợp lý để lấy nội dung từ.

Duyệt cấu trúc thư mục cho đến khi bạn tìm thấy Assembly-CSharp.dll và giải nén nó. Dump nó vào một cái gì đó như ILSpy và bạn sẽ thấy rằng các nguồn của bạn không chỉ là tầm thường để dịch ngược, nhưng hầu như tất cả các tên được bảo tồn và thậm chí không obfuscated trong bất kỳ cách nào.

Để cung cấp cho bạn một ví dụ, đây là một phần của mã của tôi

và đây là những gì tôi lấy ra chỉ là bây giờ sử dụng ILSpy từ APK tôi đã xây dựng

Sự khác biệt nhỏ, nhưng không có gì sẽ thực sự gây nhầm lẫn cho bạn.

Tất cả trong tất cả không có nhiều bảo vệ ở đó theo mặc định. Có nhiều cách để áp dụng obfuscation, nhưng tôi không có kinh nghiệm ở đó bản thân mình, vì vậy không thể thực sự bình luận về tính hữu ích thiết thực.

Điểm mấu chốt là nếu ai đó thực sự muốn nỗ lực để trích xuất những gì bạn đã tạo, họ có thể lên đến một điểm. Vì vậy, nếu bạn muốn bảo vệ công việc của mình, bạn sẽ phải tìm giải pháp ở một nơi khác.

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