Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | search_interval_t |
struct | shared_data_t |
struct | search_thread_data_t |
Macros | |
#define | UTIL_STR_SCAN_OPT_BUFFER_SIZE 2048 |
#define | RAW_FILE_ALIGNMENT 0x10000 |
Typedefs | |
typedef struct search_interval_t | SearchInterval |
typedef struct shared_data_t | SharedData |
typedef struct search_thread_data_t | SearchThreadData |
#define RAW_FILE_ALIGNMENT 0x10000 |
Definition at line 9 of file bfile_string.c.
#define UTIL_STR_SCAN_OPT_BUFFER_SIZE 2048 |
Definition at line 8 of file bfile_string.c.
typedef struct search_interval_t SearchInterval |
typedef struct search_thread_data_t SearchThreadData |
typedef struct shared_data_t SharedData |
|
static |
Definition at line 155 of file bfile_string.c.
References free(), search_thread_data_t::loop, search_thread_data_t::results, rz_atomic_bool_free(), and rz_list_free().
Referenced by create_string_search_thread(), and rz_bin_file_strings().
|
static |
Definition at line 181 of file bfile_string.c.
References shared_data_t::bf, bin_file_string_search_free(), search_thread_data_t::check_ascii_freq, search_thread_data_t::encoding, cmd_descs_generate::encoding, interrupt_thread(), search_thread_data_t::intervals, search_thread_data_t::loop, search_thread_data_t::min_length, rz_bin_plugin_t::minstrlen, rz_bin_file_t::rbin, search_thread_data_t::results, rz_atomic_bool_new(), rz_bin_file_cur_plugin(), rz_bin_string_free(), rz_list_newf(), RZ_LOG_ERROR, RZ_NEW0, rz_str_enc_string_as_type(), RZ_STRING_ENC_GUESS, rz_th_free(), rz_th_new(), rz_th_pool_add_thread(), search_string_thread_runner(), search_thread_data_t::shared, rz_bin_t::strenc, and rz_bin_t::strseach_check_ascii_freq.
Referenced by rz_bin_file_strings().
|
static |
Definition at line 173 of file bfile_string.c.
References i, interrupt_thread(), rz_th_pool_get_thread(), and rz_th_pool_size().
Referenced by rz_bin_file_strings().
|
static |
Definition at line 164 of file bfile_string.c.
References search_thread_data_t::loop, rz_atomic_bool_set(), rz_th_get_user(), and rz_th_wait().
Referenced by create_string_search_thread(), and interrupt_pool().
|
static |
RZ_API RZ_OWN RzList* rz_bin_file_strings | ( | RZ_NONNULL RzBinFile * | bf, |
size_t | min_length, | ||
bool | raw_strings | ||
) |
Generates a RzList struct containing RzBinString from a given RzBinFile.
bf | The RzBinFile to use for searching for strings |
min_length | The string minimum length (when len < 1, is set to 4) |
raw_strings | When set to false, it will search for strings only in the data section |
Definition at line 325 of file bfile_string.c.
References bin_file_string_search_free(), create_string_search_thread(), fail, free(), from, i, interrupt_pool(), is_data_section(), shared_data_t::lock, lock(), NULL, rz_bin_string_t::ordinal, search_interval_t::paddr, PFMT64x, search_interval_t::psize, RAW_FILE_ALIGNMENT, search_thread_data_t::results, rz_bin_string_free(), rz_list_join(), rz_list_newf(), rz_list_sort(), RZ_LOG_ERROR, RZ_LOG_VERBOSE, RZ_LOG_WARN, RZ_NEW0, rz_return_val_if_fail, rz_th_get_user(), rz_th_lock_free(), rz_th_lock_new(), rz_th_pool_free(), rz_th_pool_get_thread(), rz_th_pool_new(), rz_th_pool_size(), rz_th_pool_wait(), rz_th_queue_free(), rz_th_queue_new(), rz_th_queue_push(), RZ_THREAD_POOL_ALL_CORES, RZ_THREAD_QUEUE_UNLIMITED, scan_cfstring_table(), rz_bin_object_t::sections, section::size, string_compare_sort(), and ut64().
Referenced by basefind_create_array_of_addresses(), rz_bin_object_reset_strings(), rz_bin_object_set_items(), rz_core_bin_whole_strings(), rz_main_rz_bin(), rzfind_open_file(), and strings().
|
static |
Definition at line 293 of file bfile_string.c.
References NULL, rz_bin_file_t::o, PFMT64x, RZ_LOG_WARN, rz_bin_object_t::sections, section::size, rz_bin_file_t::size, and string_scan_range_cfstring().
Referenced by rz_bin_file_strings().
|
static |
Definition at line 108 of file bfile_string.c.
References shared_data_t::bf, rz_bin_object_t::boffset, free(), search_thread_data_t::intervals, list(), search_thread_data_t::loop, loop, NULL, rz_bin_file_t::o, search_interval_t::paddr, rz_bin_string_t::paddr, PFMT64x, search_interval_t::psize, search_thread_data_t::results, rz_atomic_bool_get(), rz_bin_object_p2v(), rz_bin_string_free(), rz_list_append(), rz_list_free(), rz_list_pop_head(), RZ_LOG_DEBUG, rz_th_queue_pop(), search_thread_data_t::shared, shared_ht_up_insert(), string_scan_range(), to_bin_string(), ut64(), and rz_bin_string_t::vaddr.
Referenced by create_string_search_thread().
|
static |
Definition at line 32 of file bfile_string.c.
References addr, shared_data_t::bf, rz_bin_file_t::buf, shared_data_t::lock, rz_buf_read_at(), rz_th_lock_enter(), rz_th_lock_leave(), and st64.
Referenced by string_scan_range().
|
static |
Definition at line 39 of file bfile_string.c.
References key, shared_data_t::lock, rz_th_lock_enter(), rz_th_lock_leave(), shared_data_t::strings_db, and value.
Referenced by search_string_thread_runner().
|
static |
|
static |
Definition at line 76 of file bfile_string.c.
References RzUtilStrScanOptions::buf_size, calloc(), search_thread_data_t::check_ascii_freq, count, search_thread_data_t::encoding, test_evm::end, found, free(), search_thread_data_t::min_length, NULL, RZ_FREE_CUSTOM, rz_list_free(), rz_list_newf(), RZ_LOG_ERROR, rz_scan_strings_raw(), search_thread_data_t::shared, shared_data_read_at(), ut64(), and UTIL_STR_SCAN_OPT_BUFFER_SIZE.
Referenced by search_string_thread_runner().
|
static |
Definition at line 241 of file bfile_string.c.
References rz_bin_info_t::bits, bits(), rz_bin_file_t::buf, calloc(), free(), i, rz_bin_object_t::info, rz_bin_string_t::length, NULL, rz_bin_file_t::o, rz_bin_string_t::ordinal, p, rz_bin_string_t::paddr, rz_bin_object_v2p(), rz_buf_read_at(), rz_list_append(), RZ_LOG_ERROR, RZ_NEW0, rz_read_le32(), rz_read_le64(), rz_str_newf(), s, section::size, rz_bin_string_t::size, rz_bin_string_t::string, rz_bin_string_t::type, ut64(), UT64_MAX, and rz_bin_string_t::vaddr.
Referenced by scan_cfstring_table().
|
static |
Definition at line 56 of file bfile_string.c.
References dst, free(), NULL, rz_detected_string_free(), RZ_LOG_ERROR, RZ_NEW0, and src.
Referenced by search_string_thread_runner().