Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what's the difference between ordinal and hint number in the native dll?

I would like to know any difference between ordinal and hint value in the native dlls? Anyone knows?

like image 839
user705414 Avatar asked Oct 29 '25 14:10

user705414


1 Answers

Ordinals can be thought of as the alternative (internal) name of a exported function (All exports have a ordinal and some only have the ordinal a.k.a. NONAME). They were common in 16-bit windows but not so much these days (The import/export tables are smaller if you don't include the "string name"). They are slightly faster for the loader to look-up and are often used for undocumented functions. The downside is that they might not be stable from release to release.

The hint is used by the loader as a shortcut into the dll export table, if the hint offset does not match the expected function name the normal search is used.

Take a look at An In-Depth Look into the Win32 Portable Executable File Format for more details about the different PE sections.

like image 82
Anders Avatar answered Oct 31 '25 16:10

Anders



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!