From fac2ccb49a4d45face2f16d820bf0df43855fdad Mon Sep 17 00:00:00 2001 From: xor Date: Sun, 9 Jun 2024 11:21:17 +0200 Subject: [PATCH] fix int 21h ah=4c --- angr_platforms/X86_16/instr_base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/angr_platforms/X86_16/instr_base.py b/angr_platforms/X86_16/instr_base.py index baca1b8..6f612e7 100644 --- a/angr_platforms/X86_16/instr_base.py +++ b/angr_platforms/X86_16/instr_base.py @@ -404,8 +404,8 @@ def int3(self) -> None: def int_imm8(self) -> None: self.emu.lifter_instruction.put(self.emu.constant(self.instr.imm8), "ip_at_syscall") - exit = self.instr.imm8 == 0x21 and self.emu.get_gpreg(reg8_t.AH) == 0x4c - self.emu.lifter_instruction.jump(not exit, self.emu.get_gpreg(reg8_t.AL), JumpKind.Exit) + exit = self.emu.constant(self.instr.imm8 == 0x21) and self.emu.get_gpreg(reg8_t.AH) == 0x4c + self.emu.lifter_instruction.jump(~exit, self.emu.get_gpreg(reg8_t.AL), JumpKind.Exit) self.emu.lifter_instruction.jump(None, self.emu.get_gpreg(reg16_t.AX), JumpKind.Syscall) #raise Exception("INT %x" % self.instr.imm8) #self.emu.queue_interrupt(self.instr.imm8, False)