原理:是通過遍歷apk中class檔案,將其中的變數名詞更換為其他名字,從而達到加密**的效果,還有刪去沒有用到的**部分,達到精簡**大小的效果。
工具:proguard
(當然還有很多,例如ant,
apkprotect等)
過程:在android2.3之前,谷歌沒有太重視反編譯,所以沒有對adt提供加密工具,2.3以後就提供比較普及的混淆加密工具,proguard工具,位置在sdk/tools/proguard,
1.
proguard:
當新建乙個安卓專案時,預設生成proguard-project.txt 和 project.proguard這兩個檔案。而project.proguard的作用是配置混淆加密的開關,proguard-project.txt檔案是配置部分加密的內容。(會有同學說怎麼有部分資料說在
proguard.cfg裡配置加密內容的,其實在adt後期就用proguard-project.txt代替
proguard.cfg,兩者作用是一樣的)
1.1 開啟混淆加密開關:
project.proguard
把project.proguard檔案裡的「#proguard.config=$/tools/proguard/proguard-android.txt:proguard-project.txt」前的「#」符號去了,然後在把整句放到「target=android-17」下面。專案在打包時會讀取這個檔案,並作出相應的操作。
2. keystore:
2.1 首先打包乙個
未簽名的apk(後面加密需要使用)
2.2給未簽名的apk簽名
//新建金鑰
createnew keystore 建立乙個新的私鑰倉庫檔案
(location:是寫乙個本地位址,後加mykeystore.keystore,專案會自動生成金鑰檔案)
使用未簽名的apk(已經簽名的,或eclipse執行所生成的apk會報錯)
最後乙個加密的apk生成並覆蓋原來的apk
總結:雖然混淆加密的步驟不多,不過也花了我好幾天查資料,這個內容的知識內容還是很多,建議同學把我蒐集的文獻看一次,了解更加深入,學習更多。
安卓巴士混淆加密專題
keystore 介紹
android建立私鑰並為apk檔案簽名
加密技術總結
常用的加密技術主要有 對稱加密資訊接收方和資訊傳送方使用同乙個秘鑰進行加密解密,缺點就是一旦該秘鑰被竊取的話,資訊就會被洩露,所以安全級別不夠高。常用的對稱加密演算法主要有des等 非對稱加密使用的是公鑰私鑰對的概念,接受者自己生成乙個公鑰私鑰對,並且將該公鑰傳送給傳送方,傳送方使用這個秘鈅來進行加...
資料加密技術
1.1.在傳統上,我們有幾種方法來加密資料流 1.2.幸運的是,在所有的加密演算法中最簡單的一種就是 置換表 演算法 1.3.對這種 置換表 方式的乙個改進就是使用2個或者更多的 置換表 1.4.與使用 置換表 相類似,變換資料位置 也在計算機加密中使用 1.5.但是,還有一種更好的加密演算法,只有...
檔案加密技術
檔案加密技術 給檔案加密的技術很多,其中又分為不同等級,以適合不同場合的需要.這裡給出最簡單的檔案加密技術,即採用檔案逐字節與密碼異或方式對檔案進行加密,當解密時,只需再執行一遍加密程式即可.編乙個例項程式,能對任意乙個檔案進行加密,密碼要求使用者輸入,限8位以內 當然你可以再更改 程式要有很好的容...