Android安全之如何反編譯與加密apk包
apk包真的安全嗎?會被反編譯嗎?如何防止被反編譯?
相關文章:Android apk如何加固防止被破解(防止逆向編譯)
一、檢視APK包的原始碼
dex2jar 這個工具用於將dex檔案轉換成jar檔案
下載地址:http://sourceforge.net/projects/dex2jar/files/
jd-gui 這個工具用於將jar檔案轉換成java程式碼
下載地址:http://jd.benow.ca/
1.解壓apk壓縮包,找到classes.dex.
執行程式碼: d2j-dex2jar classes.dex
2.然後使用jd-gui工具開啟classes-dex2jar.jar這個檔案就可以看到原始碼了
二、檢視和修改apk包資源
apktool 解壓。
apktool d dujinyang.apk編譯出來smail檔案,修改之後apktool b dujinyang -o KARL_dujinyang.apk把它編譯回去,當然,如果要正常使用的話要使用簽名。
簽名使用:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 簽名檔名 -storepass 簽名密碼 待簽名的APK檔名 簽名的別名
簽名之後才可以正常安裝到手機上的,當然,你可以優化下包,使用Zip對齊下,如果要深入的話,Zip還有其它用法。
語法:zipalign 4 KARL_dujinyang.apk KARL_dujinyang_ok.apk
三、如何混淆程式碼防止反編譯
Eclipse的話可以通過Jocky外掛、project.properties檔案等
Android Studio的話可以通過藉助SDK中自帶的Proguard工具,需要修改build.gradle中的一行配置即可。
release {
minifyEnabled true
proguardFiles getDefaultProguardFile(`proguard-android.txt`), `proguard-rules.pro`
}
並且還可以起到壓縮APK包的作用。
四、混淆sdk/Jar
1.通過ClassLoader動態載入的方式進行加密。
2.通過安卓sdk自帶/tools目錄下的proguard GUI進行配置,執行到最後一步即可。
五、加密apk
1.通過動態載入時,加入自身加密演算法。
2.通過第三方平臺進行加密,現在都比較穩定安全了。
相關文章
- Android 安全之如何反編譯與加密apk包Android編譯加密APK
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- apk 包的破解與反編譯APK編譯
- 關於Android APK反編譯AndroidAPK編譯
- 反編譯apk編譯APK
- win/mac下反編譯Android安裝包-APK檔案Mac編譯AndroidAPK
- android 反編譯APK取原始碼。Android編譯APK原始碼
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Android APK反編譯技巧全講解AndroidAPK編譯
- Android Apk反編譯得到Java原始碼AndroidAPK編譯Java原始碼
- 反編譯APK資原始檔與原始碼編譯APK原始碼
- 安卓apk檔案反編譯安卓APK編譯
- 常見 APK 反編譯工具安裝與使用APK編譯
- Mac平臺反編譯Unity編譯的安卓apkMac編譯Unity安卓APK
- mac上Apk反編譯工具合集整理與資源MacAPK編譯
- 如何反編譯Android 5.0 framework編譯AndroidFramework
- 使用AndroidKiller進行APK反編譯AndroidAPK編譯
- APK反編譯後程式碼分析(一)APK編譯
- APK編譯及安全防護APK編譯
- Android反編譯:反編譯工具和方法Android編譯
- Gluon 編譯 JavaFx -> android apk編譯JavaAndroidAPK
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- Android APK反編譯就這麼簡單 詳解(附圖)AndroidAPK編譯
- android 反編譯Android編譯
- Java編譯與反編譯Java編譯
- apkTool反編譯apk碰到的問題APK編譯
- java加密保護jar包及class檔案,防止反編譯Java加密JAR編譯
- [轉]andriod的apk檔案相關的編譯反編譯工具APK編譯
- Android Apk反編譯系列教程(三)Android Studio除錯smali程式碼AndroidAPK編譯除錯
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- MacOS X APK 最新版本 反編譯MacAPK編譯
- 反編譯Apk後 找到對應的佈局編譯APK
- Android 反編譯指南Android編譯
- Android開發:APK的反編譯(獲取程式碼和資原始檔)AndroidAPK編譯
- [android]android自動化測試六之命令列編譯APKAndroid命令列編譯APK
- 在Windows下用ant編譯Android應用生成apk安裝包Windows編譯AndroidAPK
- android自動化測試六之命令列編譯APKAndroid命令列編譯APK
- Android反編譯:smali語法Android編譯