xref: /freebsd/contrib/file/magic/Magdir/msvc (revision 3e41d09d08f5bfa2fc1386241f334b865d6da085)
1b6cee71dSXin LI
2b6cee71dSXin LI#------------------------------------------------------------------------------
3*3e41d09dSXin LI# $File: msvc,v 1.6 2016/01/26 00:03:19 christos Exp $
4b6cee71dSXin LI# msvc:  file(1) magic for msvc
5b6cee71dSXin LI# "H. Nanosecond" <aldomel@ix.netcom.com>
6b6cee71dSXin LI# Microsoft visual C
7b6cee71dSXin LI#
8b6cee71dSXin LI# I have version 1.0
9b6cee71dSXin LI
10b6cee71dSXin LI# .aps
11b6cee71dSXin LI0	string	HWB\000\377\001\000\000\000	Microsoft Visual C .APS file
12b6cee71dSXin LI
13b6cee71dSXin LI# .ide
14b6cee71dSXin LI#too long 0	string	\102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316	MSVC .ide
15b6cee71dSXin LI0	string	\102\157\162\154\141\156\144\040\103\053\053\040\120\162\157	MSVC .ide
16b6cee71dSXin LI
17b6cee71dSXin LI# .res
18b6cee71dSXin LI0	string	\000\000\000\000\040\000\000\000\377	MSVC .res
19b6cee71dSXin LI0	string	\377\003\000\377\001\000\020\020\350	MSVC .res
20b6cee71dSXin LI0	string	\377\003\000\377\001\000\060\020\350	MSVC .res
21b6cee71dSXin LI
22b6cee71dSXin LI#.lib
23b6cee71dSXin LI0	string	\360\015\000\000	Microsoft Visual C library
24b6cee71dSXin LI0	string	\360\075\000\000	Microsoft Visual C library
25b6cee71dSXin LI0	string	\360\175\000\000	Microsoft Visual C library
26b6cee71dSXin LI
27b6cee71dSXin LI#.pch
28b6cee71dSXin LI0	string	DTJPCH0\000\022\103\006\200	Microsoft Visual C .pch
29b6cee71dSXin LI
30*3e41d09dSXin LI# Summary: Symbol Table / Debug info used by Microsoft compilers
31*3e41d09dSXin LI# URL: https://en.wikipedia.org/wiki/Program_database
32*3e41d09dSXin LI# Reference: https://code.google.com/p/pdbparser/wiki/MSF_Format
33*3e41d09dSXin LI# Update: Joerg Jenderek
34*3e41d09dSXin LI# Note:	test only for Windows XP+SP3 x86 , 8.1 x64 arm and 10.1 x86
35*3e41d09dSXin LI#	info does only applies partly for older files like msvbvm50.pdb about year 2001
36*3e41d09dSXin LI0	string	Microsoft\ C/C++\
37*3e41d09dSXin LI# "Microsoft Program DataBase" by TrID
38*3e41d09dSXin LI>24	search/14	\r\n\x1A	MSVC program database
39*3e41d09dSXin LI!:mime	application/x-ms-pdb
40*3e41d09dSXin LI!:ext	pdb
41*3e41d09dSXin LI# "MSF 7.00" "program database 2.00" for msvbvm50.pdb
42*3e41d09dSXin LI>>16	regex	\([0-9.]+\)	ver %s
43*3e41d09dSXin LI#>>>0x38	search/128123456	/LinkInfo	\b with linkinfo
44*3e41d09dSXin LI# "MSF 7.00" variant
45*3e41d09dSXin LI>>0x1e	leshort	0
46*3e41d09dSXin LI# PageSize 400h 1000h
47*3e41d09dSXin LI>>>0x20	lelong	x	\b, %d
48*3e41d09dSXin LI# Page Count
49*3e41d09dSXin LI>>>0x28	lelong	x	\b*%d bytes
50*3e41d09dSXin LI# "program database 2.00"  variant
51*3e41d09dSXin LI>>0x1e	leshort	!0
52*3e41d09dSXin LI# PageSize 400h
53*3e41d09dSXin LI>>>0x2c	lelong	x	\b, %d
54*3e41d09dSXin LI# Page Count for msoo-dll.pdb 4379h
55*3e41d09dSXin LI>>>0x32	leshort	x	\b*%d bytes
56b6cee71dSXin LI
57b6cee71dSXin LI#.sbr
58b6cee71dSXin LI0	string	\000\002\000\007\000	MSVC .sbr
59b6cee71dSXin LI>5	string 	>\0	%s
60b6cee71dSXin LI
61b6cee71dSXin LI#.bsc
62b6cee71dSXin LI0	string	\002\000\002\001	MSVC .bsc
63b6cee71dSXin LI
64b6cee71dSXin LI#.wsp
65b6cee71dSXin LI0	string	1.00\ .0000.0000\000\003	MSVC .wsp version 1.0000.0000
66b6cee71dSXin LI# these seem to start with the version and contain menus
67