androidapk簽名查看
『壹』 如何判斷 Android 應用的 Apk 簽名是否一致
Android應用的發布形式apk中包含的簽名加密方法除了RSA還有DSA,所以不能只從apk中提取常見的META-INF/CERT.RSA,第一步應該是檢查apk中具體的簽名文件是什麼。
FILE="yourapp.apk"
cert_XSA=`jar tf $FILE | grep SA`
此時得到的cert_XSA可能是META-INF/*.RSA或者META-INF/*.DSA。
接下來從apk中提取具體的簽名文件。
jar xf $FILE $cert_XSA
此時會在當前目錄得到cert_XSA文件。
然後對於得到的簽名文件,提取其中簽名的MD5值
keytool -printcert -file $cert_XSA | grep MD5 > "$FILE.certMD5"
這時候yourapp.certMD5這個文件中就保存了yourapp.apkk中的簽名MD5值。
最後比較兩個app的簽名可以用diff
FILE1="yourapp1.apk"
FILE2="yourapp2.apk"
# ...
# ... 經過上述步驟得到$FILE1.certMD5和$FILE2.certMD5
# ...
certMD5_diff=`diff $FILE1.certMD5 $FILE2.certMD5`
if [ "$certMD5_diff" = "" ]; then
echo "$FILE1.certMD5 == $FILE2.certMD5"
fi
若輸出yourapp1.apk.certMD5 == yourapp2.apk.certMD5那麼這兩個應用的簽名就一致。
『貳』 Android查看應用簽名方法
打開 Android Studio,然後選跡盯帆擇右邊的 Gradle 標姿雹簽,選擇一個項目,然後選擇 signingReport 這個 Task,雙擊運行
然後選擇右下角的 Gradle Console,就可以看到簽名信息了
使用解壓工具解壓 APK 文件,在 META-INF 文件夾拿到 CERT.RSA 文件。假設 CERT.RSA 文件的路徑是 C:\Users\Administrator\Desktop\CERT.RSA。在 CMD 中輸入
就可以得到簽名信息了
jks 作為簽名文件,也可以通過命令行來查看的其中的簽名信息,假設簽名文件的名稱是 test_release.jks,在終端中輸入
即可得到簽則老名信息
『叄』 如何利用Eclipse工具打包簽名AndroidApk文件
1、打開eclipse,右擊需要打包的程序,選擇「Android Tools」選項,對應有一個「Export signed Application Package…」選項,點擊該選項,如下所示:
『肆』 怎樣查看android的apk文件的簽名
以下介紹查看自己的應用簽名及三方APK或系統APK簽名信息,包含其中的MD5、SHA1、SHA256值和簽名演算法等信息。
1、查看自己的應用簽名
可以通過兩種方式查看
(1) debug的apk通過Eclipse查看,如下圖:
可以查看簽名的MD5、SHA1、SHA256值及簽名演算法
『伍』 PHP獲取安卓apk包里的apk簽名
所需工具:aapt,Android SDK中的工具,只有一個exe,可以直接運行。
keytool,JDK中的工具,需要安裝JDK環境。
需要提供目標應用的apk
1、獲取包名
例如:aapt.exe mp badging C:\Users\Administrator\Desktop\demo-apk-1.0.1.8791.apk > C:\Users\Administrator\Desktop\1.txt
獲取到的包名是com.pakgname.swbg
2、獲取簽名
SHA1: 56:BD:02:6B:9D:53:D7:F5:32:B2:BC:BD:BB:34:5B:F1:CD:EF:7F:C0
這里藉助github開源的類apkparser
在項目composer.json中執行下面命令或修改composer.json引入即可
方法二適用於沒有java環境的情況下,一般linux都會有openssl環境。
原理:通過分析方法一中,發現apk包解壓之後,裡面會有.rsa簽名證書,此證書是一個符合pki體系的x509證書,通過openssl命令即可查看信息。
『陸』 如何查看 android 數字簽名
用java命令查看,如下:
C:\jdk1.6.0_10\bin>jarsigner.exe -verify f:\ICBCAndroidBank.apk
jar 已驗證
什麼是數字簽名?
數字簽名就是為你的程序打上一種標記,來作為你自己的標識,當別人看到簽名的時候會知道它是與你相關的。
為什麼要數字簽名?
Android系統要求每一個Android應用程序必須要經過數字簽名才能夠安裝到系統中,也就是說如果一個Android應用程序沒有經過數字簽名,是沒有辦法安裝到系統中的!
Android通過數字簽名來標識應用程序的作者和在應用程序之間建立信任關系,不是用來決定最終用戶可以安裝哪些應用程序。
這個數字簽名由應用程序的作者完成,並不需要權威的數字證書簽名機構認證,它只是用來讓應用程序包自我認證的。
『柒』 怎麼查看apk的簽名 keystore
1、查看 keystore
$ keytool -list -v -keystore debug.keystore
$ keytool -list -v -keystore debug.keystore
Enter keystore password:
***************** WARNING WARNING WARNING *****************
* The integrity of the information stored in your keystore *
* has NOT been verified! In order to verify its integrity, *
* you must provide your keystore password. *
***************** WARNING WARNING WARNING *****************
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: androiddebugkey
Creation date: Apr 8, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 509aeb88
Valid from: Wed Apr 08 20:48:48 CST 2015 until: Fri Mar 31 20:48:48 CST 2045
Certificate fingerprints:
MD5: 38:43:E1:B6:AB:F2:7F:80:93:CD:E5:EF:75:B9:A5:6C
SHA1: 9D:53:DB:6C:DA:D4:08:B3:D4:A6:E5:26:17:BD:80:FA:5A:E4:4F:AB
SHA256: D5:FF:04:4A:A2:F8:A4:EA:2A:44:53:28:0C:20:16:45:E8:71:AC:B1:74:76:F6:B4:01:90:86:83:73:E0:B0:8A
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: B2 FF B2 0D 9C 54 BA BA A2 EF E3 BA E2 47 90 7F .....T.......G..
0010: 17 8A 35 A8 ..5.
]
]
*******************************************
2、查看三方應用或是系統應用簽名
打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件
$ keytool -printcert -file META-INF/CERT.RSA
打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件
$ keytool -printcert -file META-INF/CERT.RSA
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 514ab2e1
Valid from: Thu Mar 21 15:12:33 CST 2013 until: Sat Mar 14 15:12:33 CST 2043
Certificate fingerprints:
MD5: E0:F4:90:EE:CD:77:17:0E:B8:C4:AC:64:B2:F6:FC:83
SHA1: 7F:E5:11:D8:37:4F:DA:D7:75:EA:A5:8C:47:06:85:95:6D:1D:3F:2B
Signature algorithm name: SHA1withRSA
Version: 3
3、給空白包簽名 (注意 alias 值)
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
jarsigner命令格式:-verbose輸出詳細信息 -keystore密鑰庫位置 -signedjar要生成的文件 要簽名的文件 密鑰庫文件
keystorePath參數代表keyStore的絕對路徑,如D:\keystore
apkOut參數代表簽名後的apk路徑,如D:\signed.apk
apkin參數代表在騰訊應用中心下載的未簽名apk,默認名稱為tap_unsign.apk
alias參數代表簽名用的alias名稱(創建keyStore時所填寫),如timdong
$ jarsigner -verbose -keystore debug.keystore -signedjar test2.apk tap_unsign1.apk timdong
Enter Passphrase for keystore:
adding: META-INF/MANIFEST.MF
adding: META-INF/ANDROIDD.SF
adding: META-INF/ANDROIDD.RSA
signing: res/drawable/ic_launcher.png
signing: res/layout/main.xml
signing: AndroidManifest.xml
signing: resources.arsc
signing: classes.dex
『捌』 我的android項目已經生成了簽名但不知道這個簽名是什麼也不知在哪查看
簽名的apk自己無法查看,是安裝的時候android系統驗證用的。
1.簽名的意義
為了保證每個應用程序開發商合法ID,防止部分開放商可能通過使用相同的Package Name來混淆替換已經安裝的程序,我們需要對我們發布的APK文件進行唯一簽名,保證我們每次發布的版本的一致性(如自動更新不會因為版本不一致而無法安裝)。
2.簽名的步驟
a.創建key
b.使用步驟a中產生的key對apk簽名
3.具體操作, 命令行下對apk簽名(原理)
創建key,需要用到keytool.exe (位於jdk1.6.0_24\jre\bin目錄下),使用產生的key對apk簽名用到的是jarsigner.exe (位於jdk1.6.0_24\bin目錄下),把上兩個軟體所在的目錄添加到環境變數path後,打開cmd輸入
D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore/*說明:-genkey 產生密鑰 -alias demo.keystore 別名 demo.keystore -keyalg RSA 使用RSA演算法對簽名加密 -validity 40000 有效期限4000天 -keystore demo.keystore */D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore/*說明:-verbose 輸出簽名的詳細信息 -keystore demo.keystore 密鑰庫位置 -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次為簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore.*/
注意事項:android工程的bin目錄下的demo.apk默認是已經使用debug用戶簽名的,所以不能使用上述步驟對此文件再次簽名。正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package導出的apk採用上述步驟簽名。
『玖』 android怎樣獲取應用簽名信息
android 應用簽名獲取方法如下:
1、選擇程序,右鍵--->android tools --->簽名發布,按步驟生成一個簽名keystore和畢沖一個經過簽名的apk,安裝該APK到手機;
2、選擇自己的程序,右鍵運行到手機
3、下載簽名應用,在手機中運行,根據提示輸入程序的包名羨培獲得一個apk簽名字元串,最後將這個字元串填到第一步的應用簽名欄處。保存即可正常調試應用了。
android 應用簽名查看方法如下:
(1) debug的apk通過Eclipse查看,如下圖:
『拾』 瀹夊崜鎵嬫満杞浠舵洿鏂扮殑鏃跺欙紝絳懼悕涓嶄竴鑷存庝箞鍔烇紵
瀹夊崜鎵嬫満杞浠舵洿鏂扮殑鏃跺欙紝絳懼悕涓嶄竴鑷存庝箞鍔烇紵
闂棰樹竴錛氱懼悕澶辮觸,鍙鑳芥枃浠惰礬寰勪腑鍖呭惈絀烘牸,涓鏂,璇鋒妸鏈杞浠跺拰瑕佺懼悕鐨勮蔣浠剁Щ鍔ㄥ埌C鐩樼殑鏍圭洰褰曚笅榪涜岀懼悕寰堝氫漢浼氭妸瑕佺懼悕鐨刟pk鏂囦歡鏀懼埌C鐩樼殑鏍圭洰褰曚笅錛屼絾鏄榪樻槸涓嶈屻傝佹敞鎰忔彁紺鴻寸殑闇瑕佹妸絳懼悕杞浠朵篃鏀懼埌C鐩樼殑鏍圭洰褰曚笅,鑰屼笖APK鏂囦歡鍚嶄腑涓嶈兘鍖呭惈絀烘牸鍜屾眽瀛椼傜劧鍚庤繍琛岃蔣浠訛紝鐐瑰嚮鈥滅懼悕鈥濊彍鍗曞嵆鍙銆傞棶棰樹簩錛歛pk絳懼悕鍚庣殑杞浠0瀛楄妭媯鏌apk鏂囦歡閲岄潰鏄涓嶆槸鏈変腑鏂囧懡鍚嶇殑鏂囦歡錛屼笉鑳藉嚭鐜拌嫳鏂囧悕錛屽惁鍒欑懼悕鎴愬姛涔熸槸0瀛楄妭銆
Android鎬庝箞絳懼悕鍜屽姞瀵嗭紵
鍓嶈█錛
褰撴垜浠緙栧啓瀹屾垜浠鐨刟pp涔嬪悗錛屾垜浠榪橀渶瑕佸仛涓や歡浜嬶細絳懼悕鍜屽姞瀵
絳懼悕錛
1>涓轟粈涔堣佺懼悕錛
涓昏佹槸涓轟簡紜淇濆簲鐢ㄧ殑瀹夊叏錛屼負浠涔堣繖涔堣村憿錛熼偅涔堬紝鎴戜滑棣栧厛鍋囪綼ndroid娌℃湁絳懼悕榪欎釜姒傚康錛
鍦ㄨ繖涓鍓嶆彁涓嬶紝涓嬮潰鏉ヤ婦涓瀹炰緥璇存槑絳懼悕鐨勯噸瑕佹э紝姣斿傦紝鎴戝啓浜嗕竴涓猰yApp錛岀劧鍚庤呭湪浜嗘垜鐨勬墜鏈轟笂錛
涓庢ゅ悓鏃訛紝鎴戝張瑁呬簡涓涓獃ourApp錛屽湪瑁厃ourApp鐨勬椂鍊欙紝紿佺劧鍙戠幇myApp琚瑕嗙洊浜嗭紝涓轟粈涔堬紵鍥犱負yourApp
鐨勫寘鍚嶅拰myApp鐨勫寘鍚嶇浉鍚岋紝閭d箞錛岃繖鏍峰逛簬寮鍙戜漢鍛樺啓鐨刟pp鐨勫畨鍏ㄦф槸娌℃湁淇濋殰鐨勶紝涔熷氨鏄璇達紝闅忎究涓涓
鍖呭悕鐩稿悓鐨刟pp灝卞彲浠ュ皢鍙︿竴涓猘pp瑕嗙洊鎺変簡錛岃屾垜浠鐭ラ亾鑾峰彇涓涓搴旂敤鐨勫寘鍚嶆槸寰堝規槗鐨勪簨錛屾墍浠ユゆ椂絳懼悕鐨
姒傚康涔熷氨闅忎箣鑰屾潵浜嗭紝涓昏佹槸涓轟簡淇濊瘉app鐨勫畨鍏ㄦэ紝鍥犱負絳懼悕鍙鏈夊紑鍙戜漢鍛樻墠鐭ラ亾錛屽氨綆楀叾浠栦漢鐭ラ亾榪欎釜搴旂敤
鐨勫寘鍚嶏紝浣嗘槸涓嶇煡閬撹繖涓搴旂敤鐨勭懼悕錛屼緷鏃ф槸娌℃硶瑕嗙洊鐨勶紝鎵浠ヨ繖灝辨槸android涓鐨勭懼悕鐨勪綔鐢錛屼笌姝ゅ悓鏃訛紝
鍦ㄨ繖閲屼篃闇瑕佹彁閱掍竴涓嬫垜浠鐨勫紑鍙戜漢鍛橈紝涓鏃app涓婂競錛岄偅涔堣繖涓猘pp鐨勭懼悕涓瀹氳佷繚瀛樺ソ錛屼笉鐒跺啀嬈″崌綰ф椂錛
鏄娌″姙娉曞仛鍒拌嗙洊鐨勶紝鏈濂芥槸灝嗙懼悕鍐嶅嶅埗涓浠界粰涓婂徃錛
2>濡備綍絳懼悕錛
鍦╝ndroidstudio涓錛岄夋嫨Build----->GenerateSignedAPK...
濉鍐欏畬鐩稿簲鐨勯夐」(娉錛氳嫢娌℃湁keystore,鍙鑷琛屾柊寤轟竴涓)----->Next----->
鍦ㄨ繖涓瀵硅瘽妗嗕腑錛孊uildType閫夋嫨Finish鍗沖彲瀹屾垚絳懼悕錛
娉錛氾紙絳懼悕apk鐢熸垚鐩褰曪級
鎴戜滑絳懼悕涔嬪悗鐨刟pk鏂囦歡錛屽彲浠ュ湪涓婅竟榪欏箙鍥句腑鍙浠ョ湅鍒幫紝涓嶈佹壘閿欑懼悕鐨勫簲鐢ㄤ簡錛
鍦ㄦ湰紺轟緥涓錛屽叾鐩褰曞氨鏄錛欳:UsersDAIDesktop
鍔犲瘑錛
1>涓轟粈涔堣佽繘琛屽姞瀵嗭紵
綆鑰岃█涔嬶紝灝辨槸涓轟簡璁╂垜浠鐨刟pk涓嶈鍏朵粬浜烘墍鐮磋В錛
2>濡備綍鍔犲瘑錛
鍙傝冧簡涓涓嬬綉涓婄殑鍋氭硶錛屽氨鏄錛氶氳繃鈥滅埍鍔犲瘑鈥濇潵杈懼埌瀵規垜浠鎵鍐橝PK鐨勪竴縐嶅姞瀵
娉錛氬湪鐖卞姞瀵嗕笂鍔犲瘑浜嗘垜浠鐨凙PK涔嬪悗錛屽叾瀹樼綉涔熸湁鏄庣『娉ㄩ噴錛屽氨鏄榪橀渶瑕佸啀榪涜岀懼悕涓嬈★紝鍚﹀垯錛孉PK鏃犳硶榪愯岋紝
鍏剁懼悕宸ュ叿錛屽湪鈥滅埍鍔犲瘑鈥濆畼緗戜笂宸茬粰鍑猴紱
榪欐牱褰撴垜浠鍦ㄥ規垜浠鐨勫凡緇忓姞瀵嗙殑APK鐮磋В鏃訛紝鍙浠ュ彂鐜幫紝鍏跺凡鏃犳硶鐩存帴鑾峰彇寰楀埌婧愮爜浜嗭紒錛侊紒
闃呰誨叏鏂
濡備綍緇檃pk鏂囦歡絳懼悕錛
緇欎慨鏀瑰悗鐨刟pk閲嶆柊絳懼悕鐨勬柟娉曚負錛
1銆侀栧厛錛屽垹闄apk鍖呬腑鐨勭懼悕鏂囦歡銆傚湪宸︿晶鐨勫帇緙╂枃浠朵腑錛屾壘鍒癕ETA-INF閫夐」錛屽苟鍒犻櫎銆
2銆佸啀嬈℃洿鏀筧pk鏍煎紡涓哄帇緙╁寘褰㈠紡錛屽皢鍏舵敼鍥.apk鏍煎紡銆傛壘鍒拌瘉涔debug.keystore錛屽皢鍏跺嶅埗鍒頒笌闇瑕侀噸鏂扮懼悕鐨刟pk鏂囦歡鐩稿悓鐨勭洰褰曚笅銆
3銆佹寜鈥淲IN+R鈥濓紝鎵撳紑銆愯繍琛屻戱紱杈撳叆鈥渃md鈥濓紝榪涘叆D:Sign鐩褰曪紱
4銆佽繍琛屼笅闈㈢殑鍛戒護錛-androiddebugkey琛ㄧずKey鍒鍚嶃
5銆佹渶鍚庯紝淇鏀瑰悗鐨刟pk閲嶆柊絳懼悕灝卞畬鎴愪簡銆
濡備綍鏌ョ湅android搴旂敤絳懼悕鏂囦歡鐨勪俊鎮錛
涓銆佹煡鐪嬫湰鍦発eystore鏂囦歡錛堝墠鎻愭槸鏈塳eystore鐨勫瘑鐮侊級鍛戒護錛歬eytool-list-v-keystore鐩鏍囨枃浠惰礬寰勪簩銆佹煡鐪嬩笁鏂瑰簲鐢ㄦ垨鏄緋葷粺搴旂敤絳懼悕鍙抽敭apk瑙e帇錛岀洰鏍囨枃浠舵槸META-INF鏂囦歡澶逛腑鐨凜ERT.RSA鏂囦歡錛岄氳繃鍛戒護keytool.exe鍛戒護鏌ョ湅璇佷功淇℃伅鍙浠ユ煡鐪嬬懼悕鐨凪D5銆丼HA1銆丼HA256鍊煎強絳懼悕綆楁硶鍛戒護錛歬eytool-printcert-file鐩鏍囨枃浠惰礬寰