Example #1
0
from miasm2.expression.expression import *
from miasm2.core.cpu import reg_info

# GP

regs16_str = ["PC", "SP", "SR"] + ["R%d" % i for i in xrange(3, 16)]
regs16_expr = [ExprId(x, 16) for x in regs16_str]

exception_flags = ExprId('exception_flags', 32)

gpregs = reg_info(regs16_str, regs16_expr)

PC = regs16_expr[0]
SP = regs16_expr[1]
SR = regs16_expr[2]
R3 = regs16_expr[3]
R4 = regs16_expr[4]
R5 = regs16_expr[5]
R6 = regs16_expr[6]
R7 = regs16_expr[7]
R8 = regs16_expr[8]
R9 = regs16_expr[9]
R10 = regs16_expr[10]
R11 = regs16_expr[11]
R12 = regs16_expr[12]
R13 = regs16_expr[13]
R14 = regs16_expr[14]
R15 = regs16_expr[15]

PC_init = ExprId("PC_init", 16)
SP_init = ExprId("SP_init", 16)
Example #2
0
from miasm2.expression.expression import *
from miasm2.core.cpu import reg_info, gen_reg

# GP
gpregs_str = ['R%d' % r for r in xrange(0x10)]
gpregs_expr = [ExprId(x, 32) for x in gpregs_str]
gpregs = reg_info(gpregs_str, gpregs_expr)

bgpregs_str = ['R%d_BANK' % r for r in xrange(0x8)]
bgpregs_expr = [ExprId(x, 32) for x in bgpregs_str]
bgpregs = reg_info(bgpregs_str, bgpregs_expr)

fregs_str = ['FR%d' % r for r in xrange(0x10)]
fregs_expr = [ExprId(x, 32) for x in fregs_str]
fregs = reg_info(fregs_str, fregs_expr)

dregs_str = ['DR%d' % r for r in xrange(0x8)]
dregs_expr = [ExprId(x, 32) for x in dregs_str]
dregs = reg_info(dregs_str, dregs_expr)


gen_reg('PC', globals())
gen_reg('PR', globals())
gen_reg('R0', globals())
gen_reg('GBR', globals())
gen_reg('SR', globals())
gen_reg('VBR', globals())
gen_reg('SSR', globals())
gen_reg('SPC', globals())
gen_reg('SGR', globals())
gen_reg('DBR', globals())
Example #3
0
regs32_expr = [ExprId(x, 32) for x in regs32_str]

regs64_str = ["RAX", "RCX", "RDX", "RBX", "RSP", "RBP", "RSI", "RDI",
              "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15",
              "RIP"]
regs64_expr = [ExprId(x, 64) for x in regs64_str]


regs_xmm_str = ["XMM%d" % i for i in xrange(16)]
regs_xmm_expr = [ExprId(x, 128) for x in regs_xmm_str]

regs_mm_str = ["MM%d" % i for i in xrange(16)]
regs_mm_expr = [ExprId(x, 64) for x in regs_mm_str]


gpregs08 = reg_info(regs08_str, regs08_expr)
gpregs08_64 = reg_info(regs08_64_str, regs08_64_expr)
gpregs16 = reg_info(regs16_str, regs16_expr)
gpregs32 = reg_info(regs32_str, regs32_expr)
gpregs64 = reg_info(regs64_str, regs64_expr)

gpregs_xmm = reg_info(regs_xmm_str, regs_xmm_expr)
gpregs_mm = reg_info(regs_mm_str, regs_mm_expr)

r08_eax = reg_info([regs08_str[0]], [regs08_expr[0]])
r16_eax = reg_info([regs16_str[0]], [regs16_expr[0]])
r32_eax = reg_info([regs32_str[0]], [regs32_expr[0]])
r64_eax = reg_info([regs64_str[0]], [regs64_expr[0]])

r08_ecx = reg_info([regs08_str[1]], [regs08_expr[1]])
Example #4
0
from pyparsing import Literal, Group, Optional

from miasm2.expression.expression import ExprMem, ExprInt, ExprInt32, ExprId
from miasm2.core.bin_stream import bin_stream
import miasm2.arch.mips32.regs as regs
import miasm2.core.cpu as cpu
from miasm2.core.asmbloc import asm_label

log = logging.getLogger("mips32dis")
console_handler = logging.StreamHandler()
console_handler.setFormatter(logging.Formatter("%(levelname)-5s: %(message)s"))
log.addHandler(console_handler)
log.setLevel(logging.DEBUG)


gpregs = cpu.reg_info(regs.regs32_str, regs.regs32_expr)


LPARENTHESIS = Literal("(")
RPARENTHESIS = Literal(")")


def deref2expr(s, l, t):
    t = t[0]
    if len(t) != 4:
        raise NotImplementedError("TODO")

    return ExprMem(t[2] + t[0])


