1. 程式人生 > >Android apk 簽名及程式碼混淆、資原始檔混淆、加固整套流程

Android apk 簽名及程式碼混淆、資原始檔混淆、加固整套流程

準備:*.ks  proguard-android.txt', 'proguard-rules.pro(取一)

上述是簽名檔案及混淆檔案

通過AS進行混淆簽名打包apk

將該apk進行解壓可看出只是程式碼進行了混淆但是資原始檔沒有進行混淆

下面進行資原始檔進行混淆,也是通過工具

github地址:https://github.com/shwenzhang/AndResGuard 

這是微信團隊出的資源混淆,美團也有一個,但是感覺有點底層,因為專案著急用沒去研究,就使用微信這個現成的工具了

操作:下載該專案後在在tool_output目錄下有一些檔案,但是隻需要 *.jar\*.bat\*.xml 然後再將自己的.ks .apk 複製到同一目錄下

修改*.bat,主要填寫 .ks的密碼別名及密碼 還有jdk路徑 及zipalign(在sdk目錄裡)以及 apk名稱 然後在*.xml中修改需要修改的屬性,認真閱讀註釋即可

然後儲存 雙擊*.bat 就在同目錄下生成了release目錄,開啟,就得到了混淆好的apk。

進行加固:

使用阿里聚安全元件進行免費加固

地址:http://jaq.alibaba.com/gc/appsec/reinforce.htm?type=1&itemId=13c040ab-b915-42af-8831-fb13cb13d328

完成加固後需要下載加固包進行二次簽名處理

jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore C:\*\*.ks -signedjar *\*.apk 1.apk  ks別名

將下載好的apk放到jdk bin 目錄下 利用 阿里給出的簽名 命令 進行二次簽名即可 注意out apk不能在C盤即可

站在巨人肩上摘蘋果是輕鬆,但是也要做別人的巨人,有時間好好研究研究原理,不做單一的拿來主義

相關推薦

Android apk 簽名程式碼混淆原始檔混淆加固整套流程

準備:*.ks  proguard-android.txt', 'proguard-rules.pro(取一) 上述是簽名檔案及混淆檔案 通過AS進行混淆簽名打包apk 將該apk進行解壓可看出只是程式碼進行了混淆但是資原始檔沒有進行混淆 下面進行資原始檔進行混淆,也是通

Android Apk 程式碼混淆原始檔混淆實戰

Android專案在完工釋出時,需要對程式碼和資原始檔進行混淆,目的有兩個: 1⃣️減小壓縮包的體積 2⃣️防止程式碼被反編譯後惡意利用 Android Apk混淆分兩步走: 1⃣️混淆程式碼 2⃣️混淆資原始檔 本人的開發環境為: Oper

Android Studio——Apk簽名配置

一、簡介: AndroidManifest.xml檔案中的 package可以認為是一個應用的唯一標識id ,在建立專案時輸入的應用包名就是AndroidManifest.xml檔案中的 package的值,因此應該取到和應用相關名字。這時候就涉及到了別人開發應用程式的包名問題,自己的能保證包名各不相同,

android apk 簽名 之 在原始碼環境裡如何完成

假設Android原始碼路徑為 ProPath/ 且cd到此路徑下,之後執行 1. cp  ./build/target/product/security/releasekey.x509.pem  ./ 2. cp  ./build/target/pr

Android-APK簽名工具-jarsigner和apksigner

一.工具介紹 jarsigner是JDK提供的針對jar包簽名的通用工具, 位於JDK/bin/jarsigner.exe apksigner是Google官方提供的針對Android apk簽名及

Android APK 簽名比對

Android APK 簽名比對 釋出過Android應用的朋友們應該都知道,Android APK的釋出是需要簽名的。簽名機制在Android應用和框架中有著十分重要的作用。 例如,Android系統禁止更新安裝簽名不一致的APK;如果應用需要使用system許可權,必須保證APK簽名與Framewor

android APK簽名過程之MANIFEST.MF分析

一、手工驗證 用winrar開啟簽名過的apk包,發現多了一個META-INF資料夾: 解壓縮後開啟META-INF目錄,有三個檔案:MANIFEST.MF,CERT.SF,CERT.RSA 本文只講解MANIFEST.MF的生成,用記事本開啟MA

Qt學習筆記(四)——新增動作原始檔

一、新增動作 Qt 使用QAction類作為動作。顧名思義,這個類就是代表了視窗的一個“動作”,這個動作可能顯示在選單,作為一個選單項,當用戶點選該選單項,對使用者的點選做出響應;也可能在工具欄,作為一個工具欄按鈕,使用者點選這個按鈕就可以執行相應的操作。有一點值得注意:無

