rizin/librz/util
Rot127 9705b44f6e
Enable string search collection to search for multiple encodings. (#5378)
* Enable string search collection to search for multiple encodings.

This moves the encoding and alignment properties out of the collection
object into the RzDetectedStr object.
It essentially removes duplicates of this info.

Because of this move, rz_search_collection_string_add() will now
check for invalid collection configurations.

* Rename type -> encoding
2025-09-17 10:54:31 +08:00
..
float librz/util/float: fix cast of negative zero to integer. (#5291) 2025-08-06 00:06:43 +08:00
ht Improve performance of string search. (#5262) 2025-09-11 22:29:20 +08:00
sdb Remove global variables from sdb/main.c (#5284) 2025-07-23 19:17:25 +00:00
alloc.c
annotated_code.c Add missing vector foreach macros to clang-format cfg (#4456) 2024-04-22 07:16:46 +08:00
ascii_table.c
asn1.c Implement /cm and remove /cd /ca /cr 2025-03-04 02:45:15 +08:00
asn1_oids.h Implement /cm and remove /cd /ca /cr 2025-03-04 02:45:15 +08:00
assert.c
astr.c
axml.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
axml_resources.h
base16.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base32.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base36.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base64.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base85.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
base91.c
big-gmp.c
big-ssl.c
big.c Remove useless semicolon 2024-03-25 18:36:02 +08:00
bits.c Add a helper function to spread value bits according to mask. 2025-08-20 22:31:02 +08:00
bitvector.c Fix some coverity issues. (#5043) 2025-03-27 12:38:42 +08:00
buf.c String search integration tests (#5358) 2025-09-14 11:44:14 +08:00
buf_bytes.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_file.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_io.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_io_fd.c RzBuffer consistency and make buffer type public (#4666) 2024-10-12 11:27:21 +02:00
buf_mmap.c
buf_ref.c
buf_sparse.c
calc.c
chmod.c
compression.c dwarf: fix loading big Zlib sections 2024-08-15 22:51:42 +08:00
debruijn.c
ebcdic.c String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
event.c Add missing vector foreach macros to clang-format cfg (#4456) 2024-04-22 07:16:46 +08:00
file.c doc: add some rz_file_*() functions descriptions (#4991) 2025-03-12 11:41:17 +08:00
getopt.c
graph.c
graph_drawable.c
hex.c librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271) 2025-08-17 15:26:25 +08:00
idpool.c
intervaltree.c
iterator.c refactor: Use HtSP for storing plugins. (#4687) 2024-10-26 16:31:13 +08:00
itv.c librz/util: implement a bounded interval. (#4977) 2025-03-09 15:24:07 +08:00
json_indent.c librz/core/cmd: convert pj to RzShell (#4726) 2024-11-24 10:20:06 +08:00
json_parser.c Rename RzRune to RzCodePoint. (#4860) 2025-01-24 20:39:04 +08:00
lang_byte_array.c Add missing newlines to some RZ_LOG_* calls (#4439) 2024-04-18 00:04:38 +08:00
lib.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
list.c /z: Remove hit dupes (#5029) 2025-03-23 21:08:49 +08:00
log.c Replace rz_core_warn_after_output function with RZ_LOG_WARN_AFTER macro (#5227) 2025-06-27 15:03:42 +08:00
luhn.c
mem.c Add several memory helpers (required for speed up of string search). (#5372) 2025-09-17 00:07:44 +08:00
meson.build Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
name.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
path.c Remove Global/Static variables in path.c to make it thread safe (#5148) 2025-06-13 21:34:33 +08:00
pj.c
pkcs7.c
print.c hexII mode: add option to hide dots in for printable characters (#5126) 2025-05-05 21:50:58 +08:00
protobuf.c
punycode.c
range.c
rbtree.c
README.md
regex.c Improve performance of string search. (#5262) 2025-09-11 22:29:20 +08:00
serialize_spaces.c sdb: remove unused cas and expire features (#4487) 2024-05-12 18:27:54 +08:00
set.c util: implement iterator for hash tables and sets (#4639) 2024-09-24 21:36:54 +08:00
signal.c
skiplist.c
skyline.c
spaces.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
stack.c
str.c Enable string search collection to search for multiple encodings. (#5378) 2025-09-17 10:54:31 +08:00
str_constpool.c Add extended insert/update methods for HT (#4489) 2024-05-17 18:06:01 +08:00
str_search.c Enable string search collection to search for multiple encodings. (#5378) 2025-09-17 10:54:31 +08:00
str_trim.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
strbuf.c Move RzBreakpoint into RzDebug (#5124) 2025-05-13 01:57:37 +08:00
strpool.c
structured_data.c Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
structured_data_json.c Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
structured_data_yaml.c Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
subprocess.c librz/util/subprocess: fix inability to automatically run .com executables (#5312) 2025-08-25 12:20:37 +08:00
sys.c Remove unused rz_sys_cmdbg() function (#5268) 2025-07-14 17:57:07 +00:00
syscmd.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
table.c util/table: add basic query tests 2025-06-21 01:31:53 +08:00
thread.c
thread.h
thread_cond.c
thread_hash_table.c Add HtSP, HtSS, HtSU, SetS (#4415) 2024-04-16 20:27:48 +08:00
thread_iterators.c Fix some coverity issues. (#5043) 2025-03-27 12:38:42 +08:00
thread_lock.c
thread_pool.c Revert back only the changes for the threads code and ignores rz-test 2024-06-02 18:11:06 +08:00
thread_queue.c Revert back only the changes for the threads code and ignores rz-test 2024-06-02 18:11:06 +08:00
thread_sem.c subprocess: Protect proc->ret with a semaphore (#4545) 2024-06-19 18:23:12 +08:00
thread_types.c
time.c struct timezone is obsolete/deprecated (#4672) 2024-10-16 17:13:17 +08:00
tree.c
uleb128.c Check we do not shift more than 63. in [us]leb128 2024-09-08 17:34:55 +08:00
unicode.c String/Hex-Search 2/9: Improve Unicode support. 2025-02-22 04:12:49 +08:00
unum.c Replace strdup with rz_str_dup (#4634) 2024-09-15 19:12:07 +08:00
utf8.c Improve performance of string search. (#5262) 2025-09-11 22:29:20 +08:00
utf16.c Improve performance of string search. (#5262) 2025-09-11 22:29:20 +08:00
utf32.c Improve performance of string search. (#5262) 2025-09-11 22:29:20 +08:00
vector.c Fix possible segfaults derefencing vec->v.a if vector is empty. 2025-02-13 22:55:50 +08:00
version.c Remove Global/Static variables in path.c to make it thread safe (#5148) 2025-06-13 21:34:33 +08:00
w32-sys.c
x509.c
x509.h

RzUtil

This library contains all common utilities and functions that are used by other modules in the Rizin framework, like string manipulation, data structures (lists, vectors, trees, etc.), JSON parsing/printing, and others.

What can I expect here?

  • Numbers/math functions
  • Functions likely needed across several other modules
  • Data structures: lists, vectors, trees, graphs, skiplist
  • RzBuffer
  • JSON parsing, JSON printing
  • PKCS7
  • BitVector
  • Functions that are very common and not specific to other modules
  • SDB
  • Floating point number operations
  • OS/Platform-independent abstractions for common operations (e.g. rename a file, create temporary file, etc.)