Tôi có một mã hóa và giải mã thông thường mã hóa trong một trong các ứng dụng Android của tôi. Điều này về cơ bản là giải mã một chuỗi được tìm nạp thông qua. cuộc gọi từ xa. Đương nhiên "khóa bí mật" được lưu trữ trong mã, nhưng bất kỳ ai có apktool rõ ràng có thể thấy mã và xem khóa bí mật của tôi.Giữ bí mật phím SECRET - trong ứng dụng Android .. bất kỳ ý tưởng
Có cách nào để mã hóa tất cả mã Java sao cho ngay cả khi không biên dịch nó sẽ không đọc được/dễ hiểu?
Tôi đã nghe nói về ProGuard, nhưng khi đọc về nó, dường như không đủ cho mục đích này.
Câu hỏi đặt ra là tại sao chuỗi được mã hóa? Nếu nó là để vận chuyển và bảo mật lưu trữ máy chủ thì sử dụng mã hóa khóa công khai. Nếu bạn muốn "ẩn" nó khỏi người dùng thì bạn sẽ không may mắn vì mọi thứ ứng dụng của bạn có thể "nhìn thấy" để người dùng có thể. –
Chuỗi được mã hóa để ẩn vị trí của một tệp được truyền trực tuyến - ý định là làm xáo trộn và ít nhất khiến người dùng thông thường/người viết kịch bản khó tải xuống mp3 một cách độc lập với ứng dụng. Tôi biết những gì bạn nói và hoàn toàn hiểu rằng bất cứ điều gì ứng dụng có thể nhìn thấy - bất cứ ai xác định đủ có thể gỡ lỗi, giải mã hoặc dịch ngược - Tôi chỉ cố gắng làm cho nó khó khăn hơn. Có người xác định sẽ vẫn đi qua tất cả những điều đó và thành công. Không có vấn đề gì .. chỉ cần giữ nguyên kịch bản lệnh cơ bản .. – SpacialWise
Tại sao không có máy khách tạo cặp khoá và gửi khóa công khai của nó tới máy chủ với yêu cầu? –