Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | Pe_image_clr_header |
struct | Pe_image_metadata_header |
struct | Pe_image_metadata_stream |
struct | Pe_image_metadata_tilde_rowcounts |
struct | Pe_image_metadata_tilde_header |
struct | Pe_image_metadata_index_sizes |
struct | Pe_image_metadata_methoddef |
struct | Pe_image_metadata_typedef |
struct | Pe_image_clr_methodheader |
struct | Pe_image_clr |
Functions | |
int | bin_pe_dotnet_init_metadata (Pe_image_clr *clr, bool big_endian, RzBuffer *b, ut64 metadata_directory) |
int | bin_pe_dotnet_init_clr (Pe_image_clr *clr, RzBuffer *b, ut64 image_clr_hdr_paddr) |
void | bin_pe_dotnet_destroy_clr (Pe_image_clr *clr) |
int | bin_pe_dotnet_read_method_header (Pe_image_clr *clr, RzBuffer *b, RzBinSymbol *sym) |
void bin_pe_dotnet_destroy_clr | ( | Pe_image_clr * | clr | ) |
Definition at line 968 of file dotnet.c.
References free(), free_metadata_header(), Pe_image_clr::header, Pe_image_clr::metadata_header, Pe_image_clr::methoddefs, rz_buf_free(), rz_list_free(), rz_pvector_free(), Pe_image_clr::streams, Pe_image_clr::strings, Pe_image_clr::tilde, and Pe_image_clr::typedefs.
Referenced by rz_bin_pe_free().
int bin_pe_dotnet_init_clr | ( | Pe_image_clr * | clr, |
RzBuffer * | b, | ||
ut64 | image_clr_hdr_paddr | ||
) |
Definition at line 932 of file dotnet.c.
References b, error(), free(), Pe_image_clr::header, header, len, read_image_clr_header(), and RZ_NEW0.
Referenced by bin_pe_init_clr().
int bin_pe_dotnet_init_metadata | ( | Pe_image_clr * | clr, |
bool | big_endian, | ||
RzBuffer * | b, | ||
ut64 | metadata_directory | ||
) |
Definition at line 783 of file dotnet.c.
References _free_stream(), b, bin_pe_read_metadata_string(), Pe_image_clr::blob_stream, c, calloc(), count, fail, Pe_image_metadata_header::Flags, free(), len, MAX_METADATA_STRING_LENGTH, Pe_image_clr::metadata_header, Pe_image_clr::methoddefs, NULL, Pe_image_metadata_stream::Offset, read_image_metadata_tilde_header(), Pe_image_metadata_header::Reserved, rz_buf_fread_at(), rz_buf_new_slice(), rz_buf_read_at(), rz_buf_size(), rz_list_append(), rz_list_free(), rz_list_newf(), RZ_LOG_WARN, RZ_NEW0, rz_pvector_new(), Pe_image_metadata_stream::Size, Pe_image_clr::streams, streams, Pe_image_clr::strings, strings(), Pe_image_clr::strings_stream, Pe_image_clr::tilde, Pe_image_clr::tilde_stream, Pe_image_clr::typedefs, Pe_image_metadata_header::VersionString, and Pe_image_metadata_header::VersionStringLength.
Referenced by bin_pe_init_clr().
int bin_pe_dotnet_read_method_header | ( | Pe_image_clr * | clr, |
RzBuffer * | b, | ||
RzBinSymbol * | sym | ||
) |
Definition at line 745 of file dotnet.c.
References b, Pe_image_clr_methodheader::flags, flags, rz_bin_symbol_t::paddr, PE_READ_STRUCT_FIELD, RZ_BUF_CUR, rz_buf_read(), rz_buf_read8(), rz_buf_seek(), RZ_BUF_SET, rz_warn_if_fail, rz_warn_if_reached, Pe_image_clr_methodheader::size, rz_bin_symbol_t::size, st64, and rz_bin_symbol_t::vaddr.
Referenced by rz_bin_pe_get_clr_methoddef_offset(), and rz_bin_pe_get_clr_symbols().