アンドロイドAPKでMETA-INFフォルダ内のMANIFEST.MF、CERT.SFとCERT.RSAファイルの目的は何ですか。APKファイルのMETA-INFフォルダにあるファイルの目的は何ですか?
3
A
答えて
5
アンドロイドAPKファイルは、実際にはjarファイル(javaアーカイブ)です。圧縮されているかどうかにかかわらず、単なる普通のzipファイルです。 JARファイルはすべてのタイプのJavaアプリケーションで使用され、特定の構造を持っています。META-INFフォルダには、マニフェスト情報と、jarファイルによって運ばれるjavaパッケージに関するその他のメタデータが含まれています。次のようにこれらのファイルの
目的は以下のとおりです。
- MANIFEST.MF:それはなるように、メインクラスであるかなどの、jarファイルをロードするときのJavaランタイム環境で使用されるさまざまな情報が含まれていますjarファイル、パッケージのバージョン、ビルド番号、パッケージの作成者、JavaアプレットおよびJava Webstartパッケージのセキュリティポリシー/許可、SHA1ダイジェストなどとともにjarファイル名のリストから実行します。
- CERT .SF:これはSHA-1ダイジェストと共にすべてのファイルのリストを含んでいます。
- CERT.RSA:これには、CERT.SFファイルの署名付きコンテンツと、コンテンツの署名に使用される公開鍵の証明書チェーンが含まれます。
例として、apkファイルhereのサンプルを参照してください。 デスクトップに7zipのようなファイル解凍プログラムを使用してこのファイルをダウンロードして展開すると、これらのファイルのサンプルが表示されます。
抽出されたディレクトリで、サブディレクトリMETA-INFに移動し、ファイルmanifest.mfおよび* .sfファイルの内容を表示します。
ファイルMANIFEST.SF:
Manifest-Version: 1.0
Created-By: 1.7.0_60 (Oracle Corporation)
Name: res/drawable-xxhdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
SHA1-Digest: Db3E0/I85K9Aik2yJ4X1dDP3Wq0=
Name: res/drawable-xhdpi-v4/opt_more_item_close_press.9.png
SHA1-Digest: Xxm9cr4gDbEEnnYvxRWfzcIXBEM=
Name: res/anim/accessibility_guide_translate_out.xml
SHA1-Digest: dp8PyrXMy2IBxgTz19x7DATpqz8=
ファイルMCTN.SFは空行と一緒にMANIFEST.MFのファイルリストのダイジェストが含まれています。ここでは、これらのファイルの最初の数行がある
Signature-Version: 1.0
SHA1-Digest-Manifest-Main-Attributes: Sen4TNWb3NQLczkzN1idKh81Rjc=
Created-By: 1.7.0_60 (Oracle Corporation)
SHA1-Digest-Manifest: NAWTDC05HK+hfNtQ91J4AoL9F7s=
Name: res/drawable-xxhdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
SHA1-Digest: pvIZkdVTEuilCdx8UkrlY6ufPlw=
Name: res/anim/accessibility_guide_translate_out.xml
SHA1-Digest: XeX9Q2w41PRm3KiZ5p07x3CY6hc=
ファイルMCTN.RSAには、ファイルMCTN.SFで生成されたベース64エンコーディングの署名が含まれています。
はAPKパッケージの署名を検証する方法の詳細については、このリファレンスを参照してください - http://theether.net/kb/100207
関連する問題
- 1. CRXファイルの目的は何ですか?
- 2. .cmakeファイルの目的は何ですか?
- 3. * .proファイルの目的は何ですか?
- 4. vshostファイルの目的は何ですか?
- 5. mdfファイルの目的は何ですか?
- 6. 私のPrestashopの各フォルダにあるindex.phpファイルは何ですか?
- 7. Javaに関するjvm.cfgファイルの目的は何ですか?
- 8. scala.runtimeにあるこれらのJavaファイルの目的は何ですか?
- 9. APKファイルとは何ですか?
- 10. .csprojファイル内にある<SolutionDir>要素の目的は何ですか?
- 11. "values"ディレクトリの "drawables.xml"ファイルの目的は何ですか?アンドロイドスタジオプロジェクトの
- 12. メールゴミ箱フォルダ(メールサービスプロバイダ)の歴史的な目的は何ですか?
- 13. xcschemeファイルとは何ですか?それは何の目的ですか?
- 14. Leiningen project.cljファイルのフック[leiningen.cljsbuild]の目的は何ですか?
- 15. PNGファイル内のsBITチャンクの目的は何ですか?
- 16. Java Webアプリケーションのmanifest.txtファイルの目的は何ですか?
- 17. Symfony2のbootstrap.php.cacheファイルの目的は何ですか?
- 18. SilverlightアプリケーションのAppManifest.xamlファイルの目的は何ですか?
- 19. xmlファイルのメタデータの目的は何ですか?
- 20. Silverlight Webアプリケーションのhtmlファイルの目的は何ですか?
- 21. Azure関数の.jsonファイルの目的は何ですか?
- 22. これらのファイル記述子の目的は何ですか?
- 23. Android XMLファイルの<! - suppress ALL - >の目的は何ですか?
- 24. pd.read_csvでCSVファイルを開く - コンテキストマネージャの目的は何ですか?
- 25. ASP.NET Handler(.ashx)ファイルの目的と用途は何ですか?
- 26. mvnwおよびmvnw.cmdファイルの目的は何ですか?
- 27. "public/system /"の "system"フォルダの目的は何ですか?
- 28. EclipseのWeb App Librariesフォルダの目的は何ですか?
- 29. gradleのbuildSrcフォルダの目的は何ですか?
- 30. Android apkファイルから特定のフォルダを除外する方法
あなたはCERT.SFは、ダイジェストの持っている含まれていることを述べました。自分自身をハッシュ値でダイジェストしていませんか? – Don
あなたの質問を明確にするために編集されました。 –
ええ、それについて知らなかった。 – Don