Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entries that are not functions in PE exports table

I've looked at an export table of a specific DLL and Iv'e seen some strange entries in the table so I tried to find an answer to this issue in the pecoff specification and didn't find any and I hope that someone maybe have one.

I ran a dumpbin on a certain DLL (Qt5Core.dll) and found that the exports table have entries that are not functions - > there are entries that their addresses point to the .data section and the .rdata sections... for example:

const QAbstractState::`vftable' 67366E0C 1470 QMetaObject const QEventTransition::staticMetaObject 673C15A8 6160 QCoreApplication * QCoreApplication::self 6746180C 5504

It seems like some c++ variables and I wondered why are they in the exports table? Thanks!

like image 310
sborpo Avatar asked Feb 01 '26 18:02

sborpo


1 Answers

NumberOfFunctions Total number of functions/symbols that are exported by this module.

NumberOfNames Number of functions/symbols that are exported by name. This value is not the number of ALL functions/symbols in the module. For that number, you need to check NumberOfFunctions. This value can be 0. In that case, the module may export by ordinal only. If there is no function/symbol to be exported in the first case, the RVA of the export table in the data directory will be 0.

From the above we conclude that the ordinal table lists only the number of exports that actually have a name.

Source: http://win32assembly.programminghorizon.com/pe-tut7.html

like image 88
Muhammad Hashim Shafiq Avatar answered Feb 04 '26 10:02

Muhammad Hashim Shafiq



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!