Definition at line 27 of file analysis_java.c.
30 switch (
ctx->switchop) {
33 RZ_LOG_ERROR(
"[!] java_analysis: no enough data for lookupswitch case.\n");
44 RZ_LOG_ERROR(
"[!] java_analysis: no enough data for lookupswitch case.\n");
69 RZ_LOG_ERROR(
"[!] java_analysis: bad or invalid data.\n");
static void update_context(JavaAnalysisContext *ctx)
#define BYTECODE_AA_TABLESWITCH
#define BYTECODE_AB_LOOKUPSWITCH
bool jvm_fetch(JavaVM *jvm, Bytecode *bytecode)
bool jvm_init(JavaVM *jvm, const ut8 *buffer, const ut32 size, ut64 pc, ut64 section)
void bytecode_clean(Bytecode *bytecode)
@ RZ_ANALYSIS_OP_TYPE_JMP
@ RZ_ANALYSIS_OP_TYPE_CALL
@ RZ_ANALYSIS_OP_TYPE_CJMP
@ RZ_ANALYSIS_OP_TYPE_ILL
@ RZ_ANALYSIS_OP_TYPE_RET
static ut32 rz_read_at_be32(const void *src, size_t offset)
static ut32 rz_read_be32(const void *src)
#define RZ_LOG_ERROR(fmtstr,...)
RzBinGetSectionAt get_vsect_at
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
References addr, bytecode_t::args, bytecode_t::atype, rz_bin_bind_t::bin, rz_analysis_t::binb, BYTECODE_AA_TABLESWITCH, BYTECODE_AB_LOOKUPSWITCH, bytecode_clean(), bytecode_t::extra, rz_bin_bind_t::get_vsect_at, jvm_fetch(), jvm_init(), len, bytecode_t::opcode, rz_bin_section_t::paddr, bytecode_t::pc, rz_analysis_t::plugin_data, RZ_ANALYSIS_OP_TYPE_CALL, RZ_ANALYSIS_OP_TYPE_CJMP, RZ_ANALYSIS_OP_TYPE_ILL, RZ_ANALYSIS_OP_TYPE_JMP, RZ_ANALYSIS_OP_TYPE_RET, RZ_LOG_ERROR, rz_read_at_be32(), rz_read_be32(), bytecode_t::size, update_context(), ut64(), and UT64_MAX.