summaryrefslogtreecommitdiffstats
path: root/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch')
-rw-r--r--debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch b/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch
new file mode 100644
index 0000000..1e934be
--- /dev/null
+++ b/debian/patches/1674058358.FILE5_44-24-gc4361a10.improve-detection-of-apk-files-if-we-find-a-manifest-file-at-least-say.patch
@@ -0,0 +1,109 @@
+Subject: Improve detection of APK files; if we find a manifest file, at least say (...)
+Origin: FILE5_44-24-gc4361a10 <https://github.com/file/file/commit/FILE5_44-24-gc4361a10>
+Upstream-Author: Christos Zoulas <christos@zoulas.com>
+Date: Wed Jan 18 16:12:38 2023 +0000
+
+ improve detection of APK files; if we find a manifest file, at least say
+ that it is a jar file (FC Stegerman)
+
+--- a/magic/Magdir/archive
++++ b/magic/Magdir/archive
+@@ -1511,66 +1511,70 @@
+ # Starts with AndroidManifest.xml (file name length = 19)
+ >26 uleshort 19
+ >>30 string AndroidManifest.xml Android package (APK), with AndroidManifest.xml
+->>>-22 string PK\005\006
+->>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>-22 string PK\005\006
++>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ # Starts with META-INF/com/android/build/gradle/app-metadata.properties
+ >26 uleshort 57
+ >>30 string META-INF/com/android/build/gradle/
+ >>>&0 string app-metadata.properties Android package (APK), with gradle app-metadata.properties
+->>>>-22 string PK\005\006
+->>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>>-22 string PK\005\006
++>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ # Starts with classes.dex (file name length = 11)
+ >26 uleshort 11
+ >>30 string classes.dex Android package (APK), with classes.dex
+->>>-22 string PK\005\006
+->>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>-22 string PK\005\006
++>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ # Starts with META-INF/MANIFEST.MF (file name length = 20)
+ # NB: checks for resources.arsc, classes.dex, etc. as well to avoid matching JAR files
+ >26 uleshort 20
+ >>30 string META-INF/MANIFEST.MF
+ # Contains resources.arsc (near the end, in the central directory)
+ >>>-512 search resources.arsc Android package (APK), with MANIFEST.MF and resources.arsc
+->>>>-22 string PK\005\006
+->>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>>-22 string PK\005\006
++>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ >>>-512 default x
+ # Contains classes.dex (near the end, in the central directory)
+ >>>>-512 search classes.dex Android package (APK), with MANIFEST.MF and classes.dex
+->>>>>-22 string PK\005\006
+->>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>>>-22 string PK\005\006
++>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ >>>>-512 default x
+ # Contains lib/armeabi (near the end, in the central directory)
+ >>>>>-512 search lib/armeabi Android package (APK), with MANIFEST.MF and armeabi lib
+->>>>>>-22 string PK\005\006
+->>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>>>>-22 string PK\005\006
++>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ >>>>>-512 default x
+ # Contains drawables (near the end, in the central directory)
+ >>>>>>-512 search res/drawable Android package (APK), with MANIFEST.MF and drawables
+->>>>>>>-22 string PK\005\006
+->>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>>>>>-22 string PK\005\006
++>>>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
++# It may or may not be an APK file, but it's definitely a Java JAR file
++>>>>>>-512 default x Java archive data (JAR)
++!:mime application/java-archive
++!:ext jar
+ # Starts with zipflinger virtual entry (28 + 104 = 132 bytes)
+ # See https://github.com/obfusk/apksigcopier/blob/666f5b7/apksigcopier/__init__.py#L230
+ >4 string \x00\x00\x00\x00\x00\x00
+ >>&0 string \x21\x08\x21\x02
+ >>>&0 string \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
+ >>>>&0 string \x00\x00 Android package (APK), with zipflinger virtual entry
+->>>>>-22 string PK\005\006
+->>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ !:mime application/vnd.android.package-archive
+ !:ext apk
++>>>>>-22 string PK\005\006
++>>>>>>(-6.l-16) string APK\x20Sig\x20Block\x2042 \b, with APK Signing Block
+ # APK Signing Block
+ >0 default x
+ >>-22 string PK\005\006
+@@ -1795,9 +1799,10 @@
+ >>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?)
+ !:mime application/zip
+
+-# Java Jar files
++# Java Jar files (see also APK files above)
+ >(26.s+30) leshort 0xcafe Java archive data (JAR)
+ !:mime application/java-archive
++!:ext jar
+
+ # iOS App
+ >(26.s+30) leshort !0xcafe