1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*9ce06829SXin LI# $File: windows,v 1.12 2015/08/29 07:10:35 christos Exp $ 4b6cee71dSXin LI# windows: file(1) magic for Microsoft Windows 5b6cee71dSXin LI# 6b6cee71dSXin LI# This file is mainly reserved for files where programs 7b6cee71dSXin LI# using them are run almost always on MS Windows 3.x or 8b6cee71dSXin LI# above, or files only used exclusively in Windows OS, 9b6cee71dSXin LI# where there is no better category to allocate for. 10b6cee71dSXin LI# For example, even though WinZIP almost run on Windows 11b6cee71dSXin LI# only, it is better to treat them as "archive" instead. 12b6cee71dSXin LI# For format usable in DOS, such as generic executable 13b6cee71dSXin LI# format, please specify under "msdos" file. 14b6cee71dSXin LI# 15b6cee71dSXin LI 16b6cee71dSXin LI 17b6cee71dSXin LI# Summary: Outlook Express DBX file 18b6cee71dSXin LI# Extension: .dbx 19b6cee71dSXin LI# Created by: Christophe Monniez 20b6cee71dSXin LI0 string \xCF\xAD\x12\xFE MS Outlook Express DBX file 21b6cee71dSXin LI>4 byte =0xC5 \b, message database 22b6cee71dSXin LI>4 byte =0xC6 \b, folder database 23b6cee71dSXin LI>4 byte =0xC7 \b, account information 24b6cee71dSXin LI>4 byte =0x30 \b, offline database 25b6cee71dSXin LI 26b6cee71dSXin LI 27b6cee71dSXin LI# Summary: Windows crash dump 28b6cee71dSXin LI# Extension: .dmp 29b6cee71dSXin LI# Created by: Andreas Schuster (http://computer.forensikblog.de/) 30b6cee71dSXin LI# Reference (1): http://computer.forensikblog.de/en/2008/02/64bit_magic.html 31b6cee71dSXin LI# Modified by (1): Abel Cheung (Avoid match with first 4 bytes only) 32b6cee71dSXin LI0 string PAGE 33b6cee71dSXin LI>4 string DUMP MS Windows 32bit crash dump 34b6cee71dSXin LI>>0x05c byte 0 \b, no PAE 35b6cee71dSXin LI>>0x05c byte 1 \b, PAE 36b6cee71dSXin LI>>0xf88 lelong 1 \b, full dump 37b6cee71dSXin LI>>0xf88 lelong 2 \b, kernel dump 38b6cee71dSXin LI>>0xf88 lelong 3 \b, small dump 39b6cee71dSXin LI>>0x068 lelong x \b, %d pages 40b6cee71dSXin LI>4 string DU64 MS Windows 64bit crash dump 41b6cee71dSXin LI>>0xf98 lelong 1 \b, full dump 42b6cee71dSXin LI>>0xf98 lelong 2 \b, kernel dump 43b6cee71dSXin LI>>0xf98 lelong 3 \b, small dump 44b6cee71dSXin LI>>0x090 lequad x \b, %lld pages 45b6cee71dSXin LI 46b6cee71dSXin LI 47b6cee71dSXin LI# Summary: Vista Event Log 48b6cee71dSXin LI# Extension: .evtx 49b6cee71dSXin LI# Created by: Andreas Schuster (http://computer.forensikblog.de/) 50b6cee71dSXin LI# Reference (1): http://computer.forensikblog.de/en/2007/05/some_magic.html 51b6cee71dSXin LI0 string ElfFile\0 MS Windows Vista Event Log 52b6cee71dSXin LI>0x2a leshort x \b, %d chunks 53b6cee71dSXin LI>>0x10 lelong x \b (no. %d in use) 54b6cee71dSXin LI>0x18 lelong >1 \b, next record no. %d 55b6cee71dSXin LI>0x18 lelong =1 \b, empty 56b6cee71dSXin LI>0x78 lelong &1 \b, DIRTY 57b6cee71dSXin LI>0x78 lelong &2 \b, FULL 58b6cee71dSXin LI 59b6cee71dSXin LI 60b6cee71dSXin LI# Summary: Windows 3.1 group files 61b6cee71dSXin LI# Extension: .grp 62b6cee71dSXin LI# Created by: unknown 63b6cee71dSXin LI0 string \120\115\103\103 MS Windows 3.1 group files 64b6cee71dSXin LI 65b6cee71dSXin LI 66b6cee71dSXin LI# Summary: Old format help files 67b6cee71dSXin LI# Extension: .hlp 68b6cee71dSXin LI# Created by: Dirk Jagdmann <doj@cubic.org> 69b6cee71dSXin LI0 lelong 0x00035f3f MS Windows 3.x help file 70b6cee71dSXin LI 71b6cee71dSXin LI 72b6cee71dSXin LI# Summary: Hyper terminal 73b6cee71dSXin LI# Extension: .ht 74b6cee71dSXin LI# Created by: unknown 75b6cee71dSXin LI0 string HyperTerminal\ 76b6cee71dSXin LI>15 string 1.0\ --\ HyperTerminal\ data\ file MS Windows HyperTerminal profile 77b6cee71dSXin LI 78b6cee71dSXin LI# http://ithreats.files.wordpress.com/2009/05/\ 79b6cee71dSXin LI# lnk_the_windows_shortcut_file_format.pdf 80b6cee71dSXin LI# Summary: Windows shortcut 81b6cee71dSXin LI# Extension: .lnk 82b6cee71dSXin LI# Created by: unknown 83b6cee71dSXin LI# 'L' + GUUID 84b6cee71dSXin LI0 string \114\0\0\0\001\024\002\0\0\0\0\0\300\0\0\0\0\0\0\106 MS Windows shortcut 85b6cee71dSXin LI>20 lelong&1 1 \b, Item id list present 86b6cee71dSXin LI>20 lelong&2 2 \b, Points to a file or directory 87b6cee71dSXin LI>20 lelong&4 4 \b, Has Description string 88b6cee71dSXin LI>20 lelong&8 8 \b, Has Relative path 89b6cee71dSXin LI>20 lelong&16 16 \b, Has Working directory 90b6cee71dSXin LI>20 lelong&32 32 \b, Has command line arguments 91b6cee71dSXin LI>20 lelong&64 64 \b, Icon 92*9ce06829SXin LI>>56 lelong x \b number=%d 93b6cee71dSXin LI>24 lelong&1 1 \b, Read-Only 94b6cee71dSXin LI>24 lelong&2 2 \b, Hidden 95b6cee71dSXin LI>24 lelong&4 4 \b, System 96b6cee71dSXin LI>24 lelong&8 8 \b, Volume Label 97b6cee71dSXin LI>24 lelong&16 16 \b, Directory 98b6cee71dSXin LI>24 lelong&32 32 \b, Archive 99b6cee71dSXin LI>24 lelong&64 64 \b, Encrypted 100b6cee71dSXin LI>24 lelong&128 128 \b, Normal 101b6cee71dSXin LI>24 lelong&256 256 \b, Temporary 102b6cee71dSXin LI>24 lelong&512 512 \b, Sparse 103b6cee71dSXin LI>24 lelong&1024 1024 \b, Reparse point 104b6cee71dSXin LI>24 lelong&2048 2048 \b, Compressed 105b6cee71dSXin LI>24 lelong&4096 4096 \b, Offline 106b6cee71dSXin LI>28 leqwdate x \b, ctime=%s 107b6cee71dSXin LI>36 leqwdate x \b, mtime=%s 108b6cee71dSXin LI>44 leqwdate x \b, atime=%s 109b6cee71dSXin LI>52 lelong x \b, length=%u, window= 110b6cee71dSXin LI>60 lelong&1 1 \bhide 111b6cee71dSXin LI>60 lelong&2 2 \bnormal 112b6cee71dSXin LI>60 lelong&4 4 \bshowminimized 113b6cee71dSXin LI>60 lelong&8 8 \bshowmaximized 114b6cee71dSXin LI>60 lelong&16 16 \bshownoactivate 115b6cee71dSXin LI>60 lelong&32 32 \bminimize 116b6cee71dSXin LI>60 lelong&64 64 \bshowminnoactive 117b6cee71dSXin LI>60 lelong&128 128 \bshowna 118b6cee71dSXin LI>60 lelong&256 256 \brestore 119b6cee71dSXin LI>60 lelong&512 512 \bshowdefault 120b6cee71dSXin LI#>20 lelong&1 0 121b6cee71dSXin LI#>>20 lelong&2 2 122b6cee71dSXin LI#>>>(72.l-64) pstring/h x \b [%s] 123b6cee71dSXin LI#>20 lelong&1 1 124b6cee71dSXin LI#>>20 lelong&2 2 125b6cee71dSXin LI#>>>(72.s) leshort x 126b6cee71dSXin LI#>>>&75 pstring/h x \b [%s] 127b6cee71dSXin LI 128b6cee71dSXin LI# Summary: Outlook Personal Folders 129b6cee71dSXin LI# Created by: unknown 130b6cee71dSXin LI0 lelong 0x4E444221 Microsoft Outlook email folder 131b6cee71dSXin LI>10 leshort 0x0e (<=2002) 132b6cee71dSXin LI>10 leshort 0x17 (>=2003) 133b6cee71dSXin LI 134b6cee71dSXin LI 135b6cee71dSXin LI# Summary: Windows help cache 136b6cee71dSXin LI# Created by: unknown 137b6cee71dSXin LI0 string \164\146\115\122\012\000\000\000\001\000\000\000 MS Windows help cache 138b6cee71dSXin LI 139b6cee71dSXin LI 140b6cee71dSXin LI# Summary: IE cache file 141b6cee71dSXin LI# Created by: Christophe Monniez 142b6cee71dSXin LI0 string Client\ UrlCache\ MMF Internet Explorer cache file 143b6cee71dSXin LI>20 string >\0 version %s 144b6cee71dSXin LI 145b6cee71dSXin LI 146b6cee71dSXin LI# Summary: Registry files 147b6cee71dSXin LI# Created by: unknown 148b6cee71dSXin LI# Modified by (1): Joerg Jenderek 149b6cee71dSXin LI0 string regf MS Windows registry file, NT/2000 or above 150b6cee71dSXin LI0 string CREG MS Windows 95/98/ME registry file 151b6cee71dSXin LI0 string SHCC3 MS Windows 3.1 registry file 152b6cee71dSXin LI 153b6cee71dSXin LI 154b6cee71dSXin LI# Summary: Windows Registry text 155b6cee71dSXin LI# Extension: .reg 156b6cee71dSXin LI# Submitted by: Abel Cheung <abelcheung@gmail.com> 157b6cee71dSXin LI0 string REGEDIT4\r\n\r\n Windows Registry text (Win95 or above) 158b6cee71dSXin LI0 string Windows\ Registry\ Editor\ 159b6cee71dSXin LI>&0 string Version\ 5.00\r\n\r\n Windows Registry text (Win2K or above) 160b6cee71dSXin LI 161b6cee71dSXin LI# Windows *.INF *.INI files updated by Joerg Jenderek at Apr 2013 162c2931133SXin LI# empty ,comment , section 163c2931133SXin LI# PR/383: remove unicode BOM because it is not portable across regex impls 164c2931133SXin LI0 regex/s \\`(\\r\\n|;|[[]) 165b6cee71dSXin LI# left bracket in section line 166b6cee71dSXin LI>&0 search/8192 [ 167b6cee71dSXin LI# http://en.wikipedia.org/wiki/Autorun.inf 168b6cee71dSXin LI# http://msdn.microsoft.com/en-us/library/windows/desktop/cc144200.aspx 169b6cee71dSXin LI>>&0 regex/c \^(autorun)]\r\n 170b6cee71dSXin LI>>>&0 ubyte =0x5b INItialization configuration 171b6cee71dSXin LI!:mime application/x-wine-extension-ini 172b6cee71dSXin LI# From: Pal Tamas <folti@balabit.hu> 173b6cee71dSXin LI# Autorun File 174b6cee71dSXin LI>>>&0 ubyte !0x5b Microsoft Windows Autorun file 175b6cee71dSXin LI!:mime application/x-setupscript 176b6cee71dSXin LI# http://msdn.microsoft.com/en-us/library/windows/hardware/ff549520(v=vs.85).aspx 177b6cee71dSXin LI# version strings ASCII coded case-independent for Windows setup information script file 178b6cee71dSXin LI>>&0 regex/c \^(version|strings)] Windows setup INFormation 179b6cee71dSXin LI!:mime application/x-setupscript 180b6cee71dSXin LI#!:mime application/inf 181b6cee71dSXin LI#!:mime application/x-wine-extension-inf 182b6cee71dSXin LI>>&0 regex/c \^(WinsockCRCList|OEMCPL)] Windows setup INFormation 183b6cee71dSXin LI!:mime text/inf 184b6cee71dSXin LI# http://www.winfaq.de/faq_html/Content/tip2500/onlinefaq.php?h=tip2653.htm 185b6cee71dSXin LI# http://msdn.microsoft.com/en-us/library/windows/desktop/cc144102.aspx 186b6cee71dSXin LI# .ShellClassInfo DeleteOnCopy LocalizedFileNames ASCII coded case-independent 187b6cee71dSXin LI>>&0 regex/c \^(\.ShellClassInfo|DeleteOnCopy|LocalizedFileNames)] Windows desktop.ini 188b6cee71dSXin LI!:mime application/x-wine-extension-ini 189b6cee71dSXin LI#!:mime text/plain 190b6cee71dSXin LI# http://support.microsoft.com/kb/84709/ 191b6cee71dSXin LI>>&0 regex/c \^(don't\ load)] Windows CONTROL.INI 192b6cee71dSXin LI!:mime application/x-wine-extension-ini 193b6cee71dSXin LI>>&0 regex/c \^(ndishlp\\$|protman\\$|NETBEUI\\$)] Windows PROTOCOL.INI 194b6cee71dSXin LI!:mime application/x-wine-extension-ini 195b6cee71dSXin LI# http://technet.microsoft.com/en-us/library/cc722567.aspx 196b6cee71dSXin LI# http://www.winfaq.de/faq_html/Content/tip0000/onlinefaq.php?h=tip0137.htm 197b6cee71dSXin LI>>&0 regex/c \^(windows|Compatibility|embedding)] Windows WIN.INI 198b6cee71dSXin LI!:mime application/x-wine-extension-ini 199b6cee71dSXin LI# http://en.wikipedia.org/wiki/SYSTEM.INI 200b6cee71dSXin LI>>&0 regex/c \^(boot|386enh|drivers)] Windows SYSTEM.INI 201b6cee71dSXin LI!:mime application/x-wine-extension-ini 202b6cee71dSXin LI# http://www.mdgx.com/newtip6.htm 203b6cee71dSXin LI>>&0 regex/c \^(SafeList)] Windows IOS.INI 204b6cee71dSXin LI!:mime application/x-wine-extension-ini 205b6cee71dSXin LI# http://en.wikipedia.org/wiki/NTLDR Windows Boot Loader information 206b6cee71dSXin LI>>&0 regex/c \^(boot\x20loader)] Windows boot.ini 207b6cee71dSXin LI!:mime application/x-wine-extension-ini 208b6cee71dSXin LI>>>&0 ubyte x 209b6cee71dSXin LI# http://en.wikipedia.org/wiki/CONFIG.SYS 210b6cee71dSXin LI>>&0 regex/c \^(menu)]\r\n MS-DOS CONFIG.SYS 211b6cee71dSXin LI# http://support.microsoft.com/kb/118579/ 212b6cee71dSXin LI>>&0 regex/c \^(Paths)]\r\n MS-DOS MSDOS.SYS 213b6cee71dSXin LI# VERS string unicoded case-independent 214b6cee71dSXin LI>>&0 ubequad&0xFFdfFFdfFFdfFFdf 0x0056004500520053 215b6cee71dSXin LI# ION] string unicoded case-independent 216b6cee71dSXin LI>>>&0 ubequad&0xFFdfFFdfFFdfFFff 0x0049004f004e005d Windows setup INFormation 217b6cee71dSXin LI!:mime application/x-setupscript 218b6cee71dSXin LI# STRI string unicoded case-independent 219b6cee71dSXin LI>>&0 ubequad&0xFFdfFFdfFFdfFFdf 0x0053005400520049 220b6cee71dSXin LI# NGS] string unicoded case-independent 221b6cee71dSXin LI>>>&0 ubequad&0xFFdfFFdfFFdfFFff 0x004e00470053005D Windows setup INFormation 222b6cee71dSXin LI!:mime application/x-setupscript 223b6cee71dSXin LI# unknown keyword after opening bracket 224b6cee71dSXin LI>>&0 default x 225b6cee71dSXin LI>>>&0 search/8192 [ 226b6cee71dSXin LI# version Strings FileIdentification 227b6cee71dSXin LI>>>>&0 string/c version Windows setup INFormation 228b6cee71dSXin LI!:mime application/x-setupscript 229b6cee71dSXin LI# VERS string unicoded case-independent 230b6cee71dSXin LI>>>>&0 ubequad&0xFFdfFFdfFFdfFFdf 0x0056004500520053 231b6cee71dSXin LI# ION] string unicoded case-independent 232b6cee71dSXin LI>>>>>&0 ubequad&0xFFdfFFdfFFdfFFff 0x0049004f004e005d Windows setup INFormation 233b6cee71dSXin LI!:mime application/x-setupscript 234b6cee71dSXin LI# http://en.wikipedia.org/wiki/Initialization_file Windows Initialization File or other 235b6cee71dSXin LI#>>>>&0 default x Generic INItialization configuration 236b6cee71dSXin LI#!:mime application/x-wine-extension-ini 237b6cee71dSXin LI 238b6cee71dSXin LI# Windows Precompiled INF files *.PNF added by Joerg Jenderek at Mar 2013 of _PNF_HEADER inf.h 239b6cee71dSXin LI# http://read.pudn.com/downloads3/sourcecode/windows/248345/win2k/private/windows/setup/setupapi/inf.h__.htm 240b6cee71dSXin LI# GRR: line below too general as it catches also PDP-11 UNIX/RT ldp 241b6cee71dSXin LI0 leshort&0xFeFe 0x0000 242*9ce06829SXin LI!:strength -5 243b6cee71dSXin LI# test for unused null bits in PNF_FLAGs 244b6cee71dSXin LI>4 ulelong&0xFCffFe00 0x00000000 245b6cee71dSXin LI# only found 58h for Offset of WinDirPath immediately after _PNF_HEADER structure 246b6cee71dSXin LI>>68 ulelong >0x57 247b6cee71dSXin LI# test for zero high byte of InfValueBlockSize, followed by WinDirPath like 248b6cee71dSXin LI# C:\WINDOWS (ASCII 0x433a5c.. , unicode 0x43003a005c..) or X:\MININT 249b6cee71dSXin LI>>>(68.l-1) ubelong&0xffE0C519 =0x00400018 Windows Precompiled iNF 250b6cee71dSXin LI!:mime application/x-pnf 251b6cee71dSXin LI# currently only found Major Version=1 and Minor Version=1 252b6cee71dSXin LI#>>>>0 uleshort =0x0101 253b6cee71dSXin LI#>>>>>1 ubyte x \b, version %u 254b6cee71dSXin LI#>>>>>0 ubyte x \b.%u 255b6cee71dSXin LI>>>>0 uleshort !0x0101 256b6cee71dSXin LI>>>>>1 ubyte x \b, version %u 257b6cee71dSXin LI>>>>>0 ubyte x \b.%u 258b6cee71dSXin LI# 1 ,2 (windows 98 SE) 259b6cee71dSXin LI#>>>>2 uleshort =2 \b, InfStyle %u 260b6cee71dSXin LI>>>>2 uleshort !2 \b, InfStyle %u 261b6cee71dSXin LI# PNF_FLAG_IS_UNICODE 0x00000001 262b6cee71dSXin LI# PNF_FLAG_HAS_STRINGS 0x00000002 263b6cee71dSXin LI# PNF_FLAG_SRCPATH_IS_URL 0x00000004 264b6cee71dSXin LI# PNF_FLAG_HAS_VOLATILE_DIRIDS 0x00000008 265b6cee71dSXin LI# PNF_FLAG_INF_VERIFIED 0x00000010 266b6cee71dSXin LI# PNF_FLAG_INF_DIGITALLY_SIGNED 0x00000020 267b6cee71dSXin LI# ?? 0x00000100 268b6cee71dSXin LI# ?? 0x01000000 269b6cee71dSXin LI# ?? 0x02000000 270b6cee71dSXin LI>>>>4 ulelong&0x00000001 0x00000001 \b, unicoded 271b6cee71dSXin LI>>>>4 ulelong&0x00000020 0x00000020 \b, digitally signed 272b6cee71dSXin LI#>>>>8 ulelong x \b, InfSubstValueListOffset 0x%x 273b6cee71dSXin LI# many 0, 1 lmouusb.PNF, 2 linkfx10.PNF , f webfdr16.PNF 274b6cee71dSXin LI#>>>>12 uleshort x \b, InfSubstValueCount 0x%x 275b6cee71dSXin LI# only < 9 found 276b6cee71dSXin LI#>>>>14 uleshort x \b, InfVersionDatumCount 0x%x 277b6cee71dSXin LI# only found values lower 0x0000ffff 278b6cee71dSXin LI#>>>>16 ulelong x \b, InfVersionDataSize 0x%x 279b6cee71dSXin LI# only found positive values lower 0x00ffFFff for InfVersionDataOffset 280b6cee71dSXin LI>>>>20 ulelong x \b, at 0x%x 281b6cee71dSXin LI>>>>4 ulelong&0x00000001 =0x00000001 282b6cee71dSXin LI# case independent: CatalogFile Class DriverVer layoutfile LayoutFile SetupClass signature Signature 283b6cee71dSXin LI>>>>>(20.l) lestring16 x "%s" 284b6cee71dSXin LI>>>>4 ulelong&0x00000001 !0x00000001 285b6cee71dSXin LI>>>>>(20.l) string x "%s" 286b6cee71dSXin LI# FILETIME is number of 100-nanosecond intervals since 1 January 1601 287b6cee71dSXin LI#>>>>24 ulequad x \b, InfVersionLastWriteTime %16.16llx 288b6cee71dSXin LI# only found values lower 0x00ffFFff 289b6cee71dSXin LI#>>>>32 ulelong x \b, StringTableBlockOffset 0x%x 290b6cee71dSXin LI#>>>>36 ulelong x \b, StringTableBlockSize 0x%x 291b6cee71dSXin LI#>>>>40 ulelong x \b, InfSectionCount 0x%x 292b6cee71dSXin LI#>>>>44 ulelong x \b, InfSectionBlockOffset 0x%x 293b6cee71dSXin LI#>>>>48 ulelong x \b, InfSectionBlockSize 0x%x 294b6cee71dSXin LI#>>>>52 ulelong x \b, InfLineBlockOffset 0x%x 295b6cee71dSXin LI#>>>>56 ulelong x \b, InfLineBlockSize 0x%x 296b6cee71dSXin LI#>>>>60 ulelong x \b, InfValueBlockOffset 0x%x 297b6cee71dSXin LI#>>>>64 ulelong x \b, InfValueBlockSize 0x%x 298b6cee71dSXin LI# WinDirPathOffset 299b6cee71dSXin LI#>>>>68 ulelong x \b, at 0x%x 300b6cee71dSXin LI>>>>68 ulelong >0x57 301b6cee71dSXin LI>>>>>4 ulelong&0x00000001 =0x00000001 302b6cee71dSXin LI>>>>>>(68.l) ubequad =0x43003a005c005700 303b6cee71dSXin LI# normally unicoded C:\Windows 304b6cee71dSXin LI#>>>>>>>(68.l) lestring16 x \b, WinDirPath "%s" 305b6cee71dSXin LI>>>>>>(68.l) ubequad !0x43003a005c005700 306b6cee71dSXin LI>>>>>>>(68.l) lestring16 x \b, WinDirPath "%s" 307b6cee71dSXin LI>>>>>4 ulelong&0x00000001 !0x00000001 308b6cee71dSXin LI# normally ASCII C:\WINDOWS 309b6cee71dSXin LI#>>>>>>(68.l) string =C:\\WINDOWS \b, WinDirPath "%s" 310b6cee71dSXin LI>>>>>>(68.l) string !C:\\WINDOWS \b, WinDirPath "%s" 311b6cee71dSXin LI# found OsLoaderPathOffset values often 0 , once 70h corelist.PNF, once 68h ASCII machine.PNF 312b6cee71dSXin LI#>>>>72 ulelong >0 \b, at 0x%x 313b6cee71dSXin LI>>>>72 ulelong >0 \b, 314b6cee71dSXin LI>>>>>4 ulelong&0x00000001 =0x00000001 315b6cee71dSXin LI>>>>>>(72.l) lestring16 x OsLoaderPath "%s" 316b6cee71dSXin LI>>>>>4 ulelong&0x00000001 !0x00000001 317b6cee71dSXin LI# seldom C:\ instead empty 318b6cee71dSXin LI>>>>>>(72.l) string x OsLoaderPath "%s" 319b6cee71dSXin LI# 1fdh 320b6cee71dSXin LI#>>>>76 uleshort x \b, StringTableHashBucketCount 0x%x 321b6cee71dSXin LI>>>>78 uleshort !0x407 \b, LanguageId %x 322b6cee71dSXin LI# only 407h found 323b6cee71dSXin LI#>>>>78 uleshort =0x407 \b, LanguageId %x 324b6cee71dSXin LI# InfSourcePathOffset often 0 325b6cee71dSXin LI#>>>>80 ulelong >0 \b, at 0x%x 326b6cee71dSXin LI>>>>80 ulelong >0 \b, 327b6cee71dSXin LI>>>>>4 ulelong&0x00000001 =0x00000001 328b6cee71dSXin LI>>>>>>(80.l) lestring16 x SourcePath "%s" 329b6cee71dSXin LI>>>>>4 ulelong&0x00000001 !0x00000001 330b6cee71dSXin LI>>>>>>(80.l) string >\0 SourcePath "%s" 331b6cee71dSXin LI# OriginalInfNameOffset often 0 332b6cee71dSXin LI#>>>>84 ulelong >0 \b, at 0x%x 333b6cee71dSXin LI>>>>84 ulelong >0 \b, 334b6cee71dSXin LI>>>>>4 ulelong&0x00000001 =0x00000001 335b6cee71dSXin LI>>>>>>(84.l) lestring16 x InfName "%s" 336b6cee71dSXin LI>>>>>4 ulelong&0x00000001 !0x00000001 337b6cee71dSXin LI>>>>>>(84.l) string >\0 InfName "%s" 338b6cee71dSXin LI 339