一、签名证书的提取
APP签名是将开发者ID与其所开发的APP以hash函数关联实现的,它保证了app的唯一性,不会被其他APP冒充。在Android中,所有APP安装之前必须被签名。它的工作原理是,利用hash函数对APP中内容(资源、文件等)进行签名,如下图所示。在apk文件内容被签名之后,hash函数会和开发者的证书绑定一起发布出来,而证书是由开发者的私钥加密的(不是可信第三方)。
接下来,我们开始检查APP证书了。首先,解压apk文件。解压之后打开META-INF文件夹。我们这里以百度手机助手为例,如下图所示。BDMOBILE.RSA是公钥证书的自签名文件,BDMOBILE.SF是关于APP内容签名的文件,MANIFEST.MF主要是声明了资源,与BDMOBILE.SF相似。
打开BDMOBILE.RSA文件,在dos中输入keytool -printcert -file (BDMOBILE.RSA具体路径),如下图所示: