Definition at line 31 of file asm_java.c.
35 if (
a->pc <
ctx->last) {
39 switch (
ctx->switchop) {
42 RZ_LOG_ERROR(
"[!] java_analysis: no enough data for lookupswitch case.\n");
53 RZ_LOG_ERROR(
"[!] java_analysis: no enough data for lookupswitch case.\n");
81 RZ_LOG_ERROR(
"[!] java_disassemble: bad or invalid data.\n");
101 RZ_LOG_ERROR(
"[!] java_disassemble: jvm fetch failed.\n");
static void update_context(JavaAsmContext *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)
void bytecode_snprint(RzStrBuf *sb, Bytecode *bytecode)
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,...)
RZ_API const char * rz_strbuf_set(RzStrBuf *sb, const char *s)
RZ_API const char * rz_strbuf_setf(RzStrBuf *sb, const char *fmt,...) RZ_PRINTF_CHECK(2
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
References a, BYTECODE_00_NOP, BYTECODE_AA_TABLESWITCH, BYTECODE_AB_LOOKUPSWITCH, bytecode_clean(), bytecode_snprint(), bytecode_t::extra, jump(), jvm_fetch(), jvm_init(), len, bytecode_t::opcode, rz_bin_section_t::paddr, PFMT64x, RZ_LOG_ERROR, rz_read_at_be32(), rz_read_be32(), rz_strbuf_set(), rz_strbuf_setf(), bytecode_t::size, st32, update_context(), and ut64().