Skip to content

Conversation

@Jujstme
Copy link
Collaborator

@Jujstme Jujstme commented Jan 20, 2026

The code for recovering the PE export entries previously assumed that every function/symbol exported into the PE export table had a given name. However, this is a false assumption, as some functions can be exported just by their ordinal and without a name.

In practice, the previous code was flawed as it might've reported garbage data if the number of named functions and the number of globally exported functions did not match.

This PR fixes this issue by checking the name ordinals array, reading the index i of the corresponding ordinal and using it to recover the correct index into into the function address array.

The code for recovering the PE export entries previously assumed that every function/symbol exported into the export table had a given name. However, this is a false assumption, as some functions can be exported just by their ordinal.

In practice, the previous code was flawed as it might've reported garbage data if the number of named function and the name of globally exported functions did not match.

This PR fixes this issue by checking the name ordinals array, reading the index `i` of the corresponding ordinal and using it to recover the correct index into into the function address array.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant