Làm xáo trộn mã trong Flutter (Android)
Câu chuyện bắt đầu khi chúng tôi chuẩn bị xuất bản ứng dụng rung của mình để sản xuất. Nhưng trước đó, ứng dụng đã trải qua quy trình VAPT ( Đánh giá lỗ hổng bảo mật và Kiểm tra thâm nhập ).
mã obfuscation là gì?
Làm xáo trộn mã là quá trình làm cho mã của chương trình trở nên khó hiểu, thường nhằm mục đích làm cho việc đảo ngược kỹ thuật hoặc sửa đổi trở nên khó khăn hơn. Điều này có thể được thực hiện thông qua các kỹ thuật khác nhau, chẳng hạn như làm cho tên biến và hàm không thể đọc được hoặc bằng cách thêm các lớp điều hướng hoặc độ phức tạp bổ sung vào mã. Obfuscation thường được sử dụng để bảo vệ tài sản trí tuệ hoặc để ngăn chặn hành vi can thiệp có ác ý vào một chương trình. (Cảm ơn ChatGPT ).
Tại sao code obfuscation?
Nếu bạn đang phát triển một ứng dụng trong đó bảo mật dữ liệu của người dùng được đặt lên hàng đầu, thì bạn không thể thỏa hiệp với nó. Mặc dù bảo mật bằng chứng ngu ngốc là một huyền thoại. Nhưng chúng ta có thể tối đa hóa nó ở một mức độ nào đó bằng cách sử dụng các phương pháp sau:
- Thu nhỏ mã của bạn (hoặc rung cây) : Tính năng này phát hiện và loại bỏ một cách an toàn các lớp, trường, phương thức và thuộc tính không sử dụng khỏi ứng dụng của bạn.
3. Kích hoạt proguard : Sử dụng các quy tắc proguard để xác định tệp nào bạn không muốn thay đổi trong quá trình thu nhỏ và thu nhỏ.
Hãy chuyển sang phần Làm thế nào
Obfuscation sử dụng lệnh rung
export version=1.0.0
flutter build apk --release --shrink --obfuscate --split-debug-info=misc/mapping/${version}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Giải trình :
- Nó sẽ sử dụng cấu hình ký chế độ phát hành của bạn. Bạn sẽ phải tạo tệp .jks và key.properties nơi bạn có thể đề cập đến thông tin đăng nhập của mình.
- Giữ proguard-rules.pro bên trong thư mục ứng dụng để bạn có thể xác định các quy tắc của mình bên trong đó. Đọc ở đây làm thế nào để xác định quy tắc proguard.
- Để bảo vệ các tệp rung trong quá trình che giấu, hãy sử dụng các dòng này bên trong tệp quy tắc proguard của bạn:
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class org.xmlpull.v1.** { *;}
-dontwarn org.xmlpull.v1.**
Bây giờ là lúc cho một mẹo chuyên nghiệp
Nếu bạn đã đạt đến đây, thì đây là một món quà dành cho bạn. Ứng dụng của bạn có liên tục gặp sự cố sau khi kích hoạt proguard không?
Hãy thử hack này để gỡ lỗi nó:
Thay thế bản phát hành để gỡ lỗi và chạy ứng dụng ở chế độ gỡ lỗi.
buildTypes {
debug {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Đó là tất cả cho ngày hôm nay. Cảm ơn vì đã ở lại cho đến khi kết thúc. Đề nghị được chào đón.
Hãy kết nối ngay bây giờ trên Twitter , Instagram hoặc LinkedIn .

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































