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