rizin/librz
Rot127 42dc673fa5 String/Hex-Search 6/9: Add core implementation of new search (by deroad).
Adds the core implementation of the new search.

The rough architecture is the following:

A search for a certain type of information (strings, bytes, keys etc.)
creates a collections of items to search for (byte patterns, regular expressions etc.).

Then specifies some settings how the search (number of threads, maxum hits...)
and the finding is performed (string length, inverse match etc.).

It also defines a search space, which is currently only the IO buffer.
But can be anything in the future, like a graphs or the knowledge base.

The search splits up the search space into windows (for IO: address ranges)
and dispatches each search window into a 'find()' thread.

The 'find()' handler (provided by a specific search implementation)
checks the given window and produces search hits matching the elements in the search collection.

The main search handler collects the hits of the dispatched workers
and returns them to the user.

Note: The byte and string search implementations are added in the next two commits.

Part 6/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
..
arch String/Hex-Search 3/9: Rename search related config values. 2025-02-22 04:12:49 +08:00
bin String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
bp refactor: Use HtSP for storing plugins. (#4687) 2024-10-26 16:31:13 +08:00
config Split rz_core_get_boundaries_prot and rewrite the code. (#4724) 2024-11-19 12:51:26 +08:00
cons ^ grep op: Skip whitespace (#4875) 2025-02-02 13:09:07 +08:00
core String/Hex-Search 6/9: Add core implementation of new search (by deroad). 2025-02-22 04:12:49 +08:00
crypto Remove dead code (#4705) 2024-11-08 18:46:13 +08:00
debug String/Hex-Search 1/9: Add hexadecimal number helpers, doxygen and type annotations. 2025-02-22 04:12:49 +08:00
demangler Add missing newlines to some RZ_LOG_* calls (#4439) 2024-04-18 00:04:38 +08:00
diff Add HtSP, HtSS, HtSU, SetS (#4415) 2024-04-16 20:27:48 +08:00
egg Remove dead code (#4705) 2024-11-08 18:46:13 +08:00
flag Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
hash refactor: Use HtSP for storing plugins. (#4687) 2024-10-26 16:31:13 +08:00
il rzil: add VM event memory (read|write) index (#4789) 2024-12-24 23:35:42 +08:00
include String/Hex-Search 6/9: Add core implementation of new search (by deroad). 2025-02-22 04:12:49 +08:00
io Mark rz_io_read_at as deprecated, as the comment already states. 2025-02-13 22:55:33 +08:00
lang Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
magic /e: Set NUL (\0) as newline (#4862) 2025-01-25 19:07:34 +08:00
main String/Hex-Search 3/9: Rename search related config values. 2025-02-22 04:12:49 +08:00
reg Fix leaks during register profile parsing. (#4813) 2025-01-02 15:03:31 +00:00
search String/Hex-Search 6/9: Add core implementation of new search (by deroad). 2025-02-22 04:12:49 +08:00
sign Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
socket String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
syscall Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
type String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
util String/Hex-Search 6/9: Add core implementation of new search (by deroad). 2025-02-22 04:12:49 +08:00
meson.build String/Hex-Search 6/9: Add core implementation of new search (by deroad). 2025-02-22 04:12:49 +08:00
plugins.h.in Merge rz_asm and rz_analysis into one library but keep deprecated apis. 2024-03-07 18:38:49 +08:00
README.md librz: add some initial documentation (#3782) 2023-10-13 13:46:19 +08:00
RizinConfig.cmake.in fix sign cmake library (#4595) 2024-08-19 14:12:42 +08:00
RzModulesConfig.cmake.in

Rizin Libs (librz)

The Rizin framework is composed of several pieces that work together to provide a reverse-engineering framework useful for a variety of use-cases and tasks. All tools present in binrz are based on the libraries present in this directory, so getting a general idea of what these libraries are and do is key to navigate the codebase.