Tôi đang phát triển một ứng dụng Android sử dụng Mono cho Android của Xamarin. Tôi hiện đang nỗ lực thêm khả năng mua trong ứng dụng bằng API Google Play. Để làm như vậy, tôi cần gửi cho Google khóa cấp phép công khai từ bên trong ứng dụng của tôi. Về vấn đề này, Google giới thiệu như sau: Khuyến nghịChuỗi bảo mật trong APK
An ninh: Nó là rất khuyến khích mà bạn không cứng mã giấy phép công cộng chủ chốt chuỗi giá trị chính xác theo quy định của Google Play. Thay vào đó, bạn có thể xây dựng toàn bộ khóa cấp phép công khai chuỗi khi chạy từ các bản chất, hoặc lấy nó từ một kho lưu trữ được mã hóa, trước khi chuyển nó tới hàm tạo. Cách tiếp cận này khiến cho các bên thứ ba độc hại khó khăn hơn trong việc sửa đổi chuỗi khóa cấp phép công khai công khai trong tệp APK của bạn.
Tôi chưa bao giờ xử lý mã hóa, hack/bẻ khóa hoặc bất kỳ khía cạnh nào khác về bảo mật phần mềm, vì vậy tôi không chắc chắn cách thực hiện lời khuyên của Google. Câu hỏi của tôi là làm thế nào để đầy đủ bảo mật chuỗi trong APK Android được tạo bằng Mono dành cho Android mà không phải là chuyên gia bảo mật?
Cảm ơn bạn đã trả lời. Nhưng tôi vẫn muốn biết một số phương pháp tiêu chuẩn công nghiệp tốt để giải quyết vấn đề này, vì khóa Google Play không phải là chuỗi khóa duy nhất trong ứng dụng của tôi (ví dụ: khóa ứng dụng Facebook cũng như có thể trong tương lai). – Ramsay
Sử dụng công cụ obfuscation thương mại. Những công cụ này đi qua mã của bạn và làm cho nó khó dịch hơn. Thương mại thường bao gồm một tính năng mã hóa chuỗi tự động mà làm cho chắc chắn rằng tất cả các chuỗi hardcoded của bạn (như phím) không bao giờ giữ plaintext trong ứng dụng của bạn và được giải mã trong thời gian chạy. Rất nhiều obfuscators có sẵn cho C#/android.Họ rất dễ dàng để tích hợp vào quá trình xây dựng của bạn và họ làm tất cả việc nâng hạng nặng cho bạn trong lĩnh vực bảo vệ mã của bạn. – talkol
Dưới đây là danh sách một số kỹ thuật được sử dụng bởi các bộ obfuscators thương mại để làm phiền các hacker tiềm năng đến chết: http://www.ssware.com/cryptoobfuscator/features.htm. Luôn luôn ghi nhớ rằng một hacker xác định sẽ vẫn có thể vượt qua tất cả điều này .. nhưng nó sẽ được ít hơn nhiều niềm vui cho anh ta;) – talkol