示例#1
0
    def lift_jsr(il: LowLevelILFunction, insn: SHInsn):
        assert len(insn.opcode["args"]
                   ) == 1, f"Invalid instruction at: 0x{insn.addr:x}"

        op_1 = insn.opcode["args"][0]

        il.append(il.call(Lifter._lift_op(il, insn, op_1)))
示例#2
0
    def lift_bsrf(il: LowLevelILFunction, insn: SHInsn):
        assert len(insn.opcode["args"]
                   ) == 1, f"Invalid instruction at: 0x{insn.addr:x}"

        op_1 = insn.opcode["args"][0]

        il.append(
            il.call(
                il.add(
                    RSIZE, il.const(RSIZE, insn.addr),
                    il.add(RSIZE, il.reg(RSIZE, op_1.reg), il.const(RSIZE,
                                                                    4)))))