diff --git a/_debug_dir_wrapper_8cpp_source.html b/_debug_dir_wrapper_8cpp_source.html index b5b8b9db..8ed8e9ef 100644 --- a/_debug_dir_wrapper_8cpp_source.html +++ b/_debug_dir_wrapper_8cpp_source.html @@ -95,335 +95,340 @@ $(function() {
16
17*/
18
-
19IMAGE_DEBUG_DIRECTORY* DebugDirWrapper::debugDir()
+
19bool DebugDirWrapper::loadNextEntry(const size_t cntr)
20{
-
21 offset_t rva = getDirEntryAddress();
-
22
-
23 BYTE *ptr = m_Exe->getContentAt(rva, Executable::RVA, sizeof(IMAGE_DEBUG_DIRECTORY));
-
24 if (!ptr) return NULL;
-
25
-
26 return (IMAGE_DEBUG_DIRECTORY*) ptr;
-
27}
-
28
-
29bool DebugDirWrapper::wrap()
-
30{
-
31 if (this->getDebugStruct()) {
-
32 DebugDirCVEntryWrapper *cvWrapper = new DebugDirCVEntryWrapper(m_Exe, this);
-
33 this->entries.push_back(cvWrapper);
-
34 }
-
35 return true;
-
36}
+
21 const size_t dirSize = this->getSize();
+
22 const size_t entriesCount = dirSize / sizeof(IMAGE_DEBUG_DIRECTORY);
+
23 if (cntr >= entriesCount) {
+
24 return false;
+
25 }
+
26
+
27 DebugDirEntryWrapper* dbgEntry = new DebugDirEntryWrapper(m_PE, this, cntr);
+
28 if (!dbgEntry || !dbgEntry->getPtr()) {
+
29 delete dbgEntry;
+
30 return false;
+
31 }
+
32 entries.push_back(dbgEntry);
+
33 return true;
+
34}
+
35
+
36//---
37
-
38
-
39void* DebugDirWrapper::getPtr()
-
40{
-
41 return debugDir();
-
42}
-
43
-
44bufsize_t DebugDirWrapper::getSize()
-
45{
-
46 if (!getPtr()) return 0;
-
47 return sizeof(IMAGE_DEBUG_DIRECTORY);
-
48}
-
49
-
50QString DebugDirWrapper::getName()
-
51{
-
52 return "Debug";
-
53}
-
54
-
55
-
56void* DebugDirWrapper::getFieldPtr(size_t fId, size_t subField)
-
57{
-
58 IMAGE_DEBUG_DIRECTORY* d = debugDir();
-
59 if (d == NULL) return NULL;
-
60
-
61 switch (fId) {
-
62 case CHARACTERISTIC: return &d->Characteristics;
-
63 case TIMESTAMP: return &d->TimeDateStamp;
-
64 case MAJOR_VER: return &d->MajorVersion;
-
65 case MINOR_VER: return &d->MinorVersion;
-
66 case TYPE: return &d->Type;
-
67 case DATA_SIZE: return &d->SizeOfData;
-
68 case RAW_DATA_ADDR: return &d->AddressOfRawData;
-
69 case RAW_DATA_PTR: return &d->PointerToRawData;
-
70 }
-
71 return this->getPtr();
-
72}
-
73
-
74QString DebugDirWrapper::getFieldName(size_t fieldId)
-
75{
-
76 switch (fieldId) {
-
77 case CHARACTERISTIC: return "Characteristics";
-
78 case TIMESTAMP: return "TimeDateStamp";
-
79 case MAJOR_VER: return "MajorVersion";
-
80 case MINOR_VER: return "MinorVersion";
-
81 case TYPE: return "Type";
-
82 case DATA_SIZE: return "SizeOfData";
-
83 case RAW_DATA_ADDR: return "AddressOfRawData";
-
84 case RAW_DATA_PTR: return "PointerToRawData";
-
85 }
-
86 return getName();
-
87}
-
88
-
89Executable::addr_type DebugDirWrapper::containsAddrType(size_t fieldId, size_t subField)
-
90{
-
91 switch (fieldId) {
-
92 case RAW_DATA_ADDR: return Executable::RVA;
-
93 case RAW_DATA_PTR: return Executable::RAW;
-
94 }
-
95 return Executable::NOT_ADDR;
-
96}
-
97
-
98QString DebugDirWrapper::translateType(int type)
-
99{
-
100 switch (type) {
-
101 case pe::DT_UNKNOWN : return "unknown";
-
102 case pe::DT_COFF : return "COFF";
-
103 case pe::DT_CODEVIEW : return "Visual C++ (CodeView)";
-
104 case pe::DT_FPO : return "frame pointer omission";
-
105 case pe::DT_MISC : return "DBG file";
-
106 case pe::DT_EXCEPTION : return "A copy of .pdata section";
-
107 case pe::DT_FIXUP : return "Reserved";
-
108 case pe::DT_OMAP_TO_SRC : return "mapping from an RVA in image to an RVA in source image";
-
109 case pe::DT_OMAP_FROM_SRC : return "mapping from an RVA in source image to an RVA in image";
-
110 case pe::DT_BORLAND : return "Borland";
-
111 case pe::DT_RESERVED10 : return "Reserved";
-
112 case pe::DT_CLSID : return "CLSID";
-
113 case pe::DT_VC_FEATURE : return "VC Feature";
-
114 case pe::DT_POGO : return "POGO";
-
115 case pe::DT_ILTCG : return "ILTCG";
-
116 case pe::DT_MPX : return "MPX";
-
117 case pe::DT_REPRO : return "REPRO";
-
118 }
-
119 return "";
-
120}
-
121
-
122QString DebugDirWrapper::translateFieldContent(size_t fieldId)
-
123{
-
124 if (fieldId != TYPE) return "";
-
125
-
126 IMAGE_DEBUG_DIRECTORY* d = debugDir();
-
127 if (d == NULL) return NULL;
-
128
-
129 return translateType(d->Type);
-
130}
-
131
-
132BYTE* DebugDirWrapper::getDebugStruct()
-
133{
-
134 IMAGE_DEBUG_DIRECTORY* d = debugDir();
-
135 if (d == NULL) return NULL;
-
136 if (d->Type != DT_CODEVIEW) {
-
137 return NULL;
-
138 }
-
139 offset_t rva = d->PointerToRawData;
-
140 size_t dirSize = d->SizeOfData;
-
141 return m_Exe->getContentAt(rva, Executable::RAW, dirSize);
-
142}
-
143
-
144DEBUG_RSDSI* DebugDirWrapper::getRDSI()
-
145{
-
146 BYTE* debugStr = getDebugStruct();
-
147 IMAGE_DEBUG_DIRECTORY* d = debugDir();
-
148 if (!debugStr || !d) return NULL;
-
149 if (d->SizeOfData < sizeof(DEBUG_RSDSI)) {
-
150 return NULL;
-
151 }
-
152 DEBUG_RSDSI* rdsi = (DEBUG_RSDSI*)debugStr;
-
153 if (rdsi->dwSig == CV_SIGNATURE_RSDS) {
-
154 return rdsi;
-
155 }
-
156 return NULL;
-
157}
-
158
-
159pe::DEBUG_NB10* DebugDirWrapper::getNB10()
-
160{
-
161 BYTE* debugStr = getDebugStruct();
-
162 IMAGE_DEBUG_DIRECTORY* d = debugDir();
-
163 if (!debugStr || !d) return NULL;
-
164 if (d->SizeOfData < sizeof(DEBUG_NB10)) {
-
165 return NULL;
-
166 }
-
167 DEBUG_NB10* nb = (DEBUG_NB10*)debugStr;
-
168 if (nb->cvHdr.CvSignature == CV_SIGNATURE_NB10) {
-
169 return nb;
-
170 }
-
171 return NULL;
-
172}
-
173//-------------------------
-
174
-
175void* DebugDirCVEntryWrapper::getPtr()
-
176{
-
177 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
-
178 if (rdsi) {
-
179 return rdsi;
-
180 }
-
181 return parentDir->getNB10();
-
182}
-
183
-
184bufsize_t DebugDirCVEntryWrapper::getSize()
-
185{
-
186 IMAGE_DEBUG_DIRECTORY* d = parentDir->debugDir();
-
187 if (d == NULL) return 0;
-
188 return d->SizeOfData;
-
189}
-
190
-
191void* DebugDirCVEntryWrapper::getFieldPtr(size_t fId, size_t subField)
-
192{
-
193 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
-
194 if (rdsi) {
-
195 switch (fId) {
-
196 case F_CVDBG_SIGN: return &rdsi->dwSig;
-
197 case F_CVDBG_GUID: return &rdsi->guidSig;
-
198 case F_CVDBG_AGE: return &rdsi->age;
-
199 case F_CVDBG_PDB: return &rdsi->szPdb;
-
200 }
-
201 return rdsi;
-
202 }
-
203 DEBUG_NB10* dbg = parentDir->getNB10();
-
204 if (dbg) {
-
205 switch (fId) {
-
206 case F_CVDBG_SIGN: return &dbg->cvHdr.CvSignature;
-
207 case F_CVDBG_GUID: return &dbg->Signature;
-
208 case F_CVDBG_AGE: return &dbg->Age;
-
209 case F_CVDBG_PDB: return &dbg->PdbFileName;
-
210 }
-
211 return dbg;
-
212 }
-
213 return NULL;
-
214}
-
215
-
216QString DebugDirCVEntryWrapper::getGuidString()
-
217{
-
218 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
-
219 if (rdsi) {
-
220 QString chunk4 = "";
-
221 for (size_t i = 0; i < sizeof(rdsi->guidSig.Data4); i++) {
-
222 QString out;
-
223#if QT_VERSION >= 0x050000
-
224 out = QString().asprintf("%02X", rdsi->guidSig.Data4[i]);
-
225#else
-
226 out = QString().sprintf("%02X", rdsi->guidSig.Data4[i]);
-
227#endif
-
228 chunk4 += out;
-
229 }
-
230 QString chunk5 = "";
-
231 for (size_t i = 0; i < sizeof(rdsi->guidSig.Data5); i++) {
-
232 QString out;
-
233#if QT_VERSION >= 0x050000
-
234 out = QString().asprintf("%02X", rdsi->guidSig.Data5[i]);
-
235#else
-
236 out = QString().sprintf("%02X", rdsi->guidSig.Data5[i]);
-
237#endif
-
238 chunk5 += out;
-
239 }
-
240 QString out;
-
241#if QT_VERSION >= 0x050000
-
242 out = QString().asprintf("%08X-%04X-%04X-",
-
243 rdsi->guidSig.Data1,
-
244 rdsi->guidSig.Data2,
-
245 rdsi->guidSig.Data3);
-
246#else
-
247 out = QString().sprintf("%08X-%04X-%04X-",
-
248 rdsi->guidSig.Data1,
-
249 rdsi->guidSig.Data2,
-
250 rdsi->guidSig.Data3);
-
251#endif
-
252 return "{" + out + chunk4 + "-" + chunk5 + "}";
-
253 }
-
254
-
255 DEBUG_NB10* dbg = parentDir->getNB10();
-
256 if (dbg) {
-
257 QString out;
-
258#if QT_VERSION >= 0x050000
-
259 out = QString().asprintf("%04X", dbg->Signature);
-
260#else
-
261 out = QString().sprintf("%04X", dbg->Signature);
-
262#endif
-
263 return out;
-
264 }
-
265 return "";
-
266}
-
267
-
268QString DebugDirCVEntryWrapper::getSignature()
-
269{
-
270 DEBUG_RSDSI* rdsi = (DEBUG_RSDSI*)this->getPtr();
-
271 if (!rdsi) return "";
-
272
-
273 QString out;
-
274#if QT_VERSION >= 0x050000
-
275 out = QString().asprintf("%.4s", (char*)&rdsi->dwSig);
-
276#else
-
277 out = QString().sprintf("%.4s", (char*)&rdsi->dwSig);
-
278#endif
-
279 return out;
-
280}
-
281
-
282QString DebugDirCVEntryWrapper::getFieldName(size_t fId)
-
283{
-
284 switch (fId) {
-
285 case F_CVDBG_SIGN: return "CvSig";
-
286 case F_CVDBG_GUID: return "Signature";
-
287 case F_CVDBG_AGE: return "Age";
-
288 case F_CVDBG_PDB: return "PDB";
-
289 }
-
290 return "";
-
291}
-
292
-
293QString DebugDirCVEntryWrapper::translateFieldContent(size_t fId)
-
294{
-
295 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
-
296 DEBUG_NB10* dbg = parentDir->getNB10();
-
297 if (!rdsi && !dbg) return "";
-
298
-
299 char *pdb = NULL;
-
300 if (rdsi) pdb = (char*)rdsi->szPdb;
-
301 if (dbg) pdb = (char*)dbg->PdbFileName;
-
302
-
303 switch (fId) {
-
304 case F_CVDBG_SIGN: return getSignature();
-
305 case F_CVDBG_GUID: return getGuidString();
-
306 case F_CVDBG_PDB: return pdb ? pdb : "";
-
307 }
-
308 return "";
-
309}
+
38bool DebugDirEntryWrapper::wrap()
+
39{
+
40 if (this->getDebugStruct()) {
+
41 DebugDirCVEntryWrapper *cvWrapper = new DebugDirCVEntryWrapper(m_Exe, this);
+
42 this->entries.push_back(cvWrapper);
+
43 }
+
44 return true;
+
45}
+
46
+
47void* DebugDirEntryWrapper::getPtr()
+
48{
+
49 return debugDir();
+
50}
+
51
+
52bufsize_t DebugDirEntryWrapper::getSize()
+
53{
+
54 if (!getPtr()) return 0;
+
55 return sizeof(IMAGE_DEBUG_DIRECTORY);
+
56}
+
57
+
58void* DebugDirEntryWrapper::getFieldPtr(size_t fId, size_t subField)
+
59{
+
60 IMAGE_DEBUG_DIRECTORY* d = debugDir();
+
61 if (d == NULL) return NULL;
+
62
+
63 switch (fId) {
+
64 case CHARACTERISTIC: return &d->Characteristics;
+
65 case TIMESTAMP: return &d->TimeDateStamp;
+
66 case MAJOR_VER: return &d->MajorVersion;
+
67 case MINOR_VER: return &d->MinorVersion;
+
68 case TYPE: return &d->Type;
+
69 case DATA_SIZE: return &d->SizeOfData;
+
70 case RAW_DATA_ADDR: return &d->AddressOfRawData;
+
71 case RAW_DATA_PTR: return &d->PointerToRawData;
+
72 }
+
73 return this->getPtr();
+
74}
+
75
+
76QString DebugDirEntryWrapper::getFieldName(size_t fieldId)
+
77{
+
78 switch (fieldId) {
+
79 case CHARACTERISTIC: return "Characteristics";
+
80 case TIMESTAMP: return "TimeDateStamp";
+
81 case MAJOR_VER: return "MajorVersion";
+
82 case MINOR_VER: return "MinorVersion";
+
83 case TYPE: return "Type";
+
84 case DATA_SIZE: return "SizeOfData";
+
85 case RAW_DATA_ADDR: return "AddressOfRawData";
+
86 case RAW_DATA_PTR: return "PointerToRawData";
+
87 }
+
88 return getName();
+
89}
+
90
+
91Executable::addr_type DebugDirEntryWrapper::containsAddrType(size_t fieldId, size_t subField)
+
92{
+
93 switch (fieldId) {
+
94 case RAW_DATA_ADDR: return Executable::RVA;
+
95 case RAW_DATA_PTR: return Executable::RAW;
+
96 }
+
97 return Executable::NOT_ADDR;
+
98}
+
99
+
100QString DebugDirEntryWrapper::translateType(int type)
+
101{
+
102 switch (type) {
+
103 case pe::DT_UNKNOWN : return "unknown";
+
104 case pe::DT_COFF : return "COFF";
+
105 case pe::DT_CODEVIEW : return "Visual C++ (CodeView)";
+
106 case pe::DT_FPO : return "Frame pointer omission";
+
107 case pe::DT_MISC : return "DBG file";
+
108 case pe::DT_EXCEPTION : return "A copy of .pdata section";
+
109 case pe::DT_FIXUP : return "Reserved";
+
110 case pe::DT_OMAP_TO_SRC : return "mapping from an RVA in image to an RVA in source image";
+
111 case pe::DT_OMAP_FROM_SRC : return "mapping from an RVA in source image to an RVA in image";
+
112 case pe::DT_BORLAND : return "Borland";
+
113 case pe::DT_RESERVED10 : return "Reserved";
+
114 case pe::DT_CLSID : return "CLSID";
+
115 case pe::DT_VC_FEATURE : return "VC Feature";
+
116 case pe::DT_POGO : return "POGO";
+
117 case pe::DT_ILTCG : return "ILTCG";
+
118 case pe::DT_MPX : return "MPX";
+
119 case pe::DT_REPRO : return "REPRO";
+
120 }
+
121 return "<Unknown>";
+
122}
+
123
+
124QString DebugDirEntryWrapper::translateFieldContent(size_t fieldId)
+
125{
+
126 if (fieldId != TYPE) return "";
+
127
+
128 IMAGE_DEBUG_DIRECTORY* d = debugDir();
+
129 if (d == NULL) return NULL;
+
130
+
131 return translateType(d->Type);
+
132}
+
133
+
134BYTE* DebugDirEntryWrapper::getDebugStruct()
+
135{
+
136 IMAGE_DEBUG_DIRECTORY* d = this->debugDir();
+
137 if (d == NULL) return NULL;
+
138 if (d->Type != DT_CODEVIEW) {
+
139 return NULL;
+
140 }
+
141 offset_t rva = d->PointerToRawData;
+
142 size_t dirSize = d->SizeOfData;
+
143 return m_Exe->getContentAt(rva, Executable::RAW, dirSize);
+
144}
+
145
+
146DEBUG_RSDSI* DebugDirEntryWrapper::getRDSI()
+
147{
+
148 BYTE* debugStr = getDebugStruct();
+
149 IMAGE_DEBUG_DIRECTORY* d = debugDir();
+
150 if (!debugStr || !d) return NULL;
+
151 if (d->SizeOfData < sizeof(DEBUG_RSDSI)) {
+
152 return NULL;
+
153 }
+
154 DEBUG_RSDSI* rdsi = (DEBUG_RSDSI*)debugStr;
+
155 if (rdsi->dwSig == CV_SIGNATURE_RSDS) {
+
156 return rdsi;
+
157 }
+
158 return NULL;
+
159}
+
160
+
161pe::DEBUG_NB10* DebugDirEntryWrapper::getNB10()
+
162{
+
163 BYTE* debugStr = getDebugStruct();
+
164 IMAGE_DEBUG_DIRECTORY* d = debugDir();
+
165 if (!debugStr || !d) return NULL;
+
166 if (d->SizeOfData < sizeof(DEBUG_NB10)) {
+
167 return NULL;
+
168 }
+
169 DEBUG_NB10* nb = (DEBUG_NB10*)debugStr;
+
170 if (nb->cvHdr.CvSignature == CV_SIGNATURE_NB10) {
+
171 return nb;
+
172 }
+
173 return NULL;
+
174}
+
175//-------------------------
+
176
+
177void* DebugDirCVEntryWrapper::getPtr()
+
178{
+
179 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
+
180 if (rdsi) {
+
181 return rdsi;
+
182 }
+
183 return parentDir->getNB10();
+
184}
+
185
+
186bufsize_t DebugDirCVEntryWrapper::getSize()
+
187{
+
188 IMAGE_DEBUG_DIRECTORY* d = parentDir->debugDir();
+
189 if (d == NULL) return 0;
+
190 return d->SizeOfData;
+
191}
+
192
+
193void* DebugDirCVEntryWrapper::getFieldPtr(size_t fId, size_t subField)
+
194{
+
195 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
+
196 if (rdsi) {
+
197 switch (fId) {
+
198 case F_CVDBG_SIGN: return &rdsi->dwSig;
+
199 case F_CVDBG_GUID: return &rdsi->guidSig;
+
200 case F_CVDBG_AGE: return &rdsi->age;
+
201 case F_CVDBG_PDB: return &rdsi->szPdb;
+
202 }
+
203 return rdsi;
+
204 }
+
205 DEBUG_NB10* dbg = parentDir->getNB10();
+
206 if (dbg) {
+
207 switch (fId) {
+
208 case F_CVDBG_SIGN: return &dbg->cvHdr.CvSignature;
+
209 case F_CVDBG_GUID: return &dbg->Signature;
+
210 case F_CVDBG_AGE: return &dbg->Age;
+
211 case F_CVDBG_PDB: return &dbg->PdbFileName;
+
212 }
+
213 return dbg;
+
214 }
+
215 return NULL;
+
216}
+
217
+
218QString DebugDirCVEntryWrapper::getGuidString()
+
219{
+
220 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
+
221 if (rdsi) {
+
222 QString chunk4 = "";
+
223 for (size_t i = 0; i < sizeof(rdsi->guidSig.Data4); i++) {
+
224 QString out;
+
225#if QT_VERSION >= 0x050000
+
226 out = QString().asprintf("%02X", rdsi->guidSig.Data4[i]);
+
227#else
+
228 out = QString().sprintf("%02X", rdsi->guidSig.Data4[i]);
+
229#endif
+
230 chunk4 += out;
+
231 }
+
232 QString chunk5 = "";
+
233 for (size_t i = 0; i < sizeof(rdsi->guidSig.Data5); i++) {
+
234 QString out;
+
235#if QT_VERSION >= 0x050000
+
236 out = QString().asprintf("%02X", rdsi->guidSig.Data5[i]);
+
237#else
+
238 out = QString().sprintf("%02X", rdsi->guidSig.Data5[i]);
+
239#endif
+
240 chunk5 += out;
+
241 }
+
242 QString out;
+
243#if QT_VERSION >= 0x050000
+
244 out = QString().asprintf("%08X-%04X-%04X-",
+
245 rdsi->guidSig.Data1,
+
246 rdsi->guidSig.Data2,
+
247 rdsi->guidSig.Data3);
+
248#else
+
249 out = QString().sprintf("%08X-%04X-%04X-",
+
250 rdsi->guidSig.Data1,
+
251 rdsi->guidSig.Data2,
+
252 rdsi->guidSig.Data3);
+
253#endif
+
254 return "{" + out + chunk4 + "-" + chunk5 + "}";
+
255 }
+
256
+
257 DEBUG_NB10* dbg = parentDir->getNB10();
+
258 if (dbg) {
+
259 QString out;
+
260#if QT_VERSION >= 0x050000
+
261 out = QString().asprintf("%04X", dbg->Signature);
+
262#else
+
263 out = QString().sprintf("%04X", dbg->Signature);
+
264#endif
+
265 return out;
+
266 }
+
267 return "";
+
268}
+
269
+
270QString DebugDirCVEntryWrapper::getSignature()
+
271{
+
272 DEBUG_RSDSI* rdsi = (DEBUG_RSDSI*)this->getPtr();
+
273 if (!rdsi) return "";
+
274
+
275 QString out;
+
276#if QT_VERSION >= 0x050000
+
277 out = QString().asprintf("%.4s", (char*)&rdsi->dwSig);
+
278#else
+
279 out = QString().sprintf("%.4s", (char*)&rdsi->dwSig);
+
280#endif
+
281 return out;
+
282}
+
283
+
284QString DebugDirCVEntryWrapper::getFieldName(size_t fId)
+
285{
+
286 switch (fId) {
+
287 case F_CVDBG_SIGN: return "CvSig";
+
288 case F_CVDBG_GUID: return "Signature";
+
289 case F_CVDBG_AGE: return "Age";
+
290 case F_CVDBG_PDB: return "PDB";
+
291 }
+
292 return "";
+
293}
+
294
+
295QString DebugDirCVEntryWrapper::translateFieldContent(size_t fId)
+
296{
+
297 DEBUG_RSDSI* rdsi = parentDir->getRDSI();
+
298 DEBUG_NB10* dbg = parentDir->getNB10();
+
299 if (!rdsi && !dbg) return "";
+
300
+
301 char *pdb = NULL;
+
302 if (rdsi) pdb = (char*)rdsi->szPdb;
+
303 if (dbg) pdb = (char*)dbg->PdbFileName;
+
304
+
305 switch (fId) {
+
306 case F_CVDBG_SIGN: return getSignature();
+
307 case F_CVDBG_GUID: return getGuidString();
+
308 case F_CVDBG_PDB: return pdb ? pdb : "";
+
309 }
+
310 return "";
+
311}
bufsize_t
uint32_t bufsize_t
Definition: AbstractByteBuffer.h:14
offset_t
uint64_t offset_t
Definition: AbstractByteBuffer.h:17
DebugDirWrapper.h
-
DataDirEntryWrapper::getDirEntryAddress
offset_t getDirEntryAddress()
Definition: DataDirEntryWrapper.cpp:19
-
DebugDirCVEntryWrapper
Definition: DebugDirWrapper.h:55
-
DebugDirCVEntryWrapper::translateFieldContent
QString translateFieldContent(size_t fieldId)
Definition: DebugDirWrapper.cpp:293
-
DebugDirCVEntryWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition: DebugDirWrapper.cpp:282
-
DebugDirCVEntryWrapper::getSignature
QString getSignature()
Definition: DebugDirWrapper.cpp:268
-
DebugDirCVEntryWrapper::F_CVDBG_SIGN
@ F_CVDBG_SIGN
Definition: DebugDirWrapper.h:60
-
DebugDirCVEntryWrapper::F_CVDBG_GUID
@ F_CVDBG_GUID
Definition: DebugDirWrapper.h:61
-
DebugDirCVEntryWrapper::F_CVDBG_AGE
@ F_CVDBG_AGE
Definition: DebugDirWrapper.h:62
-
DebugDirCVEntryWrapper::F_CVDBG_PDB
@ F_CVDBG_PDB
Definition: DebugDirWrapper.h:63
-
DebugDirCVEntryWrapper::getPtr
virtual void * getPtr()
Definition: DebugDirWrapper.cpp:175
-
DebugDirCVEntryWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField=FIELD_NONE)
Definition: DebugDirWrapper.cpp:191
-
DebugDirCVEntryWrapper::getGuidString
QString getGuidString()
Definition: DebugDirWrapper.cpp:216
-
DebugDirCVEntryWrapper::getSize
virtual bufsize_t getSize()
Definition: DebugDirWrapper.cpp:184
-
DebugDirWrapper::getDebugStruct
BYTE * getDebugStruct()
Definition: DebugDirWrapper.cpp:132
-
DebugDirWrapper::getRDSI
pe::DEBUG_RSDSI * getRDSI()
Definition: DebugDirWrapper.cpp:144
-
DebugDirWrapper::translateFieldContent
QString translateFieldContent(size_t fieldId)
Definition: DebugDirWrapper.cpp:122
-
DebugDirWrapper::translateType
QString translateType(int type)
Definition: DebugDirWrapper.cpp:98
-
DebugDirWrapper::getSize
virtual bufsize_t getSize()
Definition: DebugDirWrapper.cpp:44
-
DebugDirWrapper::getName
virtual QString getName()
Definition: DebugDirWrapper.cpp:50
-
DebugDirWrapper::containsAddrType
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField=FIELD_NONE)
Definition: DebugDirWrapper.cpp:89
-
DebugDirWrapper::TIMESTAMP
@ TIMESTAMP
Definition: DebugDirWrapper.h:13
-
DebugDirWrapper::CHARACTERISTIC
@ CHARACTERISTIC
Definition: DebugDirWrapper.h:12
-
DebugDirWrapper::RAW_DATA_PTR
@ RAW_DATA_PTR
Definition: DebugDirWrapper.h:19
-
DebugDirWrapper::MINOR_VER
@ MINOR_VER
Definition: DebugDirWrapper.h:15
-
DebugDirWrapper::TYPE
@ TYPE
Definition: DebugDirWrapper.h:16
-
DebugDirWrapper::DATA_SIZE
@ DATA_SIZE
Definition: DebugDirWrapper.h:17
-
DebugDirWrapper::MAJOR_VER
@ MAJOR_VER
Definition: DebugDirWrapper.h:14
-
DebugDirWrapper::RAW_DATA_ADDR
@ RAW_DATA_ADDR
Definition: DebugDirWrapper.h:18
-
DebugDirWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition: DebugDirWrapper.cpp:74
-
DebugDirWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField)
Definition: DebugDirWrapper.cpp:56
-
DebugDirWrapper::getNB10
pe::DEBUG_NB10 * getNB10()
Definition: DebugDirWrapper.cpp:159
-
DebugDirWrapper::DebugDirCVEntryWrapper
friend class DebugDirCVEntryWrapper
Definition: DebugDirWrapper.h:50
-
DebugDirWrapper::debugDir
IMAGE_DEBUG_DIRECTORY * debugDir()
Definition: DebugDirWrapper.cpp:19
-
DebugDirWrapper::wrap
bool wrap()
Definition: DebugDirWrapper.cpp:29
-
DebugDirWrapper::getPtr
virtual void * getPtr()
Definition: DebugDirWrapper.cpp:39
+
DebugDirCVEntryWrapper
Definition: DebugDirWrapper.h:130
+
DebugDirCVEntryWrapper::translateFieldContent
QString translateFieldContent(size_t fieldId)
Definition: DebugDirWrapper.cpp:295
+
DebugDirCVEntryWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition: DebugDirWrapper.cpp:284
+
DebugDirCVEntryWrapper::getSignature
QString getSignature()
Definition: DebugDirWrapper.cpp:270
+
DebugDirCVEntryWrapper::F_CVDBG_SIGN
@ F_CVDBG_SIGN
Definition: DebugDirWrapper.h:135
+
DebugDirCVEntryWrapper::F_CVDBG_GUID
@ F_CVDBG_GUID
Definition: DebugDirWrapper.h:136
+
DebugDirCVEntryWrapper::F_CVDBG_AGE
@ F_CVDBG_AGE
Definition: DebugDirWrapper.h:137
+
DebugDirCVEntryWrapper::F_CVDBG_PDB
@ F_CVDBG_PDB
Definition: DebugDirWrapper.h:138
+
DebugDirCVEntryWrapper::getPtr
virtual void * getPtr()
Definition: DebugDirWrapper.cpp:177
+
DebugDirCVEntryWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField=FIELD_NONE)
Definition: DebugDirWrapper.cpp:193
+
DebugDirCVEntryWrapper::getGuidString
QString getGuidString()
Definition: DebugDirWrapper.cpp:218
+
DebugDirCVEntryWrapper::getSize
virtual bufsize_t getSize()
Definition: DebugDirWrapper.cpp:186
+
DebugDirEntryWrapper
Definition: DebugDirWrapper.h:65
+
DebugDirEntryWrapper::getRDSI
pe::DEBUG_RSDSI * getRDSI()
Definition: DebugDirWrapper.cpp:146
+
DebugDirEntryWrapper::wrap
bool wrap()
Definition: DebugDirWrapper.cpp:38
+
DebugDirEntryWrapper::getName
virtual QString getName()
Definition: DebugDirWrapper.h:94
+
DebugDirEntryWrapper::translateFieldContent
QString translateFieldContent(size_t fieldId)
Definition: DebugDirWrapper.cpp:124
+
DebugDirEntryWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition: DebugDirWrapper.cpp:76
+
DebugDirEntryWrapper::getPtr
virtual void * getPtr()
Definition: DebugDirWrapper.cpp:47
+
DebugDirEntryWrapper::RAW_DATA_PTR
@ RAW_DATA_PTR
Definition: DebugDirWrapper.h:77
+
DebugDirEntryWrapper::MINOR_VER
@ MINOR_VER
Definition: DebugDirWrapper.h:73
+
DebugDirEntryWrapper::CHARACTERISTIC
@ CHARACTERISTIC
Definition: DebugDirWrapper.h:70
+
DebugDirEntryWrapper::TYPE
@ TYPE
Definition: DebugDirWrapper.h:74
+
DebugDirEntryWrapper::MAJOR_VER
@ MAJOR_VER
Definition: DebugDirWrapper.h:72
+
DebugDirEntryWrapper::DATA_SIZE
@ DATA_SIZE
Definition: DebugDirWrapper.h:75
+
DebugDirEntryWrapper::TIMESTAMP
@ TIMESTAMP
Definition: DebugDirWrapper.h:71
+
DebugDirEntryWrapper::RAW_DATA_ADDR
@ RAW_DATA_ADDR
Definition: DebugDirWrapper.h:76
+
DebugDirEntryWrapper::getSize
virtual bufsize_t getSize()
Definition: DebugDirWrapper.cpp:52
+
DebugDirEntryWrapper::debugDir
IMAGE_DEBUG_DIRECTORY * debugDir()
Definition: DebugDirWrapper.h:113
+
DebugDirEntryWrapper::DebugDirCVEntryWrapper
friend class DebugDirCVEntryWrapper
Definition: DebugDirWrapper.h:125
+
DebugDirEntryWrapper::getNB10
pe::DEBUG_NB10 * getNB10()
Definition: DebugDirWrapper.cpp:161
+
DebugDirEntryWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField)
Definition: DebugDirWrapper.cpp:58
+
DebugDirEntryWrapper::getDebugStruct
BYTE * getDebugStruct()
Definition: DebugDirWrapper.cpp:134
+
DebugDirEntryWrapper::containsAddrType
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField=FIELD_NONE)
Definition: DebugDirWrapper.cpp:91
+
DebugDirEntryWrapper::translateType
QString translateType(int type)
Definition: DebugDirWrapper.cpp:100
+
DebugDirWrapper::DebugDirEntryWrapper
friend class DebugDirEntryWrapper
Definition: DebugDirWrapper.h:60
+
DebugDirWrapper::loadNextEntry
virtual bool loadNextEntry(const size_t cntr)
Definition: DebugDirWrapper.cpp:19
+
DebugDirWrapper::getSize
virtual bufsize_t getSize()
Definition: DebugDirWrapper.h:15
ExeElementWrapper::m_Exe
Executable * m_Exe
Definition: ExeElementWrapper.h:65
ExeNodeWrapper::entries
std::vector< ExeNodeWrapper * > entries
Definition: ExeNodeWrapper.h:54
Executable::addr_type
addr_type
Definition: Executable.h:35
@@ -431,6 +436,7 @@ $(function() {
Executable::RVA
@ RVA
Definition: Executable.h:38
Executable::RAW
@ RAW
Definition: Executable.h:37
Executable::getContentAt
BYTE * getContentAt(offset_t offset, bufsize_t size, bool allowExceptions=false)
Definition: Executable.h:57
+
PENodeWrapper::m_PE
PEFile * m_PE
Definition: PENodeWrapper.h:36