diff options
| author | Camille Mougey <commial@gmail.com> | 2018-11-11 14:55:58 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-11 14:55:58 +0100 |
| commit | ea9faf29639542b219b0343e2a87de3a81c9df4b (patch) | |
| tree | 19ed391598d9e6a9098279f2f736abebc5a1e5b9 /miasm2/arch/x86/jit.py | |
| parent | 8d0f34b3049e31a9b789491d468cee0b72bfe24e (diff) | |
| parent | 329f058141844a2e499140d61887324c824a2d5e (diff) | |
| download | miasm-ea9faf29639542b219b0343e2a87de3a81c9df4b.tar.gz miasm-ea9faf29639542b219b0343e2a87de3a81c9df4b.zip | |
Merge pull request #867 from serpilliere/vm_get_int
Vm get int
Diffstat (limited to 'miasm2/arch/x86/jit.py')
| -rw-r--r-- | miasm2/arch/x86/jit.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/miasm2/arch/x86/jit.py b/miasm2/arch/x86/jit.py index 3322e722..d775cff5 100644 --- a/miasm2/arch/x86/jit.py +++ b/miasm2/arch/x86/jit.py @@ -1,7 +1,6 @@ import logging from miasm2.jitter.jitload import Jitter, named_arguments -from miasm2.core.utils import pck16, pck32, pck64, upck16, upck32, upck64 from miasm2.arch.x86.sem import ir_x86_16, ir_x86_32, ir_x86_64 from miasm2.jitter.codegen import CGen from miasm2.core.locationdb import LocationDB @@ -51,15 +50,15 @@ class jitter_x86_16(Jitter): def push_uint16_t(self, value): self.cpu.SP -= self.ir_arch.sp.size / 8 - self.vm.set_mem(self.cpu.SP, pck16(value)) + self.vm.set_u16(self.cpu.SP, value) def pop_uint16_t(self): - value = upck16(self.vm.get_mem(self.cpu.SP, self.ir_arch.sp.size / 8)) + value = self.vm.get_u16(self.cpu.SP) self.cpu.SP += self.ir_arch.sp.size / 8 return value def get_stack_arg(self, index): - return upck16(self.vm.get_mem(self.cpu.SP + 4 * index, 4)) + return self.vm.get_u16(self.cpu.SP + 4 * index) def init_run(self, *args, **kwargs): Jitter.init_run(self, *args, **kwargs) @@ -84,24 +83,24 @@ class jitter_x86_32(Jitter): def push_uint16_t(self, value): self.cpu.ESP -= self.ir_arch.sp.size / 8 - self.vm.set_mem(self.cpu.ESP, pck16(value)) + self.vm.set_u16(self.cpu.ESP, value) def pop_uint16_t(self): - value = upck16(self.vm.get_mem(self.cpu.ESP, self.ir_arch.sp.size / 8)) + value = self.vm.get_u16(self.cpu.ESP) self.cpu.ESP += self.ir_arch.sp.size / 8 return value def push_uint32_t(self, value): self.cpu.ESP -= self.ir_arch.sp.size / 8 - self.vm.set_mem(self.cpu.ESP, pck32(value)) + self.vm.set_u32(self.cpu.ESP, value) def pop_uint32_t(self): - value = upck32(self.vm.get_mem(self.cpu.ESP, self.ir_arch.sp.size / 8)) + value = self.vm.get_u32(self.cpu.ESP) self.cpu.ESP += self.ir_arch.sp.size / 8 return value def get_stack_arg(self, index): - return upck32(self.vm.get_mem(self.cpu.ESP + 4 * index, 4)) + return self.vm.get_u32(self.cpu.ESP + 4 * index) def init_run(self, *args, **kwargs): Jitter.init_run(self, *args, **kwargs) @@ -200,15 +199,15 @@ class jitter_x86_64(Jitter): def push_uint64_t(self, value): self.cpu.RSP -= self.ir_arch.sp.size / 8 - self.vm.set_mem(self.cpu.RSP, pck64(value)) + self.vm.set_u64(self.cpu.RSP, value) def pop_uint64_t(self): - value = upck64(self.vm.get_mem(self.cpu.RSP, self.ir_arch.sp.size / 8)) + value = self.vm.get_u64(self.cpu.RSP) self.cpu.RSP += self.ir_arch.sp.size / 8 return value def get_stack_arg(self, index): - return upck64(self.vm.get_mem(self.cpu.RSP + 8 * index, 8)) + return self.vm.get_u64(self.cpu.RSP + 8 * index) def init_run(self, *args, **kwargs): Jitter.init_run(self, *args, **kwargs) |