SlideShare a Scribd company logo
Proguard
TakumaLee
前⾔言
為了防⽌止⼼心⾎血被偷⾛走
為了守護我們的 code
貫徹錢與⼯工作的執著
悲慘又催淚的賣肝⽣生活
……
回正題
根據不知何來的數據顯⽰示
❖ No proguard
❖ 有⼼心⼈人取得程式碼只要幾秒幾分鐘
❖ After proguard
❖ 有⼼心⼈人取得程式碼也只要幾秒幾分鐘
❖ 但他們看不懂這該死的程式碼到底在寫什麼
❖ 不過謠傳聽說強⼒力⼈人⼠士依然能破解,只是會花上數個⼩小時甚至幾天
app.gradle
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
demo {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
proguard-rules.pro
# OrmLite uses reflection
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keep class com.nostra13.universalimageloader.**{ *; }
proguard-rules.pro
# FACEBOOK uses
-keep class com.facebook.**
-keepclassmembers class com.facebook.** { *; }
# Parse uses
-keep class com.parse.**
-keepclassmembers class com.parse.** { *; }
proguard-rules.pro
# Crashlytics Detector
-keepattributes SourceFile,LineNumberTable
proguard-rules.pro
# ANDROID
-keep class android.support.v7.widget.SearchView
{ *; }
app.gradle
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
demo {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Android Studio
測試
Gradle
Proguard by android studio
app.gradle
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
demo {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Demo
有沒有其他⽅方法︖?
有,我們稱之為
「⼿手動 proguard 」
缺點
你要⼩小⼼心你的⽣生命安全
後⾯面接⼿手你的 code 的⼈人可能會
在路上蓋你布袋
延伸閱讀
APK 加密⽅方法共四篇(內有殘體中⽂文不喜歡者請略過)
1. android apk 防⽌止反編譯技術(1)-加殼技術
2. android apk 防⽌止反編譯技術(2)-運⾏行時修改Dalvik指令
3. android apk 防⽌止反編譯技術(3)-加密
4. android apk 防⽌止反編譯技術(4)-對抗JD-GUI
End

More Related Content

PDF
開發學校雲端服務的奇技淫巧(Tips for Building Third-Party School Service)
PPTX
jsdoc-toolkit
PDF
第12回AS讀書會
PDF
Java script 全面逆襲!使用 node.js 打造桌面環境!
PPT
Grails敏捷项目开发
PDF
Node.js 進攻桌面開發
PDF
用最潮的 Java script 盡情開發 kde qt 程式
PDF
Firebase Cloud Messaging Device to Device
開發學校雲端服務的奇技淫巧(Tips for Building Third-Party School Service)
jsdoc-toolkit
第12回AS讀書會
Java script 全面逆襲!使用 node.js 打造桌面環境!
Grails敏捷项目开发
Node.js 進攻桌面開發
用最潮的 Java script 盡情開發 kde qt 程式
Firebase Cloud Messaging Device to Device
Ad

Proguard by android studio