Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to get all symbols for an entire platform for a closed-network?

I need to debug a kernel dump in a closed-network for W2K8 R2. I tried to download the "Windows 7 and Windows Server 2008 R2" symbols using the "Windows 7 Service Pack 1 x64 retail symbols, all languages" package from Microsoft

I burn it, copy it over, and load the symbols, and WinDbg claims it's the wrong PDB for ntkrnlmp.pdb. So this is fine except I don't want to keep doing this to try and find the correct package to download.

I started looking into this question and find lots of articles talking about ways to have symchk recursively look at the local directories for Windows or System32 to auto-download the PDBs for those files.

But I need to be able to download all PDBs for a different OS than what's searching the web: Windows 2008 R2, not Win7.

Is there a way to download all possible symbols for Windows 2008 R2 to Windows 7 so they can be copied/burned and ultimately used on a closed network?

like image 259
thepip3r Avatar asked Oct 15 '25 04:10

thepip3r


1 Answers

All symbols for the dump

A way which I used was to download all symbols needed by the dump. This can be done as follows:

  1. Create a list of symbols on the restricted machine
  2. Copy the list to a machine with Internet connection
  3. Download all symbols on the machine with Internet connection
  4. Copy the symbols back to the restricted machine

That way you needn't copy any sensitive information (like the dump) from the restricted machine.

The tool to achieve this is symchk which comes with WinDbg. The following commands should work:

  1. symchk /id <dumpfile>.dmp /om symbols.lst
  2. whatever you like
  3. symchk /im symbols.lst /s srv*X:\symbols\*http://msdl.microsoft.com/download/symbols /od
  4. whatever you like (copy the symbols from X:\symbols)

Parameters are:

  • /id input is a dump file
  • /om output is a manifest file
  • /im input is a manifest file
  • /s symbol server
  • /od output verbose to see problems

All symbols of Windows

The same approach can be used to download all symbols for your OS. The command for step 4 is then

symchk /r /if %windir% /om symbols.lst

Where the parameters are:

  • /r recursively
  • /if input from file (or directory, if recursively)
like image 157
Thomas Weller Avatar answered Oct 18 '25 23:10

Thomas Weller