dbgdump.c
来自「《Windows 95 System Programming Secrets》配」· C语言 代码 · 共 70 行
C
70 行
//==================================
// PEDUMP - Matt Pietrek 1995
// FILE: DBGDUMP.C
//==================================
#include <windows.h>
#include <stdio.h>
#include "common.h"
#include "extrnvar.h"
#include "dbgdump.h"
void DumpImageDbgHeader(PIMAGE_DBG_HEADER pImageDbgHeader)
{
UINT headerFieldWidth = 30;
printf(" %-*s%04X\n", headerFieldWidth, "Machine:",
pImageDbgHeader->Machine);
printf(" %-*s%04X\n", headerFieldWidth, "Characteristics:",
pImageDbgHeader->Characteristics);
printf(" %-*s%08X\n", headerFieldWidth, "TimeDateStamp:",
pImageDbgHeader->TimeDateStamp);
printf(" %-*s%08X\n", headerFieldWidth, "Checksum:",
pImageDbgHeader->Checksum);
printf(" %-*s%08X\n", headerFieldWidth, "Size of Image:",
pImageDbgHeader->SizeOfImage);
printf(" %-*s%08X\n", headerFieldWidth, "unknown1:",
pImageDbgHeader->unknown1);
printf(" %-*s%04X\n", headerFieldWidth, "Number of Sections:",
pImageDbgHeader->NumberOfSections);
printf(" %-*s%04X\n", headerFieldWidth, "unknown2:",
pImageDbgHeader->unknown2);
printf(" %-*s%08X\n", headerFieldWidth, "DebugDirOffset:",
pImageDbgHeader->OffsetOfDebugDirectory);
printf(" %-*s%08X\n", headerFieldWidth, "DebugDirSize:",
pImageDbgHeader->SizeOfDebugDirectory);
printf(" %-*s%08X\n", headerFieldWidth, "unknown5:",
pImageDbgHeader->unknown5);
printf(" %-*s%08X\n", headerFieldWidth, "unknown6:",
pImageDbgHeader->unknown6);
printf(" %-*s%08X\n", headerFieldWidth, "unknown7:",
pImageDbgHeader->unknown7);
}
void DumpDbgFile( PIMAGE_DBG_HEADER pImageDbgHeader )
{
DumpImageDbgHeader(pImageDbgHeader);
printf("\n");
DumpSectionTable( (PIMAGE_SECTION_HEADER)(pImageDbgHeader+1),
pImageDbgHeader->NumberOfSections, TRUE);
DumpDebugDirectory(
MakePtr(PIMAGE_DEBUG_DIRECTORY,
pImageDbgHeader, sizeof(IMAGE_DBG_HEADER) +
(pImageDbgHeader->NumberOfSections * sizeof(IMAGE_SECTION_HEADER))
+ pImageDbgHeader->OffsetOfDebugDirectory),
pImageDbgHeader->SizeOfDebugDirectory,
(DWORD)pImageDbgHeader);
printf("\n");
if ( PCOFFDebugInfo )
DumpCOFFHeader( PCOFFDebugInfo );
printf("\n");
DumpSymbolTable( MakePtr(PIMAGE_SYMBOL, PCOFFDebugInfo,
PCOFFDebugInfo->LvaToFirstSymbol),
PCOFFDebugInfo->NumberOfSymbols );
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?