Googleマップの最新のアップデートは私の国では利用できないため、「Google Maps 5.4.0 apk」のグーグルでバージョンをダウンロードしました。私は実際にそれを見つけましたが、今、これが実際に市場のものと同じバージョンであるかどうかをどのように見分けることができるのでしょうか。
改ざんされていないことをどのようにして確認できますか?アプリは何らかの方法で署名されていますか?署名を確認する方法はありますか?
Googleマップの最新のアップデートは私の国では利用できないため、「Google Maps 5.4.0 apk」のグーグルでバージョンをダウンロードしました。私は実際にそれを見つけましたが、今、これが実際に市場のものと同じバージョンであるかどうかをどのように見分けることができるのでしょうか。
改ざんされていないことをどのようにして確認できますか?アプリは何らかの方法で署名されていますか?署名を確認する方法はありますか?
回答:
そのアプリを携帯電話にインストールすることの正当性についての議論を避けて、検証の質問は私がしばらく理解することを意味していたものであり、あなたは誰が署名したかを検証する可能な方法を見つけようとするよう促しましたapk。
Androidアプリは.jarファイルの通常の方法で署名されます(.apkは実際には特別な.jarであり、特別な.zipです)が、証明書の信頼性を追跡するのは簡単なことではありません。と比較します。それは基本的に電話自体が行うことです-すでに電話にあるものと同じパーティーからのものであると主張するものが実際にあることを確認します-電話は未知の署名者のものをインストールすることを拒否せず、新しいデータが主張する古いものと一致しない場合の明らかな偽造のデータ。
jarsignerとkeytoolが必要です。これらは、SDK自体ではなく、Android SDKの前提条件であるJDKから来ていると思います。
最初に、.apkに含まれている公開キーを確認してください。通常、これはMETA-INF / CERTS.RSAにありますが、別のファイルに入れることもできます-unzip -lで通知されます。あなたはあなたがそれについて知ることができるものを見たいです:
unzip -p suspect.apk META-INF/CERT.RSA | keytool -printcert
それは、署名者が誰であるかについての多くの情報をダンプするでしょう。一部の証明書は既知の関係者によって署名されているようですが、それを追跡する方法を考えずに、次のようなことができると思われます。
unzip -p suspect.apk META-INF/CERT.RSA | keytool -printcert | grep MD5
unzip -p knowngood.apk META-INF/CERT.RSA | keytool -printcert | grep MD5
同じ証明書を使用した同じ著者の既知の信頼できるapkがある場合。同じMD5合計を持つ証明書で十分であると想定しています。
証明書を信頼すると決めたと仮定すると、.apk内の各ファイルの署名に使用されているかどうかを確認できます。
jarsigner -verbose -verify suspect.apk
(アーカイブに複数の.RSAファイルがある場合、-certsフラグを追加して、各ファイルの署名に使用された証明書を通知する必要があります。これにより、確認した証明書を確認できます)
APKを無料のVirusTotal.comウイルスチェッカーにアップロードしてみることもできます。APKの一意のハッシュが生成され、他の人が既にそれをテストするためにアップロードしている場合(可能性が高い)、APKが有効であるという考えが得られます。
また、このサービスは60を超えるウイルススキャナーでAPKをスキャンし、既に見つかったウイルスと同様の署名があると信じているかどうかを通知します。
m.google.com/maps
にアクセスすると、ダウンロードリンクなどが提供されますか?