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