APP原始檔混淆加固

使用工具AndResGuard,AndResGuard是一個幫助你縮小APK大小的工具,他的原理類似Java Proguard,但是隻針對資源。他會將原本冗長的資源路徑變短,例如將res/drawable/wechat變為r/d/a。 AndResGuard的配置 專案根目錄下build

Android外掛化架構設計之載入原始檔

開篇介紹 現在專案比較大 資源比較多,但是若希望動態來載入資原始檔,可以有以下幾種方式: 1. 通過下載資原始檔zip包然後解壓來載入 2. 通過外掛開發 本文通過外掛開發來實現載入外掛中的資原始檔. 程式演示 也可以開啟連結 效果演示 開

Java web專案的classpath和classpath*的區別,*和**的區別如何查詢Java原始檔路徑

這裡的專案都是Web專案才有classpath: web專案中的src路徑下的檔案在編譯後會放到WEB-INF/classess路徑下,預設的classpath路徑就是WEB-INF/classess路徑,直接放到WEB-INF下的話,是不在classpath下的。用ClassPathXmlApp

使用Android Studio的lint清除無用的原始檔

如上圖:在專案中,點選選單欄的Analyze -> Run Inspection by Name ... 彈出輸入框: Enter 之後會彈出:  一般選擇整個專案或某個模組,當然也可以指定某個目錄 OK之後 Studio會自動分析,然後可以根據結果清除無用的資原始

android常見問題之jni讀取assets原始檔(附原始碼)

      assets目錄底下的檔案會被打包到一個apk檔案裡,這些資源在安裝時他們並沒被解壓,使用時是直接從apk中讀取的。這裡介紹下怎麼在jni內使用ndk自帶api的介面函式讀取assets資原始檔,和libzip庫函式的使用,可以用來讀建立修改壓縮文件,這裡也是以

Java之——qqwry.dat輸出亂碼問題maven打包後原始檔大小不一致的問題

使用qqwry.dat進行IP地理位置查詢時,遇到一個問題即在本地測試時查詢純真庫時正常,沒有任何問題,但是打包傳到伺服器上便出現了亂碼問題。1.首先排除伺服器的字符集編碼的影響使用如下命令驗證了本地和

android-studio中,使用android 中 lint 來清除無用的原始檔

使用lint清除無用資源的步驟: 1、 2、 3、 4、 5、 需注意的是,如果用到第三方jar,如果裡面運用反射引用到本地資源(如圖片,檔案)之類的,使用lint查詢時,這些資源也會被標出成沒用的資源,所以在使用lint 清除無用資源時,這一點需要注意一下

Android apk安裝過程JavaJNI讀取安裝包內assets原始檔的兩種方法(附原始碼例項)

問題背景:在PC上的程式可以輕鬆使用./或不用指明,預設讀取的就是程式所在路徑內的檔案。但在Android上,應用程式被打包成apk,程式執行時無法直接獲取apk(壓縮包)內的檔案。但在一些特殊場合,如載入影象處理訓練好的分類器、模型等資料,要求每個apk到手機上都能執行,就

安全程式設計之Android APK打包程式碼混淆

第一步:在專案工程目錄下的proguard-rules.pro檔案中配置自定義的混淆規則 #注意: #1.引用外部的jar包 如果不是自己寫的最好不混淆它們,因為外部jar包有可能已經混淆過 #2.不要混淆XML佈局中使用的自定義控制元件類,混淆後加載佈局會報找不到該控制

Android安卓APK反編譯分析簡單修改內容二次打包簽名

一、需求:想要修改一個apk裡面一串字串 環境: dex2jar----https://github.com/pxb1988/dex2jar/ JD-GUI----http://jd.benow.ca/ jdk1.8.0環境 二、先反編譯解包分析: (明

android apk反編譯(反編譯—改程式碼—再編譯—簽名

1.工具(請到網站搜尋並自行下載):     ①apktool(反編譯:能得到圖片資源與佈局檔案等)     ②dex2jar(反編譯:能得到activity等java程式碼)     ③jd-gui(檢視dex2jar得到的java檔案)     ④手機簽名工具

Android 混淆程式碼總結 和 Android APK反編譯(最新更新)

http://blog.csdn.net/vipzjyno1/article/details/21039349/ http://blog.csdn.net/vipzjyno1/article/details/21039349/  反編譯 在學習Android開發的過程你