由於分析破解需要獲取使用testkey簽名的apk的sha1,很多網上的教程都是從keystore來獲取,雖然可以從pk8.pem轉成keystore,但是比較麻煩,後來找到一個這樣的方法可以實現:
把apk用zip打開,把META-INF目錄下的rsa後綴名的文件解壓出來,命名爲cert.rsa,這個文件其實就是簽名的公鑰,執行如下命令
keytool -printcert -file CERT.RSA
會輸出如下信息,裏面包含了sha1:
所有者: [email protected], CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
發佈者: [email protected], CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
序列號: 936eacbe07f201df
有效期開始日期: Fri Feb 29 09:33:46 CST 2008, 截止日期: Tue Jul 17 09:33:46 CST 2035證書指紋:
MD5: E8:9B:15:8E:4B:CF:98:8E:BD:09:EB:83:F5:37:8E:87
SHA1: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
SHA256: A4:0D:A8:0A:59:D1:70:CA:A9:50:CF:15:C1:8C:45:4D:47:A3:9B:26:98:9D:8B:64:0E:CD:74:5B:A7:1B:F5:DC
簽名算法名稱: SHA1withRSA
版本: 3
擴展:
#1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 48 59 00 56 3D 27 2C 46 AE 11 86 05 A4 74 19 AC HY.V=',F.....t..
0010: 09 CA 8C 11 ....
]
[[email protected], CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US]
SerialNumber: [ 936eacbe 07f201df]
]
#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
CA:true
PathLen:2147483647
]
#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 48 59 00 56 3D 27 2C 46 AE 11 86 05 A4 74 19 AC HY.V=',F.....t..
0010: 09 CA 8C 11 ....
]
]