Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzing improvements and bugfixes #466

Merged
merged 3 commits into from
Dec 9, 2023
Merged

Conversation

mappzor
Copy link
Contributor

@mappzor mappzor commented Dec 9, 2023

I'm putting 3 changes in this PR because fuzzers naturally depend on bugfixes and those are one-liners anyway. Having separate pull requests would be an overkill and they would have to be merged in a specific order. I've kept one change per commit for clarity.

Changes:

  • Fuzzing ZydisEncoderEncodeInstructionAbsolute - primary goal of this PR, doesn't need much explanation. Although ZydisTestEncoderAbsolute aims to cover every case some stuff went unnoticed like Encoder generates wrong relative offset with bnd prefix #463. Fuzzing is a valuable 2nd layer of testing here.
  • 3DNow! handling - first and hopefully the last issue found by new fuzzing logic. 3DNow! instructions have extra opcode byte at the end and that confused logic inside ZydisEncoderEncodeInstructionAbsolute.
  • Enable IPREFETCH mode by default - we had it documented as enabled by default while it wasn't

Copy link
Member

@flobernd flobernd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you!

Copy link
Member

@athre0z athre0z left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as well!

@athre0z athre0z merged commit 04c6c1b into zyantific:master Dec 9, 2023
13 checks passed
@mappzor mappzor deleted the absolute_fixes branch December 9, 2023 16:16
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.

None yet

3 participants