Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | NSOHeader |
Macros | |
#define | NSO_OFF(x) rz_offsetof(NSOHeader, x) |
#define | NSO_OFFSET_MODMEMOFF rz_offsetof(NXOStart, mod_memoffset) |
#define | VFILE_NAME_DECOMPRESSED "decompressed" |
Functions | |
static ut64 | baddr (RzBinFile *bf) |
static bool | check_buffer (RzBuffer *b) |
static bool | parse_header_aux (RzBuffer *buf, NSOHeader *r) |
static NSOHeader * | parse_header (RzBuffer *buf) |
static RzBinNXOObj * | nso_new (RzBuffer *buf) |
static void | nso_free (RzBinNXOObj *bin) |
static bool | decompress (RzBuffer *source_buf, ut64 source_offset, ut64 source_size, ut8 *dst_buf, ut64 decompressed_size) |
static bool | load_buffer (RzBinFile *bf, RzBinObject *obj, RzBuffer *buf, Sdb *sdb) |
static void | destroy (RzBinFile *bf) |
static RzBinAddr * | binsym (RzBinFile *bf, RzBinSpecialSymbol type) |
static RzList * | entries (RzBinFile *bf) |
static Sdb * | get_sdb (RzBinFile *bf) |
static RzList * | virtual_files (RzBinFile *bf) |
static RzList * | maps (RzBinFile *bf) |
static RzList * | sections (RzBinFile *bf) |
static RzBinInfo * | info (RzBinFile *bf) |
Variables | |
RzBinPlugin | rz_bin_plugin_nso |
RZ_API RzLibStruct | rizin_plugin |
#define NSO_OFFSET_MODMEMOFF rz_offsetof(NXOStart, mod_memoffset) |
Definition at line 34 of file bin_nso.c.
Referenced by entries(), load_buffer(), and maps().
|
static |
Definition at line 38 of file bin_nso.c.
References b, fileType(), NULL, rz_buf_read_at(), and rz_buf_size().
|
static |
Definition at line 108 of file bin_nso.c.
References free(), INT_MAX, LZ4_decompress_safe(), r, rz_buf_read_at(), RZ_NEWS0, SIZE_MAX, autogen_x86imm::tmp, and ut64().
Referenced by load_buffer(), and main().
|
static |
Definition at line 183 of file bin_nso.c.
References rz_bin_object_t::bin_obj, nso_free(), and rz_bin_file_t::o.
Definition at line 194 of file bin_nso.c.
References b, baddr(), rz_bin_file_t::buf, rz_list_t::free, free(), NSO_OFF, NULL, rz_bin_addr_t::paddr, rz_buf_read_le32_at, rz_list_append(), rz_list_free(), rz_list_new(), RZ_NEW0, autogen_x86imm::tmp, and rz_bin_addr_t::vaddr.
Definition at line 232 of file bin_nso.c.
References rz_bin_file_t::sdb, sdb_new0(), sdb_ns_set(), sdb_num_set(), and sdb_set().
Definition at line 355 of file bin_nso.c.
References rz_bin_info_t::arch, rz_bin_info_t::bclass, rz_bin_info_t::big_endian, rz_bin_info_t::bits, rz_bin_file_t::buf, rz_bin_info_t::dbg_info, rz_bin_info_t::file, rz_bin_file_t::file, fileType(), free(), rz_bin_info_t::has_va, rz_bin_info_t::machine, NSO_OFF, NULL, rz_bin_info_t::os, rz_bin_info_t::rclass, rz_buf_read_at(), RZ_NEW0, strdup(), rz_bin_info_t::subsystem, and rz_bin_info_t::type.
|
static |
Definition at line 125 of file bin_nso.c.
References baddr(), rz_bin_object_t::bin_obj, NSOHeader::data_memoffset, NSOHeader::data_size, decompress(), free(), nso_free(), nso_new(), NSO_OFFSET_MODMEMOFF, NULL, parseMod(), PFMT64x, NSOHeader::ro_memoffset, NSOHeader::ro_size, rz_buf_new_with_pointers(), rz_buf_read_le32_at, rz_buf_size(), RZ_LOG_ERROR, RZ_LOG_INFO, RZ_NEWS0, rz_return_val_if_fail, NSOHeader::text_memoffset, NSOHeader::text_size, autogen_x86imm::tmp, and ut64().
Definition at line 263 of file bin_nso.c.
References baddr(), rz_bin_object_t::bin_obj, NSOHeader::data_loc, NSOHeader::data_memoffset, NSOHeader::data_size, map(), NULL, rz_bin_file_t::o, NSOHeader::ro_loc, NSOHeader::ro_memoffset, NSOHeader::ro_size, rz_bin_map_free(), rz_list_append(), rz_list_newf(), RZ_NEW0, RZ_PERM_R, RZ_PERM_RW, RZ_PERM_RX, strdup(), NSOHeader::text_loc, NSOHeader::text_memoffset, NSOHeader::text_size, ut64(), and VFILE_NAME_DECOMPRESSED.
Referenced by sections().
|
static |
Definition at line 99 of file bin_nso.c.
References free(), and rz_buf_free().
Referenced by destroy(), and load_buffer().
|
static |
Definition at line 86 of file bin_nso.c.
References free(), NULL, parse_header(), and RZ_NEW0.
Referenced by load_buffer().
Definition at line 68 of file bin_nso.c.
References free(), NULL, parse_header_aux(), r, rz_buf_size(), RZ_NEW0, and RZ_STATIC_ASSERT.
Referenced by nso_new().
Definition at line 49 of file bin_nso.c.
References NSO_OFF, r, and rz_buf_read_le32_at.
Referenced by parse_header().
Definition at line 313 of file bin_nso.c.
References b, rz_bin_file_t::buf, maps(), rz_bin_section_t::name, NSO_OFF, NULL, rz_bin_section_t::paddr, rz_bin_section_t::perm, rz_bin_section_free(), rz_bin_sections_of_maps(), rz_buf_read_le32_at, rz_list_append(), rz_list_free(), rz_list_join(), rz_list_newf(), RZ_NEW0, RZ_PERM_R, rz_bin_section_t::size, strdup(), autogen_x86imm::tmp, rz_bin_section_t::vaddr, and rz_bin_section_t::vsize.
Definition at line 244 of file bin_nso.c.
References rz_bin_object_t::bin_obj, rz_bin_virtual_file_t::buf, rz_bin_virtual_file_t::buf_owned, rz_bin_virtual_file_t::name, NULL, rz_bin_file_t::o, rz_bin_virtual_file_free(), rz_list_newf(), rz_list_push(), RZ_NEW0, strdup(), and VFILE_NAME_DECOMPRESSED.
RZ_API RzLibStruct rizin_plugin |
RzBinPlugin rz_bin_plugin_nso |