提取應(yīng)用的簽名和包名

歡迎Follow我的GitHub, 關(guān)注我的簡書. 其余參考Android目錄.

fingerprint

本文的合集已經(jīng)編著成書,高級Android開發(fā)強化實戰(zhàn),歡迎各位讀友的建議和指導(dǎo)。在京東即可購買:https://item.jd.com/12385680.html

Android

Android應(yīng)用在使用第三方的庫時, 可能需要申請密鑰, 表明應(yīng)用身份, 如高德定位SDK等. 應(yīng)用簽名(printcert)是公開的, 只要下載到Apk包, 就可以公開提取. 簽名中包含MD5, SHA1, SHA256. 應(yīng)用唯一性就是表現(xiàn)為簽名+包名, 就像人的指紋一樣重要, 是確定應(yīng)用屬性的重要信息, 也是應(yīng)用商店檢測盜版應(yīng)用的途徑.

本文講解如何提取應(yīng)用的簽名和包名.


1. 簽名

獲取簽名包含兩種方式:
(1) Keystore
系統(tǒng)默認簽名: 存放位置: ~/.android/debug.keystore.
日常測試應(yīng)用的簽名, 均來自于此, 提取密鑰.

keytool -list -v -keystore debug.keystore

輸入默認密鑰庫口令: android
即可顯示

證書指紋:
     MD5: 97:0B:1C:...
     SHA1: 47:DF:70:...
     SHA256: 83:F9:04:...
     簽名算法名稱: SHA256withRSA
     版本: 3

自定義簽名: 進入到存放keystore的文件夾,使用命令:

keytool -list -v -keystore [xxx] -keypass [xxx]

顯示默認簽名類似的效果.

(2) RSA
已經(jīng)編譯成Apk的包, 我們無法獲取Keystore, 但是可以在RSA中獲取簽名.
修改Apk包的后綴名, 從".apk"變?yōu)?.zip", 解壓縮.
進入META-INF文件夾, 即cd META-INF.
使用命令

keytool -printcert -file CERT.RSA

即可, 顯示Apk的簽名.

獲取MD5, SHA1, SHA256.


2. 包名

查看包名就一行命令, 顯示Apk的信息.

aapt dump badging [xxx.apk]

輸出, package: name, 即包名.

package: name='xxx.xxx.xxxxx' 
...

注: 也可以修改本地包名, 匹配已經(jīng)存在的密匙.
修改應(yīng)用包名的方法, 在build.gradle中, 添加applicationId, 即

android {
    defaultConfig {
        applicationId "com.amap.location.demo"
        ...
    }
}

修改包名為com.amap.location.demo.

未添加gradle的參數(shù), 默認位置是AndroidManifest.xml,
其中manifest的package屬性, 表示包名, 即

<manifest package="wangchenlong.chunyu.me.wcl_amap_demo">

build.gradle的包名屬性優(yōu)先級高于manifest, 其他屬性也是一樣.


在第三方庫的開發(fā)者平臺輸入簽名和包名, 就可以生成唯一密鑰, 放到程序中, 就可以使用庫了.

簽名+包名, 表明Apk的唯一身份, 防止盜版仿冒的Apk出現(xiàn), 是Android的安全機制.

PS: 公司經(jīng)常使用第三方庫, 需要申請唯一的賬號, 統(tǒng)一管理; 作為開發(fā)者, 在測試時, 也需要申請一些測試Key, 加快開發(fā)速度.

OK, that's all! Enjoy it.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,057評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • 麥子說 09-21 一個人生活就是,一個人佇立在林立的高樓之中,一個人淹沒在茫茫人海之中,一個人等待不確定的未來!...
    麥子育兒說閱讀 736評論 0 0
  • 我現(xiàn)在做的這件事 我喜歡嗎 符合我的長期規(guī)劃嗎 好符合我眼睛里的光被什么磨了 被效率什么影響了我的效率 一知半解 ...
    AABM閱讀 198評論 0 0

友情鏈接更多精彩內(nèi)容