Beispiel #1
0
def dw_op_regx(obj, data):
    data = pack(data)
    indx, blen = read_leb128(data)
    sz = env.op_ptr.size
    r = env.reg("reg%d" % indx, sz)
    obj.operands = [r]
    obj.bytes += data[:blen]
    obj.type = type_data_processing
Beispiel #2
0
 def dw_op_breg(obj, data, _num):
     data = pack(data)
     result, blen = read_sleb128(data)
     sz = env.op_ptr.size
     offset = env.cst(result, blen * 8).signextend(sz)
     obj.operands = [env.reg("reg%d" % _num, sz) + offset]
     obj.bytes += data[:blen]
     obj.type = type_data_processing
Beispiel #3
0
def dw_op_bregx(obj, data):
    data = pack(data)
    indx, blen = read_leb128(data)
    sz = env.op_ptr.size
    r = env.reg("reg%d" % indx, sz)
    obj.bytes += data[:blen]
    data = data[blen:]
    result, blen = read_sleb128(data)
    offset = env.cst(result, blen * 8).signextend(sz)
    obj.operands = [r + offset]
    obj.bytes += data[:blen]
    obj.type = type_data_processing
Beispiel #4
0
 def dw_op_reg(obj, _num):
     sz = env.op_ptr.size
     obj.operands = [env.reg("reg%d" % _num, sz)]
     obj.type = type_data_processing