Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_analysis.h>
#include <rz_lib.h>
#include <capstone/capstone.h>
#include <capstone/sparc.h>
Go to the source code of this file.
Macros | |
#define | INSOP(n) insn->detail->sparc.operands[n] |
#define | INSCC insn->detail->sparc.cc |
Functions | |
static void | opex (RzStrBuf *buf, csh handle, cs_insn *insn) |
static int | parse_reg_name (RzRegItem *reg, csh handle, cs_insn *insn, int reg_num) |
static void | op_fillval (RzAnalysisOp *op, csh handle, cs_insn *insn) |
static int | analop (RzAnalysis *a, RzAnalysisOp *op, ut64 addr, const ut8 *buf, int len, RzAnalysisOpMask mask) |
static char * | get_reg_profile (RzAnalysis *analysis) |
static int | archinfo (RzAnalysis *analysis, int q) |
Variables | |
RzAnalysisPlugin | rz_analysis_plugin_sparc_cs |
RZ_API RzLibStruct | rizin_plugin |
#define INSCC insn->detail->sparc.cc |
Definition at line 14 of file analysis_sparc_cs.c.
#define INSOP | ( | n | ) | insn->detail->sparc.operands[n] |
Definition at line 13 of file analysis_sparc_cs.c.
|
static |
Definition at line 103 of file analysis_sparc_cs.c.
References a, addr, CS_ARCH_SPARC, cs_close(), cs_disasm(), capstone::CS_ERR_OK, cs_free(), CS_MODE_LITTLE_ENDIAN, CS_MODE_V9, cs_open(), CS_OPT_DETAIL, CS_OPT_ON, cs_option(), handle, INSCC, INSOP, len, mask, n, op_fillval(), opex(), RZ_ANALYSIS_OP_MASK_OPEX, RZ_ANALYSIS_OP_MASK_VAL, RZ_ANALYSIS_OP_TYPE_ADD, RZ_ANALYSIS_OP_TYPE_CALL, RZ_ANALYSIS_OP_TYPE_CJMP, RZ_ANALYSIS_OP_TYPE_CMP, RZ_ANALYSIS_OP_TYPE_DIV, RZ_ANALYSIS_OP_TYPE_ILL, RZ_ANALYSIS_OP_TYPE_JMP, RZ_ANALYSIS_OP_TYPE_LOAD, RZ_ANALYSIS_OP_TYPE_MOV, RZ_ANALYSIS_OP_TYPE_MUL, RZ_ANALYSIS_OP_TYPE_NOP, RZ_ANALYSIS_OP_TYPE_OR, RZ_ANALYSIS_OP_TYPE_RET, RZ_ANALYSIS_OP_TYPE_STORE, RZ_ANALYSIS_OP_TYPE_SUB, RZ_ANALYSIS_OP_TYPE_UCALL, RZ_ANALYSIS_OP_TYPE_UNK, SPARC_CC_ICC_A, SPARC_CC_ICC_N, SPARC_INS_ADD, SPARC_INS_ADDCC, SPARC_INS_ADDX, SPARC_INS_ADDXC, SPARC_INS_ADDXCC, SPARC_INS_ADDXCCC, SPARC_INS_B, SPARC_INS_BMASK, SPARC_INS_BRGEZ, SPARC_INS_BRGZ, SPARC_INS_BRLEZ, SPARC_INS_BRLZ, SPARC_INS_BRNZ, SPARC_INS_BRZ, SPARC_INS_CALL, SPARC_INS_CMP, SPARC_INS_FADDD, SPARC_INS_FADDQ, SPARC_INS_FADDS, SPARC_INS_FB, SPARC_INS_FDIVD, SPARC_INS_FDIVQ, SPARC_INS_FDIVS, SPARC_INS_FDMULQ, SPARC_INS_FHADDD, SPARC_INS_FHADDS, SPARC_INS_FHSUBD, SPARC_INS_FHSUBS, SPARC_INS_FMUL8SUX16, SPARC_INS_FMUL8ULX16, SPARC_INS_FMUL8X16, SPARC_INS_FMUL8X16AL, SPARC_INS_FMUL8X16AU, SPARC_INS_FMULD, SPARC_INS_FMULD8SUX16, SPARC_INS_FMULD8ULX16, SPARC_INS_FMULQ, SPARC_INS_FMULS, SPARC_INS_FNADDD, SPARC_INS_FNADDS, SPARC_INS_FNHADDD, SPARC_INS_FNHADDS, SPARC_INS_FPADD16, SPARC_INS_FPADD16S, SPARC_INS_FPADD32, SPARC_INS_FPADD32S, SPARC_INS_FPADD64, SPARC_INS_FPSUB16, SPARC_INS_FPSUB16S, SPARC_INS_FPSUB32, SPARC_INS_FPSUB32S, SPARC_INS_FSMULD, SPARC_INS_FSUBD, SPARC_INS_FSUBQ, SPARC_INS_FSUBS, SPARC_INS_INVALID, SPARC_INS_JMP, SPARC_INS_JMPL, SPARC_INS_LD, SPARC_INS_LDD, SPARC_INS_LDQ, SPARC_INS_LDSB, SPARC_INS_LDSH, SPARC_INS_LDSW, SPARC_INS_LDUB, SPARC_INS_LDUH, SPARC_INS_LDX, SPARC_INS_MOV, SPARC_INS_MULX, SPARC_INS_NOP, SPARC_INS_OR, SPARC_INS_ORCC, SPARC_INS_ORN, SPARC_INS_ORNCC, SPARC_INS_RET, SPARC_INS_RETL, SPARC_INS_RETT, SPARC_INS_SDIV, SPARC_INS_SDIVCC, SPARC_INS_SDIVX, SPARC_INS_SMUL, SPARC_INS_SMULCC, SPARC_INS_ST, SPARC_INS_STB, SPARC_INS_STBAR, SPARC_INS_STD, SPARC_INS_STH, SPARC_INS_STQ, SPARC_INS_STX, SPARC_INS_SUB, SPARC_INS_SUBCC, SPARC_INS_SUBX, SPARC_INS_SUBXCC, SPARC_INS_TADDCC, SPARC_INS_TADDCCTV, SPARC_INS_TSUBCC, SPARC_INS_TSUBCCTV, SPARC_INS_UDIV, SPARC_INS_UDIVCC, SPARC_INS_UDIVX, SPARC_INS_UMUL, SPARC_INS_UMULCC, SPARC_INS_UMULXHI, SPARC_INS_UNIMP, SPARC_INS_XMULX, SPARC_INS_XMULXHI, SPARC_OP_IMM, SPARC_OP_MEM, SPARC_OP_REG, and type.
|
static |
Definition at line 384 of file analysis_sparc_cs.c.
|
static |
Definition at line 327 of file analysis_sparc_cs.c.
|
static |
Definition at line 77 of file analysis_sparc_cs.c.
References handle, INSOP, parse_reg_name(), reg, RZ_ANALYSIS_OP_TYPE_LOAD, RZ_ANALYSIS_OP_TYPE_MASK, RZ_ANALYSIS_OP_TYPE_STORE, RZ_ANALYSIS_VAL_MEM, rz_analysis_value_new(), SPARC_OP_MEM, type, and ZERO_FILL.
Referenced by analop().
Definition at line 16 of file analysis_sparc_cs.c.
References cs_reg_name(), handle, i, pj_end(), pj_free(), pj_ka(), pj_ki(), pj_kN(), pj_ks(), pj_new(), pj_o(), pj_string(), rz_strbuf_append(), rz_strbuf_init(), SPARC_OP_IMM, SPARC_OP_MEM, SPARC_OP_REG, SPARC_REG_INVALID, and x.
Referenced by analop().
Definition at line 58 of file analysis_sparc_cs.c.
References cs_reg_name(), handle, INSOP, reg, SPARC_OP_MEM, SPARC_OP_REG, SPARC_REG_INVALID, and type.
Referenced by op_fillval().
RZ_API RzLibStruct rizin_plugin |
Definition at line 401 of file analysis_sparc_cs.c.
RzAnalysisPlugin rz_analysis_plugin_sparc_cs |
Definition at line 388 of file analysis_sparc_cs.c.