xref: /dflybsd-src/contrib/file/magic/Magdir/java (revision 6fca56fb90a257291c53bba3b861b751027c3e3d)
1f72f8299SJan Lentfer
2327e51cbSPeter Avalos#------------------------------------------------------------
3*6fca56fbSSascha Wildner# $File: java,v 1.21 2019/02/18 17:58:50 christos Exp $
4327e51cbSPeter Avalos# Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the
5327e51cbSPeter Avalos# same magic number, 0xcafebabe, so they are both handled
6327e51cbSPeter Avalos# in the entry called "cafebabe".
7327e51cbSPeter Avalos#------------------------------------------------------------
8327e51cbSPeter Avalos# Java serialization
9327e51cbSPeter Avalos# From Martin Pool (m.pool@pharos.com.au)
10327e51cbSPeter Avalos0	beshort		0xaced		Java serialization data
11327e51cbSPeter Avalos>2	beshort		>0x0004		\b, version %d
12327e51cbSPeter Avalos
13327e51cbSPeter Avalos0	belong		0xfeedfeed	Java KeyStore
1479343712SPeter Avalos!:mime	application/x-java-keystore
15327e51cbSPeter Avalos0	belong		0xcececece	Java JCE KeyStore
1679343712SPeter Avalos!:mime	application/x-java-jce-keystore
17327e51cbSPeter Avalos
189f86ab30SPeter Avalos# Java source
19c30bd091SSascha Wildner0	regex	\^import.*;$	Java source
209f86ab30SPeter Avalos!:mime	text/x-java
21c30bd091SSascha Wildner
22c30bd091SSascha Wildner# Java HPROF dumps
23c30bd091SSascha Wildner# https://java.net/downloads/heap-snapshot/hprof-binary-format.html
24c30bd091SSascha Wildner0	string		JAVA\x20PROFILE\x201.0.
25*6fca56fbSSascha Wildner>0x12	byte		0
26*6fca56fbSSascha Wildner>>0x11	ubyte-0x31	<2      Java HPROF dump,
27*6fca56fbSSascha Wildner>>>0x17	beqdate/1000	x       created %s
28*6fca56fbSSascha Wildner
29*6fca56fbSSascha Wildner# Java jmod module
30*6fca56fbSSascha Wildner# See https://hg.openjdk.java.net/jdk9/jdk9/jdk/file/tip/src/java.base/share/classes/jdk/internal/jmod/JmodFile.java
31*6fca56fbSSascha Wildner# Grr. 2 byte magic "JM", really? In 2019?
32*6fca56fbSSascha Wildner0	belong		0x4a4d0100	Java jmod module version 1.0
33*6fca56fbSSascha Wildner!:mime	application/x-java-jmod
34*6fca56fbSSascha Wildner
35*6fca56fbSSascha Wildner# Java jlinked image
36*6fca56fbSSascha Wildner# See https://hg.openjdk.java.net/jdk9/jdk9/jdk/file/tip/src/java.base/share/native/libjimage/imageFile.hpp
37*6fca56fbSSascha Wildner0	belong	0xcafedada	Java module image (big endian)
38*6fca56fbSSascha Wildner>4	beshort	>0x00	\b, version %d
39*6fca56fbSSascha Wildner>6	beshort	x	\b.%d
40*6fca56fbSSascha Wildner!:mime	application/x-java-image
41*6fca56fbSSascha Wildner
42*6fca56fbSSascha Wildner0	lelong	0xcafedada	Java module image (little endian)
43*6fca56fbSSascha Wildner>6	leshort	>0x00	\b, version %d
44*6fca56fbSSascha Wildner>4	leshort	x	\b.%d
45*6fca56fbSSascha Wildner!:mime	application/x-java-image
46