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反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Android APK反編譯技巧全講解AndroidAPK編譯
- Gluon 編譯 JavaFx -> android apk編譯JavaAndroidAPK
- Android Apk反編譯系列教程(三)Android Studio除錯smali程式碼AndroidAPK編譯除錯
- 使用AndroidKiller進行APK反編譯AndroidAPK編譯
- mac上Apk反編譯工具合集整理與資源MacAPK編譯
- android 反編譯Android編譯
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- APK編譯及安全防護APK編譯
- Android 反編譯指南Android編譯
- Android開發:APK的反編譯(獲取程式碼和資原始檔)AndroidAPK編譯
- Java編譯與反編譯Java編譯
- java加密保護jar包及class檔案,防止反編譯Java加密JAR編譯
- MacOS X APK 最新版本 反編譯MacAPK編譯
- 反編譯Android APK詳細操作指南[ApkTool,dex2jar,JD-GUI](Mac)編譯AndroidAPKJARGUIMac
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- Cython加密python程式碼防止反編譯加密Python編譯
- Android反編譯工具Apktool淺析Android編譯APK
- apkTool---一個簡單好用的apk反編譯工具APK編譯
- 反編譯之安裝Apktool編譯APK
- Android 反編譯初探 應用是如何被注入廣告的Android編譯
- android反編譯相關命令總結Android編譯
- Android的反編譯(佈局植入篇)Android編譯
- QT5.12.2部署Android環境和編譯apkQTAndroid編譯APK
- MAC使用APKTool反編譯apk修改版本號後重新打包MacAPK編譯
- python反編譯之位元組碼Python編譯
- Android Studio打包apk,aar,jar包AndroidAPKJAR
- Java程式碼的編譯與反編譯那些事兒Java編譯
- Android之Apk加殼AndroidAPK
- 如何反編譯微信小程式?編譯微信小程式
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- 安卓逆向之Luac解密反編譯安卓解密編譯
- Android反編譯和微信機器人初探Android編譯機器人
- Android去掉/混淆Log,反編譯都看不到Android編譯
- 效能優化 (七) APK 加固之 Dex 加解密,反編譯都看不到專案主要程式碼。優化APK解密編譯
- Android APK打渠道包實施方案AndroidAPK
- apk decompile 線上反編譯工具-toolfk程式設計師線上工具網APKCompile編譯程式設計師