26
Proguard TakumaLee

Proguard by android studio

Embed Size (px)

Citation preview

ProguardTakumaLee

前⾔言

為了防⽌止⼼心⾎血被偷⾛走

為了守護我們的 code

貫徹錢與⼯工作的執著

悲慘又催淚的賣肝⽣生活

……

回正題

根據不知何來的數據顯⽰示

❖ No proguard❖ 有⼼心⼈人取得程式碼只要幾秒幾分鐘

❖ After proguard❖ 有⼼心⼈人取得程式碼也只要幾秒幾分鐘

❖ 但他們看不懂這該死的程式碼到底在寫什麼

❖ 不過謠傳聽說強⼒力⼈人⼠士依然能破解,只是會花上數個⼩小時甚至幾天

app.gradlebuildTypes {

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.gradlebuildTypes {

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

app.gradlebuildTypes {

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