Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | egg_patch_t |
Macros | |
#define | RZ_EGG_FILL_TYPE_TRAP |
#define | RZ_EGG_FILL_TYPE_NOP |
#define | RZ_EGG_FILL_TYPE_CHAR |
#define | RZ_EGG_FILL_TYPE_SEQ |
#define | RZ_EGG_FILL_TYPE_SEQ |
Variables | |
RzEggEmit | emit_x86 |
RzEggEmit | emit_x64 |
RzEggEmit | emit_arm |
RzEggEmit | emit_trace |
static RzEggPlugin * | egg_static_plugins [] = { RZ_EGG_STATIC_PLUGINS } |
void egg_patch_free | ( | void * | p | ) |
Definition at line 22 of file egg.c.
References egg_patch_t::b, free(), p, and rz_buf_free().
Referenced by rz_egg_new(), and rz_egg_patch().
|
inlinestatic |
RZ_API int rz_egg_add | ( | RzEgg * | a, |
RzEggPlugin * | foo | ||
) |
Definition at line 92 of file egg.c.
References a, foo, h, rz_main_t::name, and rz_list_append().
Referenced by rz_egg_new().
Definition at line 438 of file egg.c.
References rz_buf_append_bytes(), rz_egg_t::src, and src.
Definition at line 319 of file egg.c.
References b, rz_egg_t::bin, len, rz_buf_append_bytes(), and rz_egg_raw().
Referenced by rz_egg_finalize(), and rz_egg_padding().
Definition at line 390 of file egg.c.
References NULL, and rz_egg_assemble_asm().
Referenced by egg_compile(), rz_core_syscall(), and rz_main_rz_gg().
Definition at line 346 of file egg.c.
References rz_egg_emit_t::arch, rz_egg_t::bin, rz_egg_t::bits, rz_egg_t::buf, rz_asm_code_t::bytes, emit_arm, emit_x64, emit_x86, rz_egg_t::endian, eprintf, free(), rz_asm_code_t::len, NULL, rz_egg_t::rasm, rz_egg_t::remit, rz_asm_code_free(), rz_asm_massemble(), rz_asm_set_big_endian(), rz_asm_set_bits(), rz_asm_set_syntax(), RZ_ASM_SYNTAX_INTEL, rz_asm_use(), rz_buf_append_bytes(), and rz_buf_to_string().
Referenced by rz_egg_assemble().
Definition at line 394 of file egg.c.
References b, rz_egg_t::context, rz_egg_lang_t::elem, rz_egg_lang_t::elem_n, eprintf, rz_egg_t::lang, r, rz_egg_t::remit, rz_buf_read(), rz_buf_seek(), RZ_BUF_SET, rz_egg_lang_init(), rz_egg_lang_parsechar(), and rz_egg_t::src.
Referenced by egg_compile(), rz_cmd_debug(), rz_core_syscall(), and rz_main_rz_gg().
Definition at line 558 of file egg.c.
References b, rz_egg_t::bin, p, rz_egg_t::plugins, rz_buf_free(), and RZ_EGG_PLUGIN_ENCODER.
Referenced by egg_compile(), and rz_main_rz_gg().
Definition at line 598 of file egg.c.
References egg_patch_t::b, rz_egg_t::bin, eprintf, NULL, egg_patch_t::off, rz_egg_t::patches, r, rz_buf_data(), rz_buf_free(), rz_buf_new_with_bytes(), rz_buf_size(), rz_buf_write_at(), rz_egg_append_bytes(), and ut64().
Referenced by rz_main_rz_gg().
Definition at line 111 of file egg.c.
References rz_egg_t::bin, rz_egg_t::buf, rz_egg_t::db, free(), rz_egg_t::list, rz_egg_t::patches, rz_egg_t::plugins, rz_egg_t::rasm, rz_asm_free(), rz_buf_free(), rz_egg_lang_free(), rz_list_free(), rz_syscall_free(), sdb_free(), rz_egg_t::src, and rz_egg_t::syscall.
Referenced by rz_core_fini(), rz_debug_free(), rz_egg_new(), and rz_main_rz_gg().
Definition at line 434 of file egg.c.
References rz_egg_t::buf, and rz_buf_to_string().
Referenced by rz_main_rz_gg().
Definition at line 423 of file egg.c.
References rz_egg_t::bin.
Referenced by egg_compile(), rz_cmd_debug(), rz_core_syscall(), and rz_main_rz_gg().
Definition at line 430 of file egg.c.
References rz_buf_to_string(), and rz_egg_t::src.
Definition at line 181 of file egg.c.
References rz_egg_t::buf, foo, free(), rz_buf_append_bytes(), rz_egg_raw(), rz_file_slurp(), rz_egg_t::src, and ut64().
Referenced by rz_egg_load_file().
Definition at line 202 of file egg.c.
References rz_egg_t::buf, rz_buf_append_bytes(), rz_return_if_fail, and rz_egg_t::src.
Referenced by rz_cmd_debug(), rz_core_syscall(), and rz_main_rz_gg().
Definition at line 214 of file egg.c.
References rz_egg_t::arch, arch, rz_egg_t::bits, free(), rz_egg_t::os, rz_egg_Cfile_parser(), rz_egg_include(), rz_egg_os_as_string(), rz_egg_raw(), rz_egg_reset(), rz_file_rm(), rz_file_slurp(), RZ_LOG_ERROR, rz_return_val_if_fail, rz_str_endswith(), rz_str_sanitize(), rz_sys_arch_str(), and strdup().
Referenced by rz_core_egg_compile_file(), and rz_main_rz_gg().
Definition at line 44 of file egg.c.
References rz_egg_t::bin, rz_egg_t::bits, rz_egg_t::buf, rz_egg_t::db, egg_patch_free(), egg_static_plugins, emit_x86, rz_egg_t::endian, i, NULL, rz_egg_t::patches, rz_egg_t::plugins, rz_egg_t::rasm, rz_egg_t::remit, RZ_ARRAY_SIZE, rz_asm_new(), rz_buf_new_with_bytes(), rz_egg_add(), rz_egg_free(), rz_list_new(), rz_list_newf(), RZ_NEW0, rz_syscall_new(), sdb_new(), rz_egg_t::src, and rz_egg_t::syscall.
Referenced by rz_core_init(), rz_debug_new(), and rz_main_rz_gg().
Definition at line 534 of file egg.c.
References rz_egg_t::db, key, NULL, and sdb_get().
Referenced by build(), egg_compile(), egg_option(), rz_core_egg_compile(), rz_egg_config_handler(), and rz_egg_show_config_handler().
Definition at line 530 of file egg.c.
References rz_egg_t::db, key, sdb_set(), and val.
Referenced by egg_option(), rz_core_egg_compile(), rz_egg_config_handler(), rz_egg_encoder_handler(), rz_egg_padding_handler(), rz_egg_type_handler(), and rz_main_rz_gg().
Definition at line 28 of file egg.c.
References RZ_EGG_OS_BEOS, RZ_EGG_OS_DARWIN, RZ_EGG_OS_FREEBSD, RZ_EGG_OS_IOS, RZ_EGG_OS_LINUX, RZ_EGG_OS_MACOS, RZ_EGG_OS_OSX, RZ_EGG_OS_W32, RZ_EGG_OS_WATCHOS, and RZ_EGG_OS_WINDOWS.
Referenced by rz_egg_load_file().
Definition at line 472 of file egg.c.
References eon(), eprintf, f, free(), malloc(), memset(), NULL, p, pad(), rz_egg_append_bytes(), rz_egg_prepend_bytes(), and strdup().
Referenced by egg_compile(), and rz_main_rz_gg().
Definition at line 576 of file egg.c.
References egg_patch_t::b, egg_patch_free(), len, off, egg_patch_t::off, rz_egg_t::patches, rz_buf_new_with_bytes(), rz_list_append(), and RZ_NEW.
Referenced by rz_egg_patch_num(), and rz_main_rz_gg().
Definition at line 591 of file egg.c.
References bits(), rz_egg_t::endian, num, off, rz_egg_patch(), rz_return_val_if_fail, and rz_write_ble().
Referenced by rz_main_rz_gg().
Definition at line 625 of file egg.c.
References eprintf, free(), NULL, rz_debruijn_pattern(), and rz_egg_prepend_bytes().
Referenced by rz_main_rz_gg().
Definition at line 309 of file egg.c.
References b, rz_egg_t::bin, len, rz_buf_prepend_bytes(), and rz_egg_raw_prepend().
Referenced by rz_egg_padding(), and rz_egg_pattern().
Definition at line 336 of file egg.c.
References rz_egg_t::buf, len, rz_buf_append_bytes(), and vsnprintf.
Referenced by emit_arg(), emit_branch(), emit_call(), emit_comment(), emit_equ(), emit_frame(), emit_frame_end(), emit_get_result(), emit_get_while_end(), emit_init(), emit_jmp(), emit_load(), emit_load_ptr(), emit_mathop(), emit_restore_stack(), emit_set_string(), emit_string(), emit_syscall_args(), emit_trap(), emit_while_end(), parsedatachar(), rcc_fun(), rz_egg_label(), and rz_egg_lang_parsechar().
Definition at line 281 of file egg.c.
References b, rz_egg_t::buf, free(), len, malloc(), out, rz_buf_append_bytes(), and rz_hex_bin2str().
Referenced by rz_egg_append_bytes(), rz_egg_include(), rz_egg_load_file(), rz_egg_shellcode(), and rz_main_rz_gg().
Definition at line 295 of file egg.c.
References b, rz_egg_t::buf, free(), len, malloc(), out, rz_buf_prepend_bytes(), and rz_hex_bin2str().
Referenced by rz_egg_prepend_bytes().
Definition at line 128 of file egg.c.
References rz_egg_t::bin, rz_egg_t::buf, NULL, rz_egg_t::patches, rz_buf_free(), rz_buf_new_with_bytes(), rz_egg_lang_include_init(), rz_list_purge(), and rz_egg_t::src.
Referenced by rz_cmd_debug(), rz_core_egg_compile(), rz_core_syscall(), and rz_egg_load_file().
Definition at line 443 of file egg.c.
References rz_egg_t::bin, rz_buf_data(), rz_sys_run(), autogen_x86imm::tmp, and ut64().
Referenced by rz_main_rz_gg().
Definition at line 450 of file egg.c.
References rz_egg_t::bin, rz_buf_data(), rz_sys_run_rop(), autogen_x86imm::tmp, and ut64().
Referenced by rz_main_rz_gg().
Definition at line 139 of file egg.c.
References rz_egg_t::arch, arch, rz_egg_t::bits, bits(), emit_arm, emit_trace, emit_x64, emit_x86, rz_egg_t::endian, NULL, rz_egg_t::os, rz_egg_t::remit, RZ_EGG_OS_DEFAULT, rz_str_djb2_hash(), RZ_SYS_ARCH_ARM, RZ_SYS_ARCH_X86, rz_syscall_setup(), and rz_egg_t::syscall.
Referenced by cb_asmarch(), rz_cmd_debug(), rz_core_egg_setup(), rz_core_init(), rz_debug_new(), and rz_main_rz_gg().
Definition at line 538 of file egg.c.
References b, eprintf, p, rz_egg_t::plugins, rz_buf_data(), RZ_EGG_PLUGIN_SHELLCODE, rz_egg_raw(), autogen_x86imm::tmp, and ut64().
Referenced by rz_core_egg_compile(), and rz_main_rz_gg().
Definition at line 255 of file egg.c.
References rz_syscall_item_t::num, rz_egg_t::remit, rz_syscall_get(), rz_syscall_get_num(), rz_syscall_item_free(), rz_egg_t::syscall, and rz_egg_emit_t::syscall.
Definition at line 107 of file egg.c.
References rz_egg_t::buf, and rz_buf_to_string().
RZ_LIB_VERSION | ( | rz_egg | ) |
|
static |
Definition at line 15 of file egg.c.
Referenced by rz_egg_new().
|
extern |
Referenced by rz_egg_assemble_asm(), and rz_egg_setup().
|
extern |
Referenced by rz_egg_setup().
|
extern |
Referenced by rz_egg_assemble_asm(), and rz_egg_setup().
|
extern |
Referenced by rz_egg_assemble_asm(), rz_egg_new(), and rz_egg_setup().