xref: /freebsd/contrib/file/magic/Magdir/msvc (revision 48c779cdecb5f803e5fe5d761987e976ca9609db)
1b6cee71dSXin LI
2b6cee71dSXin LI#------------------------------------------------------------------------------
3*48c779cdSXin LI# $File: msvc,v 1.10 2018/10/01 19:14:03 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
303e41d09dSXin LI# Summary: Symbol Table / Debug info used by Microsoft compilers
313e41d09dSXin LI# URL: https://en.wikipedia.org/wiki/Program_database
323e41d09dSXin LI# Reference: https://code.google.com/p/pdbparser/wiki/MSF_Format
333e41d09dSXin LI# Update: Joerg Jenderek
343e41d09dSXin LI# Note:	test only for Windows XP+SP3 x86 , 8.1 x64 arm and 10.1 x86
353e41d09dSXin LI#	info does only applies partly for older files like msvbvm50.pdb about year 2001
3640427ccaSGordon Tetlow0	string	Microsoft\ C/C++\040
373e41d09dSXin LI# "Microsoft Program DataBase" by TrID
383e41d09dSXin LI>24	search/14	\r\n\x1A	MSVC program database
393e41d09dSXin LI!:mime	application/x-ms-pdb
403e41d09dSXin LI!:ext	pdb
413e41d09dSXin LI# "MSF 7.00" "program database 2.00" for msvbvm50.pdb
423e41d09dSXin LI>>16	regex	\([0-9.]+\)	ver %s
433e41d09dSXin LI#>>>0x38	search/128123456	/LinkInfo	\b with linkinfo
443e41d09dSXin LI# "MSF 7.00" variant
453e41d09dSXin LI>>0x1e	leshort	0
463e41d09dSXin LI# PageSize 400h 1000h
473e41d09dSXin LI>>>0x20	lelong	x	\b, %d
483e41d09dSXin LI# Page Count
493e41d09dSXin LI>>>0x28	lelong	x	\b*%d bytes
503e41d09dSXin LI# "program database 2.00"  variant
513e41d09dSXin LI>>0x1e	leshort	!0
523e41d09dSXin LI# PageSize 400h
533e41d09dSXin LI>>>0x2c	lelong	x	\b, %d
543e41d09dSXin LI# Page Count for msoo-dll.pdb 4379h
553e41d09dSXin LI>>>0x32	leshort	x	\b*%d bytes
56b6cee71dSXin LI
5740427ccaSGordon Tetlow# Reference: https://github.com/Microsoft/vstest/pull/856/commits/fdc7a9f074ca5a8dfeec83b1be9162bf0cf4000d
58*48c779cdSXin LI0       string/c bsjb\001\000\001\000\000\000\000\000\f\000\000\000pdb\ v1.0     Microsoft Roslyn C# debugging symbols version 1.0
5940427ccaSGordon Tetlow
60b6cee71dSXin LI#.sbr
61b6cee71dSXin LI0	string	\000\002\000\007\000	MSVC .sbr
62b6cee71dSXin LI>5	string 	>\0	%s
63b6cee71dSXin LI
64b6cee71dSXin LI#.bsc
65b6cee71dSXin LI0	string	\002\000\002\001	MSVC .bsc
66b6cee71dSXin LI
67b6cee71dSXin LI#.wsp
68b6cee71dSXin LI0	string	1.00\ .0000.0000\000\003	MSVC .wsp version 1.0000.0000
69b6cee71dSXin LI# these seem to start with the version and contain menus
70