如今寫個APP不加固,太危險了,特別對於商業APP。反編譯你的代碼,窺探你的商業機密,更有甚者插入廣告,修改你的代碼 ,你辛辛苦苦寫的APP,就成別人的了。各大應用市場也對應用安全愈來愈重視了,你想上應用市場(應用寶,360,等市場),已經很差上傳了,須要上傳應用軟著,APP加固。APP加固無形中又加大了工做量,好在有大廠幫咱們加固。android
360加固保官網git
360加固保是爲移動應用安全提供專業保護的平臺,盜版APP一般是將正版APP進行破解、篡改後從新打包生成的應用。若是手機APP可以具有防反編譯、防反破解能力,就能夠有效的防止APP被盜版。github
360加固保專爲開發者的應用提供免費安全加固服務,首創了多重防禦方式,對應用程序深度加密處理;獨有的程序文字信息加密功能,能有效防止應用被反編譯和惡意篡改,保護應用不被二次打包,保護數據信息不會被黑客竊取。開發者無需任何開發成本,一鍵上傳,便可在5分鐘內完成應用加固,從而完全防止應用在上線後被反編譯、調試、破解、二次打包和內存截取等多種威脅。給予官方應用最強保護,從源頭消滅惡意盜版應用,保護開發者收入。windows
360加固保在爲APP提供加固服務的同時,還爲開發者提供APP數據分析、崩潰日誌分析、盜版監測和漏洞掃描等服務,全方位幫助開發者瞭解數據健康與運行情況。截止2015年第二季度,已使用360加固保的應用達30萬,應用所覆蓋的用戶超過10億,360加固保已經成爲國內最大的移動應用保護平臺。安全
爲了方便你們的使用,360加固保提供了2種使用方式:app
使用360加固保官網爲咱們提供的加固保軟件,一看就會,傻瓜式操做。gradle
360加固保下載優化
命令行操做是比較隱藏的,360加固保官網也沒有作做任何說明,推薦使用軟件界面操做ui
360加固保下載加密
下載下來的「360加固保」軟件是一個zip包,解壓後的目錄:
提供加固功能的jar包
生成生各類渠道的apk模板文件
360提供的兩種方式都不太適合自動化流程開發,IDE操做,須要人工來,命令行操做繁瑣。JiaGu360 根據360加固命令實現app快捷加固的插件,解放雙手,實現自動化流程。
在位於項目的根目錄 build.gradle
文件中添加 ApkSign插件的依賴, 以下:
buildscript {
dependencies {
classpath 'com.zf.plugins:JiaGu360:1.0.1'
}
}
複製代碼
並在當前App的 build.gradle
文件中apply這個插件
apply plugin: 'jiagu360'
複製代碼
jiaGu360Config {
//必填,360用戶名
userName "XXXXXX"
//必填, 360密碼
passWord "XXXXXX"
//必填,360加固jiagu.jar包位置
jiaGuJarPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\jiagu.jar").absolutePath
items {
debug {
//必填, 須要簽名的APK 路徑
inputApkFilePath file("build/outputs/apk/tap_unsign.apk").absolutePath
}
// ...... 能夠添加更多選項
}
}
複製代碼
jiaGu360Config {
//必填, 360用戶名
userName "XXXXXX"
//必填, 360密碼
passWord "XXXXXX"
//必填, 360加固jar包位置
jiaGuJarPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\jiagu.jar").absolutePath
//加固配置項服務是否都支持
isSupportAll false
//統一配置 優先低於自定義配置--------------------------start----------------------------------------------------------------------
//android 簽名配置名稱,默認android默認的'debug'簽名配置,signingName="debug"
signingName 'debug'
//加固apk的輸出目錄
outputApkDirPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\XXXX").absolutePath
//加固完成後是否打開輸出目錄。默認false
openOutputDir false
// 加固配置項服務-------------------------------start-------------------------------------
// 可選加強服務--------------start----------------------
isSupportCrashLong false //【崩潰日誌分析】
isSupportX86 false //【x86支持】
isSupportAnalyse false//【加固數據分析】
isNocert false//【跳過簽名校驗】
// 可選加強服務--------------end----------------------
//高級加固選項-------------start------------------
isSupportVmp false//【全VMP保護】
isSupportDataProtection false//【本地數據文件保護】
isSupportAssetsProtection false// 【資源文件保護】
isSupportFileCheck false//【文件完整性校驗】
isSupportPtrace false//【Ptrace防注入】
isSupportSoProtection false//【SO文件保護】
isSupportDex2cProtection false//【dex2C保護】
isSupportStringObfusProtection false//【字符串加密】
isSupportDexShadowProtection false//【DexShadow】
isSupportSoPrivateProtection false//【SO防盜用】
//高級加固選項-------------end------------------
// 加固配置項服務--------------------------------end---------------------------------------------
//自動簽名
autosign false
//自定義文件生成多渠道,能夠根據前面下載的360加固軟件裏的 「多渠道模板.txt」 編寫
mulpkgFilePath =new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\多渠道模板.txt")
//簽名配置項
signingInfo {
storeFilePath "E:\\Document\\XXXXXX.jks"
storePassword "XXXXXX"
keyAlias "XXXXXX"
keyPassword "XXXXXX"
}
//統一配置 --------------------------end----------------------------------------------------------------------
items {
release {
//必填, 須要加固的APK 路徑
inputApkFilePath file("build/outputs/apk/XXXX.apk").absolutePath
//自定義配置-----------------------------start-----------------------------------------------------------------------
//android 簽名配置名稱,默認android默認的'debug'簽名配置,signingName="debug"
signingName 'debug'
//加固apk的輸出目錄
outputApkDirPath new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\XXXX").absolutePath
//加固完成後是否打開輸出目錄。默認false
openOutputDir false
// 加固配置項服務-------------------------------start-------------------------------------
// 可選加強服務--------------start----------------------
isSupportCrashLong false //【崩潰日誌分析】
isSupportX86 false //【x86支持】
isSupportAnalyse false//【加固數據分析】
isNocert false//【跳過簽名校驗】
// 可選加強服務--------------end----------------------
//高級加固選項-------------start------------------
isSupportVmp false//【全VMP保護】
isSupportDataProtection false//【本地數據文件保護】
isSupportAssetsProtection false// 【資源文件保護】
isSupportFileCheck false//【文件完整性校驗】
isSupportPtrace false//【Ptrace防注入】
isSupportSoProtection false//【SO文件保護】
isSupportDex2cProtection false//【dex2C保護】
isSupportStringObfusProtection false//【字符串加密】
isSupportDexShadowProtection false//【DexShadow】
isSupportSoPrivateProtection false//【SO防盜用】
//高級加固選項-------------end------------------
// 加固配置項服務--------------------------------end---------------------------------------------
//自動簽名
autosign false
//自定義文件生成多渠道,能夠根據前面下載的360加固軟件裏的 「多渠道模板.txt」 編寫
mulpkgFilePath =new File("D:\\XXXXX\\360jiagubao_windows_64\\jiagu\\多渠道模板.txt")
//簽名配置項
signingInfo {
storeFilePath "E:\\Document\\XXXXXX.jks"
storePassword "XXXXXX"
keyAlias "XXXXXX"
keyPassword "XXXXXX"
}
//自定義配置-----------------------------end-----------------------------------------------------------------------
}
debug {
//須要加固的APK 路徑
inputApkFilePath file("build/outputs/apk/XXXX.apk").absolutePath
}
// ...... 能夠添加更多選項
}
}
複製代碼
配置項具體解釋:
當 「統一配置」 ,「自定義配置」 設置的參數都存在時, 自定義配置 > 統一配置 , 這是總的原則
當isSupportAll=true
時 ,統一配置裏的可配置服務所有都支持
signingInfo
,signingName
都配置時,優化級爲 signingInfo
> signingName
;當兩個配置項都不配置時,默認使用 android項目裏的默認debug簽名。
signingName='release'
簽名信息配置的名稱,
生成apk加固包:
./gradlew jiagu360${item配置名稱(首頁字母大小)}
如上面的配置,生成簽名包須要執行以下命令:
./gradlew jiagu360Release
360加固升級命令:
./gradlew jiagu360Update