2013-08-09 23 views
9

tôi tin rằng câu hỏi này đã được hỏi nhưng tôi không hài lòng với câu trả lời của họ và đăng lại ở đây.Cách bảo mật tài sản được lưu trữ trong Android APK

ai đó có thể vui lòng cho tôi biết cách bảo vệ tài sản ứng dụng Android của tôi khỏi những con mèo sao chép muốn tạo ứng dụng tương tự không?

Trả lời

9

Như mọi khi, có sự cân bằng giữa sự tiện lợi và an toàn. Bạn càng muốn ứng dụng của mình an toàn hơn, bạn sẽ càng ít thuận tiện để phát triển.

Mã nguồn vốn không an toàn do dễ giải mã đặc biệt là với điện thoại gốc. Để bảo vệ mã nguồn của bạn, bạn có thể obfuscate và/hoặc mã hóa mã của bạn mà sẽ ngăn chặn decompiling. Không chắc chắn chính xác những công cụ nào có sẵn cho Android, nhưng tôi chắc chắn nó sẽ làm phức tạp quá trình xây dựng của bạn. Nếu bạn chỉ làm xáo trộn, việc giải mã có thể vẫn còn có thể, nhưng sẽ khó khăn hơn nhiều và có khả năng sẽ yêu cầu người đó giải mã mã của bạn để biết và hiểu Bytecode nếu mức độ obfuscation mạnh được sử dụng.

Để bảo vệ nội dung của bạn, tôi tin rằng tùy chọn duy nhất của bạn là sử dụng mã hóa. Một lần nữa điều này sẽ làm phức tạp các ứng dụng và/hoặc quá trình xây dựng tùy thuộc vào nơi bạn thực hiện.

Ngay cả khi bạn sử dụng mã hóa để bảo vệ nội dung của mình, bạn phải bảo vệ khóa mã hóa trong mã nguồn của mình. Rõ ràng, nó không quan trọng những gì chương trình mã hóa bạn sử dụng nếu khóa mã hóa của bạn là trong plaintext trong mã nguồn sau đó ai cũng có thể lấy chìa khóa và tài sản của bạn và giải mã. Tất cả điều này làm là thêm một hàng rào nhỏ để nhảy qua.

Tuy nhiên, nếu bạn bảo vệ chính xác khóa mã hóa và sử dụng thuật toán mã hóa tốt, bạn sẽ ít phải lo lắng hơn. Đây là một quá trình khá phức tạp mặc dù, rất khó để sử dụng một chìa khóa để mã hóa trong mã của bạn và không giữ nó trong bản rõ. Ngay cả khi bạn không giữ nó trong bản rõ trong mã, tại một số điểm nó phải có trong bộ nhớ để thực hiện giải mã. Vì vậy, nếu ai đó có thể đính kèm một trình gỡ lỗi hoặc bộ nhớ kết xuất vào đúng thời điểm, nó sẽ thỏa hiệp khóa. Tất nhiên, điều này đòi hỏi một đối thủ có tay nghề cao hơn nhiều.

Nhìn chung, bạn cần quyết định chính xác ai đang lo lắng về việc ăn cắp tài sản của mình. Nếu bạn đang lo lắng về Joe trung bình sao chép chúng, sau đó bạn nên được ok. Nếu bạn đang lo lắng về một hacker chuyên nghiệp, kịch bản kiddie, vv đạt được quyền truy cập vào họ thì có thể bạn đã hết may mắn.

7

ai đó có thể vui lòng cho tôi biết cách bảo vệ tài sản ứng dụng Android của tôi khỏi những con mèo sao chép muốn tạo ứng dụng tương tự không?

Nói chung, bạn không thể. Nếu có trong ứng dụng, bất kỳ ai muốn có thể truy cập chúng.

Bạn có thể cuộn lược đồ mã hóa của riêng mình hoặc sử dụng các công cụ như DexGuard. Tuy nhiên, vì công cụ giải mã và khóa phải nằm trong chính ứng dụng, tất cả những điều này làm là tăng mức độ nỗ lực cần thiết để có được tài sản của bạn. Làm cho nó khó khăn hơn sẽ làm giảm tỷ lệ cược rằng ai đó lấy tài sản ra khỏi APK của bạn, nhưng nó không ngăn chặn khả năng. Và, tất nhiên, có nhiều cách khác để tận dụng tối đa công cụ này (ví dụ: ảnh chụp màn hình và trình chỉnh sửa hình ảnh, ghi lại âm thanh do ứng dụng phát lại).

+0

Tôi đã thử phương pháp mã hóa và giải mã của bạn nhưng nó làm chậm đáng kể ứng dụng. Do đó, tôi muốn giữ nội dung trực tiếp.Cảm ơn câu trả lời của bạn dù sao đi nữa – Yogamurthy

0

Bạn có thể bảo đảm nội dung thư mục nội dung bằng cách mã hóa nội dung bằng thuật toán mã hóa mạnh và giải mã chúng khi chạy. Copycats không thể giải mã dễ dàng và nhận nội dung thư mục nội dung bằng cách chỉ cần giải nén apk bằng các công cụ zip.

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