miasm
Reverse engineering framework
|
Classes | |
class | additional_info |
class | bs_cond |
class | bs_cond_mod |
class | bs_cond_name |
class | instruction_mips32 |
class | mips32_arg |
class | mips32_cpr |
class | mips32_dreg_imm |
class | mips32_eposh |
class | mips32_esize |
class | mips32_fccreg |
class | mips32_fltpreg |
class | mips32_gpreg |
class | mips32_imm |
class | mips32_instr_index |
class | mips32_reg |
class | mips32_s09imm |
class | mips32_s09imm_noarg |
class | mips32_s16imm |
class | mips32_s16imm_noarg |
class | mips32_soff |
class | mips32_soff_noarg |
class | mips32_u16imm |
class | mn_mips32 |
Functions | |
def | cb_deref (tokens) |
def | cb_deref_nooff (tokens) |
def | mips32op (name, fields, args=None, alias=False) |
Variables | |
log = logging.getLogger("mips32dis") | |
console_handler = logging.StreamHandler() | |
gpregs = cpu.reg_info(regs.regs32_str, regs.regs32_expr) | |
LPARENTHESIS = Literal("(") | |
RPARENTHESIS = Literal(")") | |
base_expr = cpu.base_expr | |
tuple | deref_off = (Optional(base_expr) + LPARENTHESIS + gpregs.parser + RPARENTHESIS).setParseAction(cb_deref) |
tuple | deref_nooff = (LPARENTHESIS + gpregs.parser + RPARENTHESIS).setParseAction(cb_deref_nooff) |
tuple | deref = deref_off | deref_nooff |
list | br_0 = ['B', 'J', 'JR', 'BAL', 'JAL', 'JALR'] |
list | br_1 = ['BGEZ', 'BLTZ', 'BGTZ', 'BGTZL', 'BLEZ', 'BLEZL', 'BC1T', 'BC1TL', 'BC1F', 'BC1FL'] |
list | br_2 = ['BEQ', 'BEQL', 'BNE', 'BNEL'] |
rs = cpu.bs(l=5, cls=(mips32_gpreg,)) | |
rt = cpu.bs(l=5, cls=(mips32_gpreg,)) | |
rd = cpu.bs(l=5, cls=(mips32_gpreg,)) | |
ft = cpu.bs(l=5, cls=(mips32_fltpreg,)) | |
fs = cpu.bs(l=5, cls=(mips32_fltpreg,)) | |
fd = cpu.bs(l=5, cls=(mips32_fltpreg,)) | |
s16imm = cpu.bs(l=16, cls=(mips32_s16imm,)) | |
u16imm = cpu.bs(l=16, cls=(mips32_u16imm,)) | |
s09imm = cpu.bs(l=9, cls=(mips32_s09imm,)) | |
sa = cpu.bs(l=5, cls=(mips32_u16imm,)) | |
base = cpu.bs(l=5, cls=(mips32_dreg_imm,)) | |
soff = cpu.bs(l=16, cls=(mips32_soff,)) | |
oper = cpu.bs(l=5, cls=(mips32_u16imm,)) | |
cpr0 = cpu.bs(l=5, cls=(mips32_imm,), fname="cpr0") | |
cpr = cpu.bs(l=3, cls=(mips32_cpr,)) | |
stype = cpu.bs(l=5, cls=(mips32_u16imm,)) | |
hint_pref = cpu.bs(l=5, cls=(mips32_u16imm,)) | |
s16imm_noarg | |
s09imm_noarg | |
hint = cpu.bs(l=5, default_val="00000") | |
fcc = cpu.bs(l=3, cls=(mips32_fccreg,)) | |
sel = cpu.bs(l=3, cls=(mips32_u16imm,)) | |
code = cpu.bs(l=20, cls=(mips32_u16imm,)) | |
esize = cpu.bs(l=5, cls=(mips32_esize,)) | |
epos | |
eposh = cpu.bs(l=5, cls=(mips32_eposh,)) | |
instr_index = cpu.bs(l=26, cls=(mips32_instr_index,)) | |
bs_fmt | |
bs_cond | |
bs_arith | |
bs_shift | |
bs_shift1 | |
bs_arithfmt | |
bs_s_l | |
bs_oax | |
bs_bcc | |
bs_code = cpu.bs(l=10) | |
alias | |
def miasm.arch.mips32.arch.cb_deref | ( | tokens | ) |
def miasm.arch.mips32.arch.cb_deref_nooff | ( | tokens | ) |
def miasm.arch.mips32.arch.mips32op | ( | name, | |
fields, | |||
args = None , |
|||
alias = False |
|||
) |
miasm.arch.mips32.arch.alias |
miasm.arch.mips32.arch.base = cpu.bs(l=5, cls=(mips32_dreg_imm,)) |
miasm.arch.mips32.arch.base_expr = cpu.base_expr |
list miasm.arch.mips32.arch.br_0 = ['B', 'J', 'JR', 'BAL', 'JAL', 'JALR'] |
list miasm.arch.mips32.arch.br_1 = ['BGEZ', 'BLTZ', 'BGTZ', 'BGTZL', 'BLEZ', 'BLEZL', 'BC1T', 'BC1TL', 'BC1F', 'BC1FL'] |
list miasm.arch.mips32.arch.br_2 = ['BEQ', 'BEQL', 'BNE', 'BNEL'] |
miasm.arch.mips32.arch.bs_arith |
miasm.arch.mips32.arch.bs_arithfmt |
miasm.arch.mips32.arch.bs_bcc |
miasm.arch.mips32.arch.bs_code = cpu.bs(l=10) |
miasm.arch.mips32.arch.bs_fmt |
miasm.arch.mips32.arch.bs_oax |
miasm.arch.mips32.arch.bs_s_l |
miasm.arch.mips32.arch.bs_shift |
miasm.arch.mips32.arch.bs_shift1 |
miasm.arch.mips32.arch.code = cpu.bs(l=20, cls=(mips32_u16imm,)) |
miasm.arch.mips32.arch.console_handler = logging.StreamHandler() |
miasm.arch.mips32.arch.cpr = cpu.bs(l=3, cls=(mips32_cpr,)) |
miasm.arch.mips32.arch.cpr0 = cpu.bs(l=5, cls=(mips32_imm,), fname="cpr0") |
tuple miasm.arch.mips32.arch.deref = deref_off | deref_nooff |
tuple miasm.arch.mips32.arch.deref_nooff = (LPARENTHESIS + gpregs.parser + RPARENTHESIS).setParseAction(cb_deref_nooff) |
tuple miasm.arch.mips32.arch.deref_off = (Optional(base_expr) + LPARENTHESIS + gpregs.parser + RPARENTHESIS).setParseAction(cb_deref) |
miasm.arch.mips32.arch.epos |
miasm.arch.mips32.arch.eposh = cpu.bs(l=5, cls=(mips32_eposh,)) |
miasm.arch.mips32.arch.esize = cpu.bs(l=5, cls=(mips32_esize,)) |
miasm.arch.mips32.arch.fcc = cpu.bs(l=3, cls=(mips32_fccreg,)) |
miasm.arch.mips32.arch.fd = cpu.bs(l=5, cls=(mips32_fltpreg,)) |
miasm.arch.mips32.arch.fs = cpu.bs(l=5, cls=(mips32_fltpreg,)) |
miasm.arch.mips32.arch.ft = cpu.bs(l=5, cls=(mips32_fltpreg,)) |
miasm.arch.mips32.arch.gpregs = cpu.reg_info(regs.regs32_str, regs.regs32_expr) |
miasm.arch.mips32.arch.hint = cpu.bs(l=5, default_val="00000") |
miasm.arch.mips32.arch.hint_pref = cpu.bs(l=5, cls=(mips32_u16imm,)) |
miasm.arch.mips32.arch.instr_index = cpu.bs(l=26, cls=(mips32_instr_index,)) |
miasm.arch.mips32.arch.log = logging.getLogger("mips32dis") |
miasm.arch.mips32.arch.LPARENTHESIS = Literal("(") |
miasm.arch.mips32.arch.oper = cpu.bs(l=5, cls=(mips32_u16imm,)) |
miasm.arch.mips32.arch.rd = cpu.bs(l=5, cls=(mips32_gpreg,)) |
miasm.arch.mips32.arch.RPARENTHESIS = Literal(")") |
miasm.arch.mips32.arch.rs = cpu.bs(l=5, cls=(mips32_gpreg,)) |
miasm.arch.mips32.arch.rt = cpu.bs(l=5, cls=(mips32_gpreg,)) |
miasm.arch.mips32.arch.s09imm = cpu.bs(l=9, cls=(mips32_s09imm,)) |
miasm.arch.mips32.arch.s09imm_noarg |
miasm.arch.mips32.arch.s16imm = cpu.bs(l=16, cls=(mips32_s16imm,)) |
miasm.arch.mips32.arch.s16imm_noarg |
miasm.arch.mips32.arch.sa = cpu.bs(l=5, cls=(mips32_u16imm,)) |
miasm.arch.mips32.arch.sel = cpu.bs(l=3, cls=(mips32_u16imm,)) |
miasm.arch.mips32.arch.soff = cpu.bs(l=16, cls=(mips32_soff,)) |
miasm.arch.mips32.arch.stype = cpu.bs(l=5, cls=(mips32_u16imm,)) |
miasm.arch.mips32.arch.u16imm = cpu.bs(l=16, cls=(mips32_u16imm,)) |