Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | RzCoreObjc |
Functions | |
static void | array_add (RzCoreObjc *o, ut64 va, ut64 xrefs_to) |
static void | kv_array_free (HtUPKv *kv) |
static bool | isValid (ut64 addr) |
static bool | isInvalid (ut64 addr) |
static bool | inBetween (RzBinSection *s, ut64 addr) |
static ut32 | readDword (RzCoreObjc *objc, ut64 addr, bool *success) |
static ut64 | readQword (RzCoreObjc *objc, ut64 addr, bool *success) |
static void | objc_analyze (RzCore *core) |
static ut64 | getRefPtr (RzCoreObjc *o, ut64 classMethodsVA, bool *rfound) |
static bool | objc_build_refs (RzCoreObjc *objc) |
static RzCoreObjc * | core_objc_new (RzCore *core) |
static void | core_objc_free (RzCoreObjc *o) |
static bool | objc_find_refs (RzCore *core) |
RZ_API bool | cmd_analysis_objc (RzCore *core, bool auto_analysis) |
Variables | |
const size_t | objc2ClassSize = 0x28 |
const size_t | objc2ClassInfoOffs = 0x20 |
const size_t | objc2ClassMethSize = 0x18 |
const size_t | objc2ClassBaseMethsOffs = 0x20 |
const size_t | objc2ClassMethImpOffs = 0x10 |
|
static |
Definition at line 30 of file analysis_objc.c.
References addr, found, NULL, rz_vector_foreach, rz_vector_new(), rz_vector_push(), RzCoreObjc::up, and ut64().
Referenced by objc_build_refs().
Definition at line 301 of file analysis_objc.c.
References objc_analyze(), objc_find_refs(), and rz_return_val_if_fail.
Referenced by rz_analyze_all_objc_references_handler(), and rz_core_analysis_everything().
|
static |
Definition at line 208 of file analysis_objc.c.
References free(), and RzCoreObjc::up.
Referenced by objc_find_refs().
|
static |
Definition at line 173 of file analysis_objc.c.
References RzCoreObjc::_const, RzCoreObjc::_data, RzCoreObjc::_msgrefs, RzCoreObjc::_selrefs, rz_core_t::bin, rz_asm_t::bits, RzCoreObjc::core, free(), kv_array_free(), NULL, rz_core_t::rasm, rz_bin_get_sections(), RZ_LOG_WARN, RZ_NEW0, s, sections(), RzCoreObjc::up, and RzCoreObjc::word_size.
Referenced by objc_find_refs().
|
static |
Definition at line 93 of file analysis_objc.c.
References RzCoreObjc::_const, RzCoreObjc::_msgrefs, RzCoreObjc::_selrefs, addr, inBetween(), readQword(), rz_vector_foreach, RzCoreObjc::up, ut64(), and UT64_MAX.
Referenced by objc_find_refs().
|
inlinestatic |
Definition at line 59 of file analysis_objc.c.
References addr, from, isInvalid(), RZ_BETWEEN, s, to, and ut64().
Referenced by getRefPtr().
Definition at line 55 of file analysis_objc.c.
References addr, and isValid().
Referenced by inBetween(), and objc_find_refs().
Definition at line 51 of file analysis_objc.c.
References addr, and UT64_MAX.
Referenced by is_delta_pointer_table(), isInvalid(), objc_build_refs(), rz_analysis_get_delta_jmptbl_info(), and rz_analysis_get_jmptbl_info().
|
static |
Definition at line 47 of file analysis_objc.c.
References rz_vector_free().
Referenced by core_objc_new().
|
static |
Definition at line 80 of file analysis_objc.c.
References rz_core_t::config, rz_config_get(), rz_config_get_i(), rz_config_set_i(), rz_core_analysis_esil_default(), rz_core_analysis_refs(), rz_core_notify_begin(), and rz_core_notify_done().
Referenced by cmd_analysis_objc().
|
static |
Definition at line 131 of file analysis_objc.c.
References RzCoreObjc::_const, RzCoreObjc::_selrefs, array_add(), calloc(), RzCoreObjc::core, free(), rz_core_t::io, isValid(), off, rz_io_read_at(), RZ_LOG_ERROR, RZ_MAX, rz_read_le64(), rz_return_val_if_fail, ut64(), rz_bin_section_t::vaddr, rz_bin_section_t::vsize, and RzCoreObjc::word_size.
Referenced by objc_find_refs().
Definition at line 215 of file analysis_objc.c.
References RzCoreObjc::_data, RzCoreObjc::_selrefs, a, rz_core_t::analysis, core_objc_free(), core_objc_new(), count, found, rz_analysis_ref_t::from, getRefPtr(), isInvalid(), list(), NULL, objc2ClassBaseMethsOffs, objc2ClassInfoOffs, objc2ClassMethImpOffs, objc2ClassMethSize, objc2ClassSize, objc_build_refs(), off, readDword(), readQword(), RZ_ANALYSIS_XREF_TYPE_CODE, rz_analysis_xrefs_get_to(), rz_analysis_xrefs_set(), rz_cons_is_breaked(), rz_core_notify_begin(), rz_core_notify_done(), RZ_LOG_DEBUG, RZ_LOG_WARN, rz_meta_set(), RZ_META_TYPE_DATA, to, UT32_MAX, ut64(), rz_bin_section_t::vaddr, rz_bin_section_t::vsize, and RzCoreObjc::word_size.
Referenced by cmd_analysis_objc().
|
static |
Definition at line 68 of file analysis_objc.c.
References addr, RzCoreObjc::core, rz_core_t::io, rz_io_read_at(), and rz_read_le32().
Referenced by objc_find_refs().
|
static |
Definition at line 74 of file analysis_objc.c.
References addr, RzCoreObjc::core, rz_core_t::io, rz_io_read_at(), and rz_read_le64().
Referenced by getRefPtr(), and objc_find_refs().
Definition at line 27 of file analysis_objc.c.
Referenced by objc_find_refs().
Definition at line 25 of file analysis_objc.c.
Referenced by objc_find_refs().
Definition at line 28 of file analysis_objc.c.
Referenced by objc_find_refs().
Definition at line 26 of file analysis_objc.c.
Referenced by objc_find_refs().
Definition at line 24 of file analysis_objc.c.
Referenced by objc_find_refs().