@@ -95,8 +95,11 @@ GenericHeaders::GenericHeaders(BinaryViewRef data)
9595 AddField (" Type" , QString::fromStdString (data->GetTypeName ()));
9696 if (data->GetDefaultPlatform ())
9797 AddField (" Platform" , QString::fromStdString (data->GetDefaultPlatform ()->GetName ()));
98- if (data->IsValidOffset (data->GetEntryPoint ()))
98+ auto entryFunctions = data->GetAllEntryFunctions ();
99+ if (!entryFunctions.empty () && data->GetEntryPoint () != 0 )
99100 AddField (" Entry Point" , QString (" 0x" ) + QString::number (data->GetEntryPoint (), 16 ), CodeHeaderField);
101+ else
102+ AddField (" Entry Point" , " None" );
100103 if (data->IsValidOffset (data->GetStart ()))
101104 AddField (" Current Base" , QString (" 0x" ) + QString::number (data->GetStart (), 16 ), AddressHeaderField);
102105 AddField (" Endianness" , data->GetDefaultEndianness () == BigEndian ? " Big" : " Little" );
@@ -128,8 +131,11 @@ PEHeaders::PEHeaders(BinaryViewRef data)
128131 AddField (" Type" , QString::fromStdString (data->GetTypeName ()));
129132 if (data->GetDefaultPlatform ())
130133 AddField (" Platform" , QString::fromStdString (data->GetDefaultPlatform ()->GetName ()));
131- if (data->IsValidOffset (data->GetEntryPoint ()))
134+ auto entryFunctions = data->GetAllEntryFunctions ();
135+ if (!entryFunctions.empty () && data->GetEntryPoint () != 0 )
132136 AddField (" Entry Point" , QString (" 0x" ) + QString::number (data->GetEntryPoint (), 16 ), CodeHeaderField);
137+ else
138+ AddField (" Entry Point" , " None" );
133139 return ;
134140 }
135141
@@ -159,7 +165,11 @@ PEHeaders::PEHeaders(BinaryViewRef data)
159165 AddField (" Image Base" , QString (" 0x" ) + QString::number (base, 16 ), AddressHeaderField);
160166
161167 uint64_t entryPoint = currentBase + GetValueOfStructMember (data, optHeaderName, optHeaderStart, " addressOfEntryPoint" );
162- AddField (" Entry Point" , QString (" 0x" ) + QString::number (entryPoint, 16 ), CodeHeaderField);
168+ auto entryFunctions = data->GetAllEntryFunctions ();
169+ if (!entryFunctions.empty () && entryPoint != 0 )
170+ AddField (" Entry Point" , QString (" 0x" ) + QString::number (entryPoint, 16 ), CodeHeaderField);
171+ else
172+ AddField (" Entry Point" , " None" );
163173
164174 uint64_t sectionAlign = GetValueOfStructMember (data, optHeaderName, optHeaderStart, " sectionAlignment" );
165175 AddField (" Section Alignment" , QString (" 0x" ) + QString::number (sectionAlign, 16 ));
0 commit comments