安卓应用鱼龙混杂,据360互联网安全中心一份2014年调查报告显示,“平均每款正版app对应26.3个盗版app和4.8个盗版签名”。如何鉴别盗版?其实很简单,应用的包名和应用的证书可以唯一确定一款应用。对一款应用解压后,META-INF目录下面有RSA后缀的证书文件,用java自带的keytool就可以查看证书详细内容,和正版证书比较即可。
以地铁跑酷为例:
keytool -printcert -file ditiepaoku/META-INF/IDREAMSK.RSA
Owner: CN=iDreamSky, OU=iDreamSky, O=iDreamSky, L=Shenzhen, ST=Guangdong, C=CN Issuer: CN=iDreamSky, OU=iDreamSky, O=iDreamSky, L=Shenzhen, ST=Guangdong, C=CN
Serial number: 4df190c0
Valid from: Fri Jun 10 11:34:24 CST 2011 until: Sun Jun 02 11:34:24 CST 2041
Certificate fingerprints:
MD5: 49:2E:1F:EF:AD:99:55:34:E9:56:9B:E2:A0:E8:89:DC
SHA1: 24:C0:F2:D7:A3:17:8A:55:31:C7:3C:09:93:A4:67:BE:1A:4A:F0:94
SHA256: A1:FD:F9:F3:21:EA:50:B3:E2:1A:AE:C5:05:59:C4:D1:9D:48:A2:44:B7:80:81:26:A4:7F:E8:6F:2B:61:AF:12
Signature algorithm name: SHA1withRSA
Version: 3
该应用的证书显示owner为iDreamSky,从字面上看是来在广东的乐逗http://idreamsky.com。至于是不是真的乐逗还是冒名的,可以从一些安卓加固软件,安卓杀毒网站上查找正版证书比对,这里以梆梆加固提供的找盗版服务来检查:http://am.bangcle.com/search,第一个正版证书就和上面的一样,基本可以确定是正版了。进一步可以用aapt命令检查包名,即可最终却正是正版。