2011-02-10 23 views
5

Hãy cho tôi biết cách bảo vệ tài nguyên của chúng tôi trong gói ứng dụng apk. Với quy trình đổi tên đơn giản, bất kỳ ai cũng có thể sao chép và sử dụng tài nguyên có thể vẽ được bằng tên hình ảnh hoặc tệp soundFX. Câu hỏi của tôi là, có cách nào để bảo vệ tài nguyên có thể kéo trong ứng dụng Android không?Cách bảo vệ tài nguyên có thể drawable trong ứng dụng Android

Trả lời

2

Cần có thể truy cập được vào hệ điều hành, vì vậy cần phải đọc được.

Nếu bạn thực sự muốn giữ an toàn, bạn có thể xem xét lưu trữ nó được mã hóa làm tài sản thô, sau đó tải nó, giải mã nó thành một ByteStream và chuyển nó vào BitmapFactory. Điều đó, tất nhiên, có các phân nhánh hiệu suất nhỏ và sẽ buộc bạn phải viết mã nhiều thứ mà bạn có thể dễ dàng thực hiện trong XML nếu không.

Đó là tất cả sang một bên, có rất nhiều cách để ăn cắp dữ liệu - nếu đó là một drawable, mọi người chỉ có thể chụp ảnh màn hình.

1

Câu hỏi của tôi là, có cách nào để bảo vệ tài nguyên có thể kéo trong ứng dụng Android không?

Không. Tài nguyên có thể đọc được theo thiết kế. Ngay cả khi bạn không đóng gói "tệp hình ảnh hoặc tệp soundFX" làm tài nguyên nhưng phải tải chúng xuống lần đầu tiên, người dùng có quyền truy cập root vẫn có thể truy cập tệp.

Vì điều này không khác biệt đáng kể so với bất kỳ hệ điều hành phổ biến nào khác của con người đã phát triển, không rõ tại sao bạn cho rằng đây là sự cố Android. Người dùng quan tâm đầy đủ có thể nhận được "hình ảnh hoặc tệp soundFX" của bạn trên iOS, Windows, OS X, Linux, v.v. Ngay cả các ứng dụng web cũng không miễn dịch.

0

Tôi nghĩ rằng có thể bảo vệ tài nguyên. Trên thực tế, có lớp/thường trình cấp thấp để đọc tài nguyên: AssetManager - lớp học thông thường Resources nằm trên đầu trang AssetManager. Vì vậy, để bảo vệ tài nguyên, người ta có thể tranh giành tài nguyên và đọc/xắp xếp chúng bằng phương pháp cấp thấp AssetManager: look here

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