diff options
| author | Ajax <commial@gmail.com> | 2015-11-09 16:00:57 +0100 |
|---|---|---|
| committer | Ajax <commial@gmail.com> | 2015-11-09 16:00:57 +0100 |
| commit | f7792a8efc093096c79e19e0c1ff59da3de5907e (patch) | |
| tree | 1977bb9d8a9f784f3f3e1ac97464e905338d67ce | |
| parent | 857f4f33f952b2df40bc383f64c6b29d67952088 (diff) | |
| download | miasm-f7792a8efc093096c79e19e0c1ff59da3de5907e.tar.gz miasm-f7792a8efc093096c79e19e0c1ff59da3de5907e.zip | |
x86/Arch: INT 3 must produced an ExprInt8(3) (creds @serpilliere)
| -rw-r--r-- | miasm2/arch/x86/arch.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/arch/x86/arch.py b/miasm2/arch/x86/arch.py index 916b5428..2b9b3cb1 100644 --- a/miasm2/arch/x86/arch.py +++ b/miasm2/arch/x86/arch.py @@ -1041,8 +1041,10 @@ class x86_imm(imm_noarg): return swap_uint(self.l, v) -class x86_imm_fix(imm_noarg): +class x86_imm_fix_08(imm_noarg): parser = base_expr + intsize = 8 + intmask = (1 << intsize) - 1 def decodeval(self, v): return self.ival @@ -2980,7 +2982,7 @@ u16 = bs(l=16, cls=(x86_16, m_arg)) u32 = bs(l=32, cls=(x86_32, m_arg)) s3264 = bs(l=32, cls=(x86_s32to64, m_arg)) -u08_3 = bs(l=0, cls=(x86_imm_fix, m_arg), ival = 3) +u08_3 = bs(l=0, cls=(x86_imm_fix_08, m_arg), ival = 3) d0 = bs("000", fname='reg') d1 = bs("001", fname='reg') |