Skip to content

Commit

Permalink
[FEATURE] Print CodeView fields content
Browse files Browse the repository at this point in the history
  • Loading branch information
hasherezade committed Aug 29, 2022
1 parent 34102ed commit 758d0ad
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
2 changes: 2 additions & 0 deletions parser/include/bearparser/pe/DebugDirWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ class DebugDirCVEntryWrapper : public ExeNodeWrapper
virtual QString getFieldName(size_t fieldId);
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField) { return Executable::NOT_ADDR; }

QString translateFieldContent(size_t fieldId);

//this wrapper only:
QString getGuidString();
QString getSignature();
Expand Down
25 changes: 21 additions & 4 deletions parser/pe/DebugDirWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -282,11 +282,28 @@ QString DebugDirCVEntryWrapper::getSignature()
QString DebugDirCVEntryWrapper::getFieldName(size_t fId)
{
switch (fId) {
case F_CVDBG_SIGN: return "CvSig";
case F_CVDBG_GUID: return "Signature";
case F_CVDBG_AGE: return "Age";
case F_CVDBG_PDB: return "PDB";
case F_CVDBG_SIGN: return "CvSig";
case F_CVDBG_GUID: return "Signature";
case F_CVDBG_AGE: return "Age";
case F_CVDBG_PDB: return "PDB";
}
return "";
}

QString DebugDirCVEntryWrapper::translateFieldContent(size_t fId)
{
DEBUG_RSDSI* rdsi = parentDir->getRDSI();
DEBUG_NB10* dbg = parentDir->getNB10();
if (!rdsi && !dbg) return "";

char *pdb = NULL;
if (rdsi) pdb = (char*)rdsi->szPdb;
if (dbg) pdb = (char*)dbg->PdbFileName;

switch (fId) {
case F_CVDBG_SIGN: return getSignature();
case F_CVDBG_GUID: return getGuidString();
case F_CVDBG_PDB: return pdb ? pdb : "";
}
return "";
}

0 comments on commit 758d0ad

Please sign in to comment.