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

RzSearch refactor #4762

Draft
wants to merge 9 commits into
base: dev
Choose a base branch
from
Draft

RzSearch refactor #4762

wants to merge 9 commits into from

Conversation

Rot127
Copy link
Member

@Rot127 Rot127 commented Dec 10, 2024

WIP

Your checklist for this pull request

  • I've read the guidelines for contributing to this repository
  • I made sure to follow the project's coding style
  • I've documented or updated the documentation of every function and struct this PR changes. If not so I've explained why.
  • I've added tests that prove my fix is effective or that my feature works (if possible)
  • I've updated the rizin book with the relevant information (if needed)

Detailed description

What happens here:
Slowly copying changes from https://github.com/Rot127/rizin/tree/rz-search-reference (which is #4742 with some comments already addressed).

Will resend to fuzz-dist when all the tests pass here.

Stuff to do (without any order)

  • Move essential changes from https://github.com/Rot127/rizin/tree/rz-search-reference / Add / (search) commands to newshell + rewrite of rz_search #4742 before starting with commands
  • Fix commands
  • Update book (with example API implementation).
  • Implement general search IO API which doesn't require knowledge of search spaces (what rz_search_run() was before).
  • Show progress of search.
  • Use RzBuffer for byte space searches
  • search.align shoudl default to search.alignment=asm.cpu_bits/8.
  • (Optional) Allow to cancel search with ctrl + c
  • (Optional) Extend RzSearchHit to hold more complex data.
  • (Optional) Add option to define search/divide strategy.
  • (Optional) Dispatch views into IO as chunks to the find() callback.

Test plan

...

Closing issues

closes #1586

This makes only small edits (renames) to keep the build working.
This sets search.overlap=true by default.
Mostly because I think this what people expect.
Also, with the search.align or search.alignment there are way
better options to consider for seraching not overlapping data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port / (search) to rzshell
1 participant