def deref2expr_nooff(s, l, t):
Example #5
0
from pyparsing import Literal, Group, Optional

from miasm2.expression.expression import ExprMem, ExprInt, ExprId
from miasm2.core.bin_stream import bin_stream
import miasm2.arch.mips32.regs as regs
import miasm2.core.cpu as cpu

log = logging.getLogger("mips32dis")
console_handler = logging.StreamHandler()
console_handler.setFormatter(logging.Formatter("%(levelname)-5s: %(message)s"))
log.addHandler(console_handler)
log.setLevel(logging.DEBUG)


gpregs = cpu.reg_info(regs.regs32_str, regs.regs32_expr)



LPARENTHESIS = Literal("(")
RPARENTHESIS = Literal(")")

def deref2expr(s, l, t):
    t = t[0]
    if len(t) != 4:
        raise NotImplementedError("TODO")

    return ExprMem(t[2] + t[0])

def deref2expr_nooff(s, l, t):
    t = t[0]
Example #6
0
from miasm2.expression.expression import *
from miasm2.core.cpu import reg_info, gen_reg

# GP
gpregs_str = ['R%d' % r for r in xrange(0x10)]
gpregs_expr = [ExprId(x, 32) for x in gpregs_str]
gpregs = reg_info(gpregs_str, gpregs_expr)

bgpregs_str = ['R%d_BANK' % r for r in xrange(0x8)]
bgpregs_expr = [ExprId(x, 32) for x in bgpregs_str]
bgpregs = reg_info(bgpregs_str, bgpregs_expr)

fregs_str = ['FR%d' % r for r in xrange(0x10)]
fregs_expr = [ExprId(x, 32) for x in fregs_str]
fregs = reg_info(fregs_str, fregs_expr)

dregs_str = ['DR%d' % r for r in xrange(0x8)]
dregs_expr = [ExprId(x, 32) for x in dregs_str]
dregs = reg_info(dregs_str, dregs_expr)

gen_reg('PC', globals())
gen_reg('PR', globals())
gen_reg('R0', globals())
gen_reg('GBR', globals())
gen_reg('SR', globals())
gen_reg('VBR', globals())
gen_reg('SSR', globals())
gen_reg('SPC', globals())
gen_reg('SGR', globals())
gen_reg('DBR', globals())
gen_reg('MACH', globals())
Example #7
0
from miasm2.expression.expression import *
from miasm2.core.cpu import reg_info


# GP

regs16_str = ["PC", "SP", "SR"] + ["R%d" % i for i in xrange(3, 16)]
regs16_expr = [ExprId(x, 16) for x in regs16_str]

exception_flags = ExprId('exception_flags', 32)

gpregs = reg_info(regs16_str, regs16_expr)

PC = regs16_expr[0]
SP = regs16_expr[1]
SR = regs16_expr[2]
R3 = regs16_expr[3]
R4 = regs16_expr[4]
R5 = regs16_expr[5]
R6 = regs16_expr[6]
R7 = regs16_expr[7]
R8 = regs16_expr[8]
R9 = regs16_expr[9]
R10 = regs16_expr[10]
R11 = regs16_expr[11]
R12 = regs16_expr[12]
R13 = regs16_expr[13]
R14 = regs16_expr[14]
R15 = regs16_expr[15]

PC_init = ExprId("PC_init", 16)
Example #8
0
File: regs.py Project: rootml/miasm
    "R13",
    "R14",
    "R15",
    "RIP",
]
regs64_expr = [ExprId(x, 64) for x in regs64_str]


regs_xmm_str = ["XMM%d" % i for i in xrange(16)]
regs_xmm_expr = [ExprId(x, 128) for x in regs_xmm_str]

regs_mm_str = ["MM%d" % i for i in xrange(16)]
regs_mm_expr = [ExprId(x, 64) for x in regs_mm_str]


gpregs08 = reg_info(regs08_str, regs08_expr)
gpregs08_64 = reg_info(regs08_64_str, regs08_64_expr)
gpregs16 = reg_info(regs16_str, regs16_expr)
gpregs32 = reg_info(regs32_str, regs32_expr)
gpregs64 = reg_info(regs64_str, regs64_expr)

gpregs_xmm = reg_info(regs_xmm_str, regs_xmm_expr)
gpregs_mm = reg_info(regs_mm_str, regs_mm_expr)

r08_eax = reg_info([regs08_str[0]], [regs08_expr[0]])
r16_eax = reg_info([regs16_str[0]], [regs16_expr[0]])
r32_eax = reg_info([regs32_str[0]], [regs32_expr[0]])
r64_eax = reg_info([regs64_str[0]], [regs64_expr[0]])

r08_ecx = reg_info([regs08_str[1]], [regs08_expr[1]])