最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Apk去掉簽名以及重新簽名的方法

 更新時間:2016年12月03日 09:44:43   作者:Pleiades  
這篇文章主要介紹了Android Apk去掉簽名以及重新簽名的方法的相關資料,Android開發(fā)中很重要的一部就是用自己的密鑰給Apk文件簽名,需要的朋友可以參考下

Android Apk去掉簽名以及重新簽名的方法

Android開發(fā)中很重要的一部就是用自己的密鑰給Apk文件簽名,不經(jīng)過簽名的Apk文件一般是無法安裝的,就算裝了最后也是失敗。

網(wǎng)上流傳的“勾選允許安裝未知來源的應用”其實跟簽不簽名沒啥關系,說白了就是允許安裝不從電子市場上下載的應用而已。

近幾日需要修改一個Apk中JNI調用的.so文件,苦于沒有apk源代碼,只好研究了一下簽名相關的問題。當然有很多第三方工具可以做到,但其實JDK中已經(jīng)提供了強大的簽名工具jarsigner。

1.去除簽名

其實很簡單,用WinRAR打開apk,找到META-INF文件夾,刪除MANIFEST.MF之外的所有其他文件即可。

2.簽名

運行jarsigner,如果沒有設置PATH環(huán)境變量,那可以從JDK安裝路徑下的bin目錄中找到,比如我本機的就是C:\Program Files\Java\jdk1.8.0_31\bin\jarsigner.exe

jarsigner用法如下:

用法: jarsigner [選項] jar-file 別名
    jarsigner -verify [選項] jar-file [別名...]

[-keystore <url>]      密鑰庫位置

[-storepass <口令>]     用于密鑰庫完整性的口令

[-storetype <類型>]     密鑰庫類型

[-keypass <口令>]      私有密鑰的口令 (如果不同)

[-certchain <文件>]     替代證書鏈文件的名稱

[-sigfile <文件>]      .SF/.DSA 文件的名稱

[-signedjar <文件>]     已簽名的 JAR 文件的名稱

[-digestalg <算法>]    摘要算法的名稱

[-sigalg <算法>]      簽名算法的名稱

[-verify]          驗證已簽名的 JAR 文件

[-verbose[:suboptions]]   簽名/驗證時輸出詳細信息。
              子選項可以是 all, grouped 或 summary

[-certs]          輸出詳細信息和驗證時顯示證書

[-tsa <url>]        時間戳頒發(fā)機構的位置

[-tsacert <別名>]      時間戳頒發(fā)機構的公共密鑰證書

[-tsapolicyid <oid>]    時間戳頒發(fā)機構的 TSAPolicyID

[-altsigner <類>]      替代的簽名機制的類名

[-altsignerpath <路徑列表>] 替代的簽名機制的位置

[-internalsf]        在簽名塊內包含 .SF 文件

[-sectionsonly]       不計算整個清單的散列

[-protected]        密鑰庫具有受保護驗證路徑

[-providerName <名稱>]   提供方名稱

[-providerClass <類>    加密服務提供方的名稱
 [-providerArg <參數(shù)>]]... 主類文件和構造器參數(shù)

[-strict]          將警告視為錯誤

比較常用的參數(shù)就是指定keystore的位置和簽名后的文件,舉例如下:

jarsigner -keystore C:\myKey.key -signedjar apk-signed.apk apk-unsigned.apk myKey

待簽名的文件是apk-unsigned.apk,簽名后的apk是apk-signed.apk。我們也可以不指定-signedjar參數(shù),則在待簽名的apk上直接簽名。最后一個myKey是我的keystore的別名。

簽名完成后再用WinRAR打開,會發(fā)現(xiàn)META-INF目錄下多了MYKEY.RSA和MYKEY.SF兩個文件,他們分別是:

MANIFEST.MF中保存了所有其他文件的SHA-1并base64編碼后的值。
MYKEY.SF中也有其他文件的SHA-1并base64編碼的值,而且還多一個MANIFEST.MF文件的SHA-1并base64編碼后的值
MYKEY.RSA包含了公鑰信息和發(fā)布機構信息

后兩個文件的名稱和我的key別名轉換為大寫后一致。

關于如何生成本機的keystore就不再贅述了,在AndroidStudio和Eclipse中都有相應的工具,圖形界面,so easy。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

最新評論

迭部县| 扶风县| 兴山县| 偏关县| 碌曲县| 城步| 乐昌市| 福贡县| 黄浦区| 堆龙德庆县| 星子县| 东乡县| 罗甸县| 石阡县| 屏东市| 蓬溪县| 龙山县| 金沙县| 德州市| 申扎县| 金塔县| 陕西省| 赤水市| 昌吉市| 龙里县| 昌邑市| 积石山| 泾源县| 肃宁县| 通河县| 宁津县| 三明市| 青河县| 忻城县| 武汉市| 武义县| 宁阳县| 通化县| 若羌县| 安仁县| 衢州市|