proguard混淆與防反編譯

2021-10-06 12:10:53 字數 1219 閱讀 6078

**混淆也只是加大反編譯成本,不能真的防反編譯。最大的功能是對**的壓縮與優化。

proguard配置:

android 

buildtypes }}

常見的混淆配置

# 保持該包名或者類名下的所有不混淆

-keep public class com.droidyue.com.widget.**

# 所有繼承android.view.view的類的子類中的set get 不混淆

-keepclassmembers public class * extends android.view.view

# r檔案中的靜態自動不被混淆

-keepclassmembers class **.r$*

# native方法不混淆

-keepclasseswithmembernames class *

# android.support.警告忽略

-dontwarn android.support.**

需要keep的情況字串混淆字元編碼混淆:編碼混淆就是先將字串轉換成16進製制的陣列或者unicode編碼,在使用的時候才恢復成字串。波接著看到後是一串數字或者亂碼,難以分析。

private string encodestring();

string str = new string(strbytes);

return str;

}

字串加密花指令在原始程式中插入一組無用的位元組,但又不會改變程式的原始邏輯,程式仍然可以正常執行,然後反編譯工具在反編譯這些位元組時會出錯,造成反編譯工具失效,提高破解難度,例如下面的dalvik指令

如果反編譯工具採用線性掃瞄演算法,會錯誤識別花指令導致出錯。

修改aapt修改resources.arsc

APK防反編譯

apk壓縮檔案破壞 樓主自創的哦 apk在pc上面可以看作乙個壓縮檔案,在android系統裡面它就是乙個手機系統軟體檔案。android系統對apk的識別是從標誌頭到標誌尾,其他多餘資料都會無視。所以說在標誌尾新增其他資料對把apk看做壓縮檔案的pc端來說這個檔案被破壞了,所以你要對其進行解壓或者...

android混淆和反編譯

buildtypes 這個proguard android.txt是sdk中groguard預設的檔案,具體位址在 opt sdk tools proguard proguard android.txt 而proguard rules.pro是as中專用的proguard配置檔案,其實只是字尾名不同...

android混淆和反編譯

buildtypes 這個proguard android.txt是sdk中groguard預設的檔案,具體位址在 opt sdk tools proguard proguard android.txt 而proguard rules.pro是as中專用的proguard配置檔案,其實只是字尾名不同...