Bảo mật code android
I. Giới thiệu 1. Tại sao phải bảo mật Nếu bạn không bảo mật code của bạn thì khi bạn đưa thư viện (aar, jar) cho người khác (bên thứ 3) hoặc publish ứng dụng lên store thì hacker (một dev android khác thôi ^^) có thể lấy apk của bạn và giải mã ra toàn bộ nhằm những mục đích xấu (clone ...
I. Giới thiệu
1. Tại sao phải bảo mật
-
Nếu bạn không bảo mật code của bạn thì khi bạn đưa thư viện (aar, jar) cho người khác (bên thứ 3) hoặc publish ứng dụng lên store thì hacker (một dev android khác thôi ^^) có thể lấy apk của bạn và giải mã ra toàn bộ nhằm những mục đích xấu (clone ứng dụng để bán, xem cấu trúc, source code, xem api, các key bảo liên lạc api server của bạn chẳng hạn)
-
Đảm bảo sự riêng tư và toàn vẹn thông tin cá nhân của bạn
-
Để thể hiện bạn là một lập trình viên cẩn thận, đáng tin
Và còn rất rất nhiều lý do khác nữa, mà bạn có thể xem thêm ở đây. http://www.infoworld.com/article/2610857/security/protect-your-source-code-before-it-s-too-late.html
2. Làm thế nào để bảo mật
Có rất nhiều các để bảo vệ code của bạn khỏi các mối xâm hại bên ngoài như mã hóa code (proguard - obfuscate, code = NDK, sử dụng các thuật toán để mã hóa các chuỗi string bí mật trong code...)
Ở trong bài này mình sẽ giới thiệu với các bạn một vài cách để bảo vệ code của bạn từ cơ bản nhất đến nâng cao.
Có nhiều bạn hỏi làm điều này có khó không, dung lượng ứng dụng sau khi mã hóa có bị tăng lên không? Mình xin trả lời rằng: tùy từng trường hợp mà khó hay dễ, còn dung lượng thì chắc chắn là tăng, dùng mã hóa = java thì tăng ~ 100kb, dùng openssl thì tăng ~3mb cho một thư viện nhé