多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > android 如何防止代碼被反編譯

android 如何防止代碼被反編譯

來源:程序員人生   發布時間:2015-02-13 08:41:06 閱讀次數:4298次

作為Android利用開發者,不能不面對1個為難的局面,就是自己辛辛苦苦開發的利用可以被他人很輕易的就反編譯出來。

Google似乎也發現了這個問題,從SDK2.3開始我們可以看到在android-sdk-windows ools下面多了1個proguard文件夾

proguard是1個java代碼混淆的工具,通過proguard,他人即便反編譯你的apk包,也只會看到1些讓人很難看懂的代碼,從而到達保護代碼的作用。

在工程的"default.properties"中添加這樣1句話“proguard.config=proguard.cfg”
打包簽名后的.apk就是混淆的,其實我們只要做1步就能夠了就是在"default.properties"中添加這樣1句話“proguard.config=proguard.cfg”就能夠了。

如果想要更加復雜地混淆代碼,可以詳細地對該文件進行配置.




由于apk是Android虛擬機加載的,它有1定的規范,加密apk后Dalvik沒法辨認apk了。完全避免是不可能的,總有人能夠破解你的代碼。但是有幾種
方式來提高被反編譯取代碼的難度:

1 關鍵代碼使用jni調用本地代碼,用c或c++編寫,因此相對照較難于反編譯

2 混淆java代碼?;煜遣桓淖兇a邏輯的情況下,增加無用代碼,或重命名,使反編譯后的源代碼難于看懂。

    網上開源的java代碼混淆工具較多,1般是用ant的方式來編譯的

android 混淆文件proguard.cfg詳解:

-injars  androidtest.jar【jar包所在地址】 
-outjars  out【輸出地址】

-libraryjars    'D:android-sdk-windowsplatformsandroid⑼android.jar' 【援用的庫的jar,用于解析injars所指定的jar類】


-optimizationpasses 5
-dontusemixedcaseclassnames 【混淆時不會產生五花八門的類名 】
-dontskipnonpubliclibraryclasses 【指定不去疏忽非公共的庫類。 】
-dontpreverify 【不預校驗】

-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 【優化】

-keep public class * extends android.app.Activity  【不進行混淆保持原樣】
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keep public abstract interface com.asqw.android.Listener{
public protected <methods>;  【所有方法不進行混淆】
}
-keep public class com.asqw.android{
public void Start(java.lang.String); 【對該方法不進行混淆】
}

-keepclasseswithmembernames class * { 【保護指定的類和類的成員的名稱,如果所有指定的類成員出席(在緊縮步驟以后)】

native <methods>;
}

-keepclasseswithmembers class * { 【保護指定的類和類的成員,但條件是所有指定的類和類成員是要存在。】
public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.app.Activity {【保護指定類的成員,如果此類遭到保護他們會保護的更好 】
public void *(android.view.View);
}

-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {【保護指定的類文件和類的成員】
public static final android.os.Parcelable$Creator *;
}

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美一区二 | 亚洲影院手机版777点击进入影院 | 国产免费亚洲 | 最近更新中文字幕3 | 国产精品一级二级三级 | 亚洲国产99在线精品一区二区 | 97久久精品午夜一区二区 | 亚洲国产精品一区二区三区久久 | 亚洲国产成人久久笫一页 | 亚洲一区二区免费视频 | 午夜精品久久久久久91 | 亚洲一区二区三区高清 | 亚洲欧美日本国产 | 精品国产乱码一区二区三区 | 女bbbbxxxx毛片视频丶 | 欧美一区二区三区不卡免费观看 | 欧美成人鲁丝片在线观看 | 男女日日 | 在线观看视频 | 欧美日韩国产超高清免费看片 | 亚洲色图 欧美 | 又粗又硬又黄又爽的免费视频 | 久操视频网| www一区二区| 亚洲免费黄色网址 | 美女网站在线观看视频免费的 | 国产视频自拍一区 | 免费观看成人www精品视频在线 | freexxx性欧美hd | yellow中文字幕官网是什么 | 久久成人性色生活片 | 亚洲免费视频在线 | 一级美国乱色毛片 | 呦女亚洲一区精品 | 一区二区三区中文字幕 | 欧美一区二区日韩一区二区 | 午夜久久网 | 国产第一页精品 | 美国一级毛片在线观看 | 性做久久久久久久久 | 欧美黑粗特黄午夜大片 |