miasm
Reverse engineering framework
op_semantics.h
Go to the documentation of this file.
1 #ifndef OP_SEMANTICS_H
2 #define OP_SEMANTICS_H
3 
4 #include <stdint.h>
5 
6 #if _WIN32
7 #define _MIASM_EXPORT __declspec(dllexport)
8 #define _MIASM_IMPORT __declspec(dllimport)
9 #else
10 #define _MIASM_EXPORT
11 #define _MIASM_IMPORT
12 #endif
13 
14 #define CC_P 1
15 #ifdef PARITY_IMPORT
16 _MIASM_IMPORT extern const uint8_t parity_table[256];
17 #else
18 _MIASM_EXPORT extern const uint8_t parity_table[256];
19 #endif
20 #define parity(a) parity_table[(a) & 0xFF]
21 
22 
23 _MIASM_EXPORT uint16_t bcdadd_16(uint16_t a, uint16_t b);
24 _MIASM_EXPORT uint16_t bcdadd_cf_16(uint16_t a, uint16_t b);
25 
26 
27 _MIASM_EXPORT unsigned int my_imul08(unsigned int a, unsigned int b);
28 _MIASM_EXPORT unsigned int mul_lo_op(unsigned int size, unsigned int a, unsigned int b);
29 _MIASM_EXPORT unsigned int mul_hi_op(unsigned int size, unsigned int a, unsigned int b);
30 _MIASM_EXPORT unsigned int imul_lo_op_08(char a, char b);
31 _MIASM_EXPORT unsigned int imul_lo_op_16(short a, short b);
32 _MIASM_EXPORT unsigned int imul_lo_op_32(int a, int b);
33 _MIASM_EXPORT int imul_hi_op_08(char a, char b);
34 _MIASM_EXPORT int imul_hi_op_16(short a, short b);
35 _MIASM_EXPORT int imul_hi_op_32(int a, int b);
36 
37 
38 _MIASM_EXPORT unsigned int umul16_lo(unsigned short a, unsigned short b);
39 _MIASM_EXPORT unsigned int umul16_hi(unsigned short a, unsigned short b);
40 
41 
42 _MIASM_EXPORT uint64_t rot_left(uint64_t size, uint64_t a, uint64_t b);
43 _MIASM_EXPORT uint64_t rot_right(uint64_t size, uint64_t a, uint64_t b);
44 
45 _MIASM_EXPORT uint64_t cntleadzeros(uint64_t size, uint64_t src);
46 _MIASM_EXPORT unsigned int cnttrailzeros(uint64_t size, uint64_t src);
47 
48 #define UDIV(sizeA) \
49  uint ## sizeA ## _t udiv ## sizeA (uint ## sizeA ## _t a, uint ## sizeA ## _t b) \
50  { \
51  uint ## sizeA ## _t r; \
52  if (b == 0) { \
53  fprintf(stderr, "Should not happen\n"); \
54  exit(EXIT_FAILURE); \
55  } \
56  r = a/b; \
57  return r; \
58  }
59 
60 
61 #define UMOD(sizeA) \
62  uint ## sizeA ## _t umod ## sizeA (uint ## sizeA ## _t a, uint ## sizeA ## _t b) \
63  { \
64  uint ## sizeA ## _t r; \
65  if (b == 0) { \
66  fprintf(stderr, "Should not happen\n"); \
67  exit(EXIT_FAILURE); \
68  } \
69  r = a%b; \
70  return r; \
71  }
72 
73 
74 #define SDIV(sizeA) \
75  int ## sizeA ## _t sdiv ## sizeA (int ## sizeA ## _t a, int ## sizeA ## _t b) \
76  { \
77  int ## sizeA ## _t r; \
78  if (b == 0) { \
79  fprintf(stderr, "Should not happen\n"); \
80  exit(EXIT_FAILURE); \
81  } \
82  r = a/b; \
83  return r; \
84  }
85 
86 
87 #define SMOD(sizeA) \
88  int ## sizeA ## _t smod ## sizeA (int ## sizeA ## _t a, int ## sizeA ## _t b) \
89  { \
90  int ## sizeA ## _t r; \
91  if (b == 0) { \
92  fprintf(stderr, "Should not happen\n"); \
93  exit(EXIT_FAILURE); \
94  } \
95  r = a%b; \
96  return r; \
97  }
98 
99 _MIASM_EXPORT uint64_t udiv64(uint64_t a, uint64_t b);
100 _MIASM_EXPORT uint64_t umod64(uint64_t a, uint64_t b);
101 _MIASM_EXPORT int64_t sdiv64(int64_t a, int64_t b);
102 _MIASM_EXPORT int64_t smod64(int64_t a, int64_t b);
103 
104 _MIASM_EXPORT uint32_t udiv32(uint32_t a, uint32_t b);
105 _MIASM_EXPORT uint32_t umod32(uint32_t a, uint32_t b);
106 _MIASM_EXPORT int32_t sdiv32(int32_t a, int32_t b);
107 _MIASM_EXPORT int32_t smod32(int32_t a, int32_t b);
108 
109 _MIASM_EXPORT uint16_t udiv16(uint16_t a, uint16_t b);
110 _MIASM_EXPORT uint16_t umod16(uint16_t a, uint16_t b);
111 _MIASM_EXPORT int16_t sdiv16(int16_t a, int16_t b);
112 _MIASM_EXPORT int16_t smod16(int16_t a, int16_t b);
113 
114 _MIASM_EXPORT uint8_t udiv8(uint8_t a, uint8_t b);
115 _MIASM_EXPORT uint8_t umod8(uint8_t a, uint8_t b);
116 _MIASM_EXPORT int8_t sdiv8(int8_t a, int8_t b);
117 _MIASM_EXPORT int8_t smod8(int8_t a, int8_t b);
118 
119 _MIASM_EXPORT unsigned int x86_cpuid(unsigned int a, unsigned int reg_num);
120 
121 _MIASM_EXPORT uint32_t fpu_fadd32(uint32_t a, uint32_t b);
122 _MIASM_EXPORT uint64_t fpu_fadd64(uint64_t a, uint64_t b);
123 _MIASM_EXPORT uint32_t fpu_fsub32(uint32_t a, uint32_t b);
124 _MIASM_EXPORT uint64_t fpu_fsub64(uint64_t a, uint64_t b);
125 _MIASM_EXPORT uint32_t fpu_fmul32(uint32_t a, uint32_t b);
126 _MIASM_EXPORT uint64_t fpu_fmul64(uint64_t a, uint64_t b);
127 _MIASM_EXPORT uint32_t fpu_fdiv32(uint32_t a, uint32_t b);
128 _MIASM_EXPORT uint64_t fpu_fdiv64(uint64_t a, uint64_t b);
129 _MIASM_EXPORT double fpu_ftan(double a);
130 _MIASM_EXPORT double fpu_frndint(double a);
131 _MIASM_EXPORT double fpu_fsin(double a);
132 _MIASM_EXPORT double fpu_fcos(double a);
133 _MIASM_EXPORT double fpu_fscale(double a, double b);
134 _MIASM_EXPORT double fpu_f2xm1(double a);
135 _MIASM_EXPORT uint32_t fpu_fsqrt32(uint32_t a);
136 _MIASM_EXPORT uint64_t fpu_fsqrt64(uint64_t a);
137 _MIASM_EXPORT uint64_t fpu_fabs64(uint64_t a);
138 _MIASM_EXPORT uint64_t fpu_fprem64(uint64_t a, uint64_t b);
139 _MIASM_EXPORT double fpu_fchs(double a);
140 _MIASM_EXPORT double fpu_fyl2x(double a, double b);
141 _MIASM_EXPORT double fpu_fpatan(double a, double b);
142 _MIASM_EXPORT unsigned int fpu_fcom_c0(double a, double b);
143 _MIASM_EXPORT unsigned int fpu_fcom_c1(double a, double b);
144 _MIASM_EXPORT unsigned int fpu_fcom_c2(double a, double b);
145 _MIASM_EXPORT unsigned int fpu_fcom_c3(double a, double b);
146 
147 _MIASM_EXPORT uint64_t sint_to_fp_64(int64_t a);
148 _MIASM_EXPORT uint32_t sint_to_fp_32(int32_t a);
149 _MIASM_EXPORT int32_t fp32_to_sint32(uint32_t a);
150 _MIASM_EXPORT int64_t fp64_to_sint64(uint64_t a);
151 _MIASM_EXPORT int32_t fp64_to_sint32(uint64_t a);
152 _MIASM_EXPORT uint32_t fp64_to_fp32(uint64_t a);
153 _MIASM_EXPORT uint64_t fp32_to_fp64(uint32_t a);
154 _MIASM_EXPORT uint32_t fpround_towardszero_fp32(uint32_t a);
155 _MIASM_EXPORT uint64_t fpround_towardszero_fp64(uint64_t a);
156 
157 #define SHIFT_RIGHT_ARITH(size, value, shift) \
158  ((uint ## size ## _t)((((uint64_t) (shift)) > ((size) - 1))? \
159  (((int ## size ## _t) (value)) < 0 ? -1 : 0) : \
160  (((int ## size ## _t) (value)) >> (shift))))
161 
162 #define SHIFT_RIGHT_LOGIC(size, value, shift) \
163  ((uint ## size ## _t)((((uint64_t) (shift)) > ((size) - 1))? \
164  0 : \
165  (((uint ## size ## _t) (value)) >> (shift))))
166 
167 #define SHIFT_LEFT_LOGIC(size, value, shift) \
168  ((uint ## size ## _t)((((uint64_t) (shift)) > ((size) - 1))? \
169  0 : \
170  (((uint ## size ## _t) (value)) << (shift))))
171 
172 #endif
miasm.jitter.llvmconvert.LLVMContext_JIT.has_delayslot
has_delayslot
Definition: llvmconvert.py:269
fpu_fcom_c2
unsigned int fpu_fcom_c2(double a, double b)
Definition: op_semantics.c:741
miasm.jitter.llvmconvert.LLVMFunction.my_args
my_args
Definition: llvmconvert.py:532
miasm.jitter.jitload.Jitter.bs
bs
Definition: jitload.py:221
miasm.jitter.jitcore.JitCore.disasm_cb
def disasm_cb(self)
Definition: jitcore.py:296
miasm.jitter.jitcore.JitCore.arch_name
arch_name
Definition: jitcore.py:48
miasm.jitter.jitload.Jitter.init_run
def init_run(self, pc)
Definition: jitload.py:392
miasm.loader.new_cstruct.CStruct
Definition: new_cstruct.py:171
miasm.loader.pe.DirDelay.add_dlldesc
def add_dlldesc(self, new_dll)
Definition: pe.py:1013
miasm.jitter.jitload.Jitter.add_exception_handler
def add_exception_handler(self, flag, callback)
Definition: jitload.py:324
jitted_func
int(* jitted_func)(block_id *, PyObject *)
Definition: Jitgcc.c:11
bcdadd_16
uint16_t bcdadd_16(uint16_t a, uint16_t b)
Definition: op_semantics.c:43
miasm.jitter.loader.utils.libimp.cname2addr
cname2addr
Definition: utils.py:33
miasm.jitter.jitcore.JitCore.__updt_jitcode_mem_range
def __updt_jitcode_mem_range(self, vm)
Definition: jitcore.py:204
rot_left
uint64_t rot_left(uint64_t size, uint64_t a, uint64_t b)
Definition: op_semantics.c:172
sdiv8
_MIASM_EXPORT int8_t sdiv8(int8_t a, int8_t b)
miasm.jitter.jitcore.JitCore.disasm_and_jit_block
def disasm_and_jit_block(self, addr, vm)
Definition: jitcore.py:126
miasm.jitter.jitload.CallbackHandler.remove_key
def remove_key(self, key)
Definition: jitload.py:115
x86_cpuid
unsigned int x86_cpuid(unsigned int a, unsigned int reg_num)
Definition: op_semantics.c:299
bn.h
miasm.jitter.loader.utils.libimp.lib_get_add_func
def lib_get_add_func(self, libad, imp_ord_or_name, dst_ad=None)
Definition: utils.py:59
full.log
log
Definition: full.py:20
miasm.jitter.jitload.ExceptionHandle
Definition: jitload.py:156
miasm.jitter.jitcore_python.JitCore_Python.SymbExecClass
SymbExecClass
Definition: jitcore_python.py:17
miasm.jitter.jitcore_gcc.JitCore_Gcc.load_code
def load_code(self, label, fname_so)
Definition: jitcore_gcc.py:36
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.gen_C_source
def gen_C_source(ir_arch, func_code)
Definition: jitcore_cc_base.py:127
miasm.loader.pe.DirTls
Definition: pe.py:1601
miasm.loader.pe.DirReloc.sete
def sete(self, entries)
Definition: pe.py:1174
miasm.jitter.llvmconvert.LLVMFunction.gen_post_instr_checks
def gen_post_instr_checks(self, attrib, next_instr)
Definition: llvmconvert.py:1433
sint_to_fp_32
_MIASM_EXPORT uint32_t sint_to_fp_32(int32_t a)
Definition: op_semantics.c:763
umod16
_MIASM_EXPORT uint16_t umod16(uint16_t a, uint16_t b)
miasm.jitter.jitcore_llvm
Definition: jitcore_llvm.py:1
miasm.loader.pe.SHList.align_sections
def align_sections(self, f_align=None, s_align=None)
Definition: pe.py:212
bcdadd_cf_16
_MIASM_EXPORT uint16_t bcdadd_cf_16(uint16_t a, uint16_t b)
Definition: op_semantics.c:67
miasm.jitter.llvmconvert.LLVMContext_JIT.ir_arch
ir_arch
Definition: llvmconvert.py:227
miasm.loader.elf.Phdr
Definition: elf.py:34
miasm.jitter.jitload.CallbackHandler.remove_callback
def remove_callback(self, callback)
Definition: jitload.py:92
miasm.arch.msp430.regs.res
res
Definition: regs.py:71
miasm.expression.expression.ExprAssign
Definition: expression.py:931
miasm.loader.pe.DirImport.get_funcvirt
def get_funcvirt(self, dllname, funcname)
Definition: pe.py:618
miasm.loader.new_cstruct.CStruct.parent_head
parent_head
Definition: new_cstruct.py:176
miasm.jitter.llvmconvert.LLVMContext_JIT.cache_getbuffer
def cache_getbuffer(module)
Definition: llvmconvert.py:437
miasm.loader.elf.Sym32
Definition: elf.py:60
miasm.loader.cstruct
Definition: cstruct.py:1
udiv32
_MIASM_EXPORT uint32_t udiv32(uint32_t a, uint32_t b)
miasm.jitter.jitcore_cc_base.resolver
Definition: jitcore_cc_base.py:42
vm_mngr.h
miasm.loader.pe.struct_array.insert
def insert(self, index, entry)
Definition: pe.py:331
JitCore_x86.h
fpu_fsqrt32
uint32_t fpu_fsqrt32(uint32_t a)
Definition: op_semantics.c:642
miasm.jitter.jitload.Jitter.C_Gen
C_Gen
Definition: jitload.py:180
MOD_DEF
#define MOD_DEF(ob, name, doc, methods)
Definition: compat_py23.h:218
miasm.loader.pe.DirDelay.get_funcvirt
def get_funcvirt(self, addr)
Definition: pe.py:1111
miasm.jitter.jitcore.JitCore.clear_jitted_blocks
def clear_jitted_blocks(self)
Definition: jitcore.py:80
miasm.jitter.jitcore_llvm.JitCore_LLVM.arch_dependent_libs
dictionary arch_dependent_libs
Definition: jitcore_llvm.py:22
miasm.jitter.jitcore_python.JitCore_Python
Python jitter Core #.
Definition: jitcore_python.py:14
miasm.jitter.llvmconvert.LLVMFunction.get_assembly
def get_assembly(self)
Definition: llvmconvert.py:1812
miasm.loader.pe.DirRes.__repr__
def __repr__(self)
Definition: pe.py:1470
miasm.loader.pe.DirExport.create
def create(self, name='default.dll')
Definition: pe.py:758
miasm.loader.pe.ResEntry.__repr__
def __repr__(self)
Definition: pe.py:1571
miasm.loader.elf.Rel32
Definition: elf.py:80
miasm.loader.pe.DirImport.build_content
def build_content(self, raw)
Definition: pe.py:459
miasm.jitter.emulatedsymbexec
Definition: emulatedsymbexec.py:1
miasm.jitter.loader.utils.libimp.all_exported_lib
all_exported_lib
Definition: utils.py:35
miasm.loader.pe.DescName
Definition: pe.py:260
miasm.jitter.jitload.CallbackHandlerBitflag
Definition: jitload.py:138
miasm.loader.pe.struct_array.end
end
Definition: pe.py:293
miasm.core.locationdb
Definition: locationdb.py:1
miasm.jitter.llvmconvert.LLVMContext_JIT
Definition: llvmconvert.py:219
miasm.jitter.jitcore_gcc.JitCore_Gcc.__init__
def __init__(self, ir_arch, bin_stream)
Definition: jitcore_gcc.py:20
sdiv32
_MIASM_EXPORT int32_t sdiv32(int32_t a, int32_t b)
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base
Definition: jitcore_cc_base.py:51
sint_to_fp_64
_MIASM_EXPORT uint64_t sint_to_fp_64(int64_t a)
Definition: op_semantics.c:756
miasm.loader.pe.DirReloc.__len__
def __len__(self)
Definition: pe.py:1199
miasm.loader.elf_init.ELF
Definition: elf_init.py:813
miasm.jitter.llvmconvert.LLVMFunction.main_stream
main_stream
Definition: llvmconvert.py:751
miasm.loader.pe.DirDelay.set_rva
def set_rva(self, rva, size=None)
Definition: pe.py:942
miasm.loader.elf.Nhdr
Definition: elf.py:54
miasm.loader.pe.DirReloc.set_rva
def set_rva(self, rva, size=None)
Definition: pe.py:1180
miasm.jitter.llvmconvert.LLVMFunction.global_constant
def global_constant(self, name, value)
Definition: llvmconvert.py:642
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.init_codegen
def init_codegen(self, codegen)
Definition: jitcore_cc_base.py:103
miasm.loader.pe.struct_array.__str__
def __str__(self)
Definition: pe.py:317
miasm.loader.pe.DirDelay
Definition: pe.py:847
miasm.core.utils.force_bytes
def force_bytes(value)
Definition: utils.py:87
miasm.jitter.llvmconvert.LLVMContext_IRCompilation.memory_lookup
def memory_lookup(self, func, addr, size)
Definition: llvmconvert.py:481
miasm.loader.pe.Reloc
Definition: pe.py:1124
miasm.jitter.jitload.Jitter.run_iterator
run_iterator
Definition: jitload.py:396
miasm.loader.elf.Phdr64
Definition: elf.py:44
miasm.jitter.loader.utils.canon_libname_libfunc
def canon_libname_libfunc(libname, libfunc)
Definition: utils.py:14
miasm.jitter.jitcore.JitCore.options
options
Definition: jitcore.py:60
miasm.jitter.llvmconvert.LLVMContext_JIT.PC
PC
Definition: llvmconvert.py:261
imul_lo_op_08
_MIASM_EXPORT unsigned int imul_lo_op_08(char a, char b)
Definition: op_semantics.c:124
miasm.loader.pe.Opthdr32
Definition: pe.py:80
miasm.jitter.jitcore
Definition: jitcore.py:1
miasm.jitter.llvmconvert.LLVMFunction.init_fc
def init_fc(self)
Definition: llvmconvert.py:721
miasm.jitter.llvmconvert.LLVMContext.optimise_level
def optimise_level(self, level=2)
Definition: llvmconvert.py:105
UDIV
#define UDIV(sizeA)
Definition: op_semantics.h:48
fp64_to_sint64
int64_t fp64_to_sint64(uint64_t a)
Definition: op_semantics.c:780
miasm.expression.expression
Definition: expression.py:1
miasm.jitter.loader.pe.get_pe_dependencies
def get_pe_dependencies(pe_obj)
Definition: pe.py:24
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.codegen
codegen
Definition: jitcore_cc_base.py:108
mn_pushpop.init_regs
def init_regs(test)
Definition: mn_pushpop.py:9
miasm.jitter.loader.pe.get_import_address_pe
def get_import_address_pe(e)
Definition: pe.py:62
float_uint32_t::flt
float flt
Definition: op_semantics.c:443
miasm.jitter.arch
Definition: __init__.py:1
miasm.loader.pe.DirExport.__len__
def __len__(self)
Definition: pe.py:726
miasm.jitter.jitcore.JitCore
Definition: jitcore.py:30
miasm.loader.pe.DescName.gets
def gets(self, raw, off)
Definition: pe.py:265
miasm.jitter.llvmconvert.LLVMFunction.add_ir
def add_ir(self, expr)
Definition: llvmconvert.py:763
miasm.loader.strpatchwork
Definition: strpatchwork.py:1
imul_hi_op_08
int imul_hi_op_08(char a, char b)
Definition: op_semantics.c:139
miasm.loader.pe.Rel
Definition: pe.py:1118
miasm.core.locationdb.LocationDB
Definition: locationdb.py:11
miasm.loader.pe.Reloc.sete
def sete(self, value)
Definition: pe.py:1132
miasm.jitter.jitcore_llvm.JitCore_LLVM.__init__
def __init__(self, ir_arch, bin_stream)
Definition: jitcore_llvm.py:31
miasm.jitter.jitload.Jitter.get_breakpoint
def get_breakpoint(self, addr)
Definition: jitload.py:301
miasm.loader.pe.DirDelay.build_content
def build_content(self, raw)
Definition: pe.py:978
fpu_fadd64
uint64_t fpu_fadd64(uint64_t a, uint64_t b)
Definition: op_semantics.c:468
fpu_fcom_c0
_MIASM_EXPORT unsigned int fpu_fcom_c0(double a, double b)
Definition: op_semantics.c:728
miasm.loader.pe.DirReloc
Definition: pe.py:1139
miasm.core.utils.BoundedDict
Definition: utils.py:162
RET_MODULE
#define RET_MODULE
Definition: compat_py23.h:221
miasm.loader.pe.DirRes.build_content
def build_content(self, raw)
Definition: pe.py:1362
miasm.loader.new_cstruct
Definition: new_cstruct.py:1
miasm.jitter.loader.utils.libimp.libbase_ad
libbase_ad
Definition: utils.py:29
miasm.loader.pe.SHList.__getitem__
def __getitem__(self, item)
Definition: pe.py:240
miasm.jitter.llvmconvert.LLVMContext_JIT.new_module
def new_module(self, name="mod")
Definition: llvmconvert.py:252
miasm.jitter.jitload.Jitter.init_exceptions_handler
def init_exceptions_handler(self)
Definition: jitload.py:264
my_imul08
_MIASM_EXPORT unsigned int my_imul08(unsigned int a, unsigned int b)
Definition: op_semantics.c:286
miasm.jitter.llvmconvert.LLVMType.fptype
def fptype(cls, size)
Definition: llvmconvert.py:66
modint.i
i
Definition: modint.py:70
miasm.jitter.llvmconvert.LLVMFunction.branch_counter
branch_counter
Definition: llvmconvert.py:537
miasm.loader.elf.Shdr
Definition: elf.py:22
fpu_fcos
_MIASM_EXPORT double fpu_fcos(double a)
Definition: op_semantics.c:608
miasm.core.utils
Definition: utils.py:1
miasm.loader.pe.ImpDesc_e
Definition: pe.py:279
miasm.loader.elf.Dym
Definition: elf.py:76
miasm.jitter.jitload.Jitter.init_stack
def init_stack(self)
Definition: jitload.py:446
miasm.jitter.jitload.Jitter.__init__
def __init__(self, ir_arch, jit_type="gcc")
Definition: jitload.py:182
miasm.jitter.jitload.jitter
Definition: jitload.py:558
miasm.loader.pe.DirRes.gete
def gete(self, raw, off)
Definition: pe.py:1296
miasm.loader.pe.Shdr.set_data
def set_data(self, data)
Definition: pe.py:149
fpu_fabs64
uint64_t fpu_fabs64(uint64_t a)
Definition: op_semantics.c:667
miasm.jitter.llvmconvert.LLVMFunction.as_llvm_mod
def as_llvm_mod(self)
Definition: llvmconvert.py:1798
rot_right
uint64_t rot_right(uint64_t size, uint64_t a, uint64_t b)
Definition: op_semantics.c:210
SMOD
#define SMOD(sizeA)
Definition: op_semantics.h:87
smod16
_MIASM_EXPORT int16_t smod16(int16_t a, int16_t b)
miasm.jitter.llvmconvert.LLVMFunction.__str__
def __str__(self)
Definition: llvmconvert.py:1790
miasm.jitter.llvmconvert.LLVMContext.get_passmanager
def get_passmanager(self)
Definition: llvmconvert.py:134
fpu_fprem64
uint64_t fpu_fprem64(uint64_t a, uint64_t b)
Definition: op_semantics.c:680
imul_lo_op_16
_MIASM_EXPORT unsigned int imul_lo_op_16(short a, short b)
Definition: op_semantics.c:129
miasm.jitter.llvmconvert.LLVMFunction.local_vars
local_vars
Definition: llvmconvert.py:744
miasm.loader.pe.DirRes
Definition: pe.py:1292
miasm.loader.pe.DirExport.dlldescname
dlldescname
Definition: pe.py:660
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.gen_c_code
def gen_c_code(self, block)
Definition: jitcore_cc_base.py:110
fp32_to_fp64
_MIASM_EXPORT uint64_t fp32_to_fp64(uint32_t a)
Definition: op_semantics.c:809
VmMngr::vm_mngr
vm_mngr_t vm_mngr
Definition: vm_mngr_py.h:11
miasm.jitter.llvmconvert.LLVMContext_JIT.vmcpu
vmcpu
Definition: llvmconvert.py:231
fpu_f2xm1
_MIASM_EXPORT double fpu_f2xm1(double a)
Definition: op_semantics.c:631
miasm.jitter.jitload.Jitter.run_at
def run_at(self, pc)
Definition: jitload.py:331
miasm.jitter.llvmconvert.LLVMContext_JIT.add_memlookups
def add_memlookups(self)
Definition: llvmconvert.py:278
miasm.loader.pe.ExpDesc_e
Definition: pe.py:625
float_uint32_t
Definition: op_semantics.c:441
imul_hi_op_08
_MIASM_EXPORT int imul_hi_op_08(char a, char b)
Definition: op_semantics.c:139
fp32_to_sint32
_MIASM_EXPORT int32_t fp32_to_sint32(uint32_t a)
Definition: op_semantics.c:770
miasm.loader.pe.Opthdr64
Definition: pe.py:93
miasm.jitter.loader.pe.vm_load_pe_and_dependencies
def vm_load_pe_and_dependencies(vm, fname, name2module, runtime_lib, lib_path_base, **kwargs)
Definition: pe.py:585
fpu_fdiv32
uint32_t fpu_fdiv32(uint32_t a, uint32_t b)
Definition: op_semantics.c:543
miasm.jitter.loader.utils.libimp.lib_imp2dstad
lib_imp2dstad
Definition: utils.py:31
fpu_fcom_c3
unsigned int fpu_fcom_c3(double a, double b)
Definition: op_semantics.c:747
miasm.loader.elf
Definition: elf.py:1
miasm.jitter.loader.pe.libimp_pe.add_function
def add_function(self, dllname, imp_ord_or_name, addr)
Definition: pe.py:432
miasm.jitter.jitcore.JitCore.split_dis
split_dis
Definition: jitcore.py:65
miasm.jitter.jitcore.JitCore.hash_block
def hash_block(self, block)
Definition: jitcore.py:277
miasm.jitter.llvmconvert
Definition: llvmconvert.py:1
miasm.loader.pe.Reloc.__repr__
def __repr__(self)
Definition: pe.py:1135
example_types.vm
vm
Definition: example_types.py:161
miasm.expression.expression.ExprMem
Definition: expression.py:1103
miasm.jitter.llvmconvert.LLVMFunction.gen_bad_block
def gen_bad_block(self, asmblock)
Definition: llvmconvert.py:1627
miasm.loader.pe.DirReloc.__bytes__
def __bytes__(self)
Definition: pe.py:1207
miasm.jitter.loader.elf.libimp_elf
Definition: elf.py:318
MOD_INIT
MOD_INIT(Jitgcc)
Definition: Jitgcc.c:93
miasm.loader.pe.DirExport.__repr__
def __repr__(self)
Definition: pe.py:740
smod8
_MIASM_EXPORT int8_t smod8(int8_t a, int8_t b)
imul_lo_op_08
unsigned int imul_lo_op_08(char a, char b)
Definition: op_semantics.c:124
rot_left
_MIASM_EXPORT uint64_t rot_left(uint64_t size, uint64_t a, uint64_t b)
Definition: op_semantics.c:172
fpu_fcom_c2
_MIASM_EXPORT unsigned int fpu_fcom_c2(double a, double b)
Definition: op_semantics.c:741
miasm.jitter.jitload.CallbackHandler.set_callback
def set_callback(self, key, *args)
Definition: jitload.py:84
miasm.jitter.jitcore_cc_base.myresolver.ret
def ret(self)
Definition: jitcore_cc_base.py:38
fpu_fpatan
double fpu_fpatan(double a, double b)
Definition: op_semantics.c:717
range
Definition: range.py:1
miasm.jitter.loader.utils.libimp.fad2info
fad2info
Definition: utils.py:34
miasm.jitter.llvmconvert.LLVMFunction.gen_jump2dst
def gen_jump2dst(self, attrib, instr_offsets, dst)
Definition: llvmconvert.py:1472
fpu_frndint
double fpu_frndint(double a)
Definition: op_semantics.c:584
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.deleteCB
def deleteCB(self, offset)
Definition: jitcore_cc_base.py:72
miasm.jitter.jitcore.JitCore.FUNCNAME
string FUNCNAME
Definition: jitcore.py:35
miasm.loader.pe.Reloc.gete
def gete(self, raw, off)
Definition: pe.py:1128
miasm.jitter.loader.utils.libimp.fad2cname
fad2cname
Definition: utils.py:32
miasm.loader.pe.DirImport.impdesc
impdesc
Definition: pe.py:578
miasm.jitter.jitload.Jitter.remove_breakpoints_by_address
def remove_breakpoints_by_address(self, address)
Definition: jitload.py:316
miasm.jitter.llvmconvert.LLVMFunction.new_branch_name
def new_branch_name(self)
Definition: llvmconvert.py:543
miasm.jitter.llvmconvert.LLVMFunction.printf
def printf(self, format, *args)
Definition: llvmconvert.py:665
miasm.loader.pe.SHList.append
def append(self, section)
Definition: pe.py:246
fpu_fchs
_MIASM_EXPORT double fpu_fchs(double a)
Definition: op_semantics.c:695
miasm.jitter.jitcore_gcc.JitCore_Gcc.gen_C_source
def gen_C_source(ir_arch, func_code)
Definition: jitcore_gcc.py:136
fpu_fadd32
_MIASM_EXPORT uint32_t fpu_fadd32(uint32_t a, uint32_t b)
Definition: op_semantics.c:453
miasm.loader.pe.DirImport.get_funcrva
def get_funcrva(self, dllname, funcname)
Definition: pe.py:586
miasm.jitter.jitcore_llvm.JitCore_LLVM.load
def load(self)
Definition: jitcore_llvm.py:56
miasm.loader.pe.Shdr.get_data
def get_data(self)
Definition: pe.py:144
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.libs
libs
Definition: jitcore_cc_base.py:69
miasm.jitter.jitload.Jitter.breakpoints_handler
breakpoints_handler
Definition: jitload.py:259
miasm.jitter.loader.pe.vm_load_pe_libs
def vm_load_pe_libs(vm, libs_name, libs, lib_path_base, **kargs)
Definition: pe.py:314
miasm.loader.pe.DirImport.add_dlldesc
def add_dlldesc(self, new_dll)
Definition: pe.py:516
miasm.arch.arm.sem.pop
def pop(ir, instr, a)
Definition: sem.py:1279
sdiv16
_MIASM_EXPORT int16_t sdiv16(int16_t a, int16_t b)
miasm.loader.pe.DirImport.set_rva
def set_rva(self, rva, size=None)
Definition: pe.py:416
imul_hi_op_16
_MIASM_EXPORT int imul_hi_op_16(short a, short b)
Definition: op_semantics.c:146
vm_mngr_py.h
miasm.jitter.jitload.Jitter.add_breakpoint
def add_breakpoint(self, addr, callback)
Definition: jitload.py:283
miasm.jitter.jitload.Jitter.eval_expr
def eval_expr(self, expr)
Definition: jitload.py:530
_MIASM_IMPORT
#define _MIASM_IMPORT
Definition: op_semantics.h:11
miasm.expression.expression.ExprId
Definition: expression.py:816
llvm_exec_block
PyObject * llvm_exec_block(PyObject *self, PyObject *args)
Definition: Jitllvm.c:15
miasm.jitter.llvmconvert.LLVMFunction.log_regs
bool log_regs
Definition: llvmconvert.py:511
miasm.jitter.llvmconvert.LLVMFunction.check_memory_exception
def check_memory_exception(self, offset, restricted_exception=False)
Definition: llvmconvert.py:1307
miasm.jitter.llvmconvert.LLVMContext.add_op
def add_op(self)
Definition: llvmconvert.py:155
miasm.jitter.llvmconvert.LLVMFunction.local_vars_pointers
local_vars_pointers
Definition: llvmconvert.py:745
miasm.jitter.llvmconvert.LLVMContext.target_machine
target_machine
Definition: llvmconvert.py:92
miasm.arch.aarch64.sem.ret
def ret(arg1)
Definition: sem.py:1796
miasm.jitter.jitload.Jitter.set_breakpoint
def set_breakpoint(self, addr, *args)
Definition: jitload.py:293
miasm.jitter.jitload.Jitter.get_c_str
def get_c_str(self, addr, max_char=None)
Definition: jitload.py:462
miasm.loader.pe.DirDelay.gete
def gete(self, raw, off)
Definition: pe.py:851
miasm.core.utils.size2mask
def size2mask(size)
Definition: utils.py:136
miasm.jitter.jitload.Jitter.exec_cb
exec_cb
Definition: jitload.py:262
miasm.jitter.jitcore_gcc.JitCore_Gcc.add_block
def add_block(self, block)
Definition: jitcore_gcc.py:44
miasm.jitter.loader.utils.libimp.lib_imp2ad
lib_imp2ad
Definition: utils.py:30
miasm.jitter.jitcore.JitCore.ir_arch
ir_arch
Definition: jitcore.py:46
umul16_hi
unsigned int umul16_hi(unsigned short a, unsigned short b)
Definition: op_semantics.c:165
miasm.jitter.llvmconvert.LLVMFunction.CreateEntryBlockAlloca
def CreateEntryBlockAlloca(self, var_type, default_value=None)
Definition: llvmconvert.py:562
miasm.loader.elf.Sym64
Definition: elf.py:68
miasm.jitter.llvmconvert.LLVMContext_JIT.arch_specific
def arch_specific(self)
Definition: llvmconvert.py:258
miasm.loader.pe.DirRes.set_rva
def set_rva(self, rva, size=None)
Definition: pe.py:1428
miasm.jitter.llvmconvert.LLVMFunction.get_bytecode
def get_bytecode(self)
Definition: llvmconvert.py:1808
miasm.jitter.loader.elf.get_import_address_elf
def get_import_address_elf(e)
Definition: elf.py:24
miasm.loader.pe.NThdr
Definition: pe.py:105
miasm.loader.pe.struct_array
Definition: pe.py:288
miasm.jitter.jitcore_python
Definition: jitcore_python.py:1
fpu_fadd32
uint32_t fpu_fadd32(uint32_t a, uint32_t b)
Definition: op_semantics.c:453
miasm.loader.pe.SHList.__len__
def __len__(self)
Definition: pe.py:243
miasm.core.asmblock
Definition: asmblock.py:1
miasm.jitter.jitload.CallbackHandler
Definition: jitload.py:71
miasm.loader.pe.DirRes.__len__
def __len__(self)
Definition: pe.py:1392
miasm.jitter.llvmconvert.LLVMFunction.name
name
Definition: llvmconvert.py:538
miasm.jitter.llvmconvert.LLVMFunction_IRCompilation.init_fc
def init_fc(self)
Definition: llvmconvert.py:1865
miasm.loader.elf.Rel64
Definition: elf.py:84
miasm.jitter.jitcore_python.JitCore_Python.set_cpu_vm
def set_cpu_vm(self, cpu, vm)
Definition: jitcore_python.py:33
miasm.jitter.llvmconvert.LLVMContext.get_module
def get_module(self)
Definition: llvmconvert.py:138
miasm.jitter.llvmconvert.LLVMFunction.name2bbl
name2bbl
Definition: llvmconvert.py:752
miasm.loader.pe.DirImport
Definition: pe.py:335
miasm.jitter.llvmconvert.LLVMFunction.llvm_context
llvm_context
Definition: llvmconvert.py:527
miasm.jitter.jitload.Jitter.set_trace_log
def set_trace_log(self, trace_instr=True, trace_regs=True, trace_new_blocks=False)
Definition: jitload.py:539
udiv8
_MIASM_EXPORT uint8_t udiv8(uint8_t a, uint8_t b)
fp64_to_sint32
int32_t fp64_to_sint32(uint64_t a)
Definition: op_semantics.c:790
miasm.jitter.jitload.CallbackHandler.get_callbacks
def get_callbacks(self, key)
Definition: jitload.py:88
miasm.loader.pe.InvalidOffset
Definition: pe.py:23
fpu_fsqrt64
uint64_t fpu_fsqrt64(uint64_t a)
Definition: op_semantics.c:654
miasm.loader.pe.ResDesc_e
Definition: pe.py:1502
miasm.jitter.llvmconvert.LLVMFunction.expr_cache
expr_cache
Definition: llvmconvert.py:750
miasm.jitter.loader.pe.libimp_pe.gen_new_lib
def gen_new_lib(self, target_pe, filter_import=lambda peobj, True ad, **kwargs)
Definition: pe.py:527
miasm.jitter.codegen.Attributes
Definition: codegen.py:27
miasm.loader.pe.DirExport.sete
def sete(self, _)
Definition: pe.py:678
miasm.arch.aarch64.sem.add
def add(arg1, arg2, arg3)
Definition: sem.py:975
miasm.jitter.llvmconvert.LLVMFunction._llvm_mod
_llvm_mod
Definition: llvmconvert.py:539
fpu_ftan
_MIASM_EXPORT double fpu_ftan(double a)
Definition: op_semantics.c:573
miasm.jitter.llvmconvert.LLVMFunction.get_ptr_by_expr
def get_ptr_by_expr(self, expr)
Definition: llvmconvert.py:576
basic_op.c
c
Definition: basic_op.py:15
smod64
_MIASM_EXPORT int64_t smod64(int64_t a, int64_t b)
miasm.loader.pe.DirExport.gete
def gete(self, raw, off)
Definition: pe.py:644
miasm.jitter.jitcore.JitCore.mdis
mdis
Definition: jitcore.py:66
miasm.jitter.jitcore.JitCore.blocks_to_memrange
def blocks_to_memrange(self, blocks)
Definition: jitcore.py:195
miasm.jitter.llvmconvert.LLVMFunction.__init__
def __init__(self, llvm_context, name="fc", new_module=True)
Definition: llvmconvert.py:525
miasm.loader.pe.ResEntry.name_s
name_s
Definition: pe.py:1537
miasm.jitter.jitload.Jitter.stack_size
stack_size
Definition: jitload.py:255
udiv64
_MIASM_EXPORT uint64_t udiv64(uint64_t a, uint64_t b)
compat_py23.h
miasm.loader.pe.ImportByName
Definition: pe.py:273
miasm.jitter.jitload.CallbackHandler.add_callback
def add_callback(self, key, callback)
Definition: jitload.py:78
gcc_exec_block
PyObject * gcc_exec_block(PyObject *self, PyObject *args)
Definition: Jitgcc.c:14
miasm.jitter.jitcore_gcc
Definition: jitcore_gcc.py:1
miasm.jitter.loader.utils.libimp
Definition: utils.py:24
init_code_bloc_pool
void init_code_bloc_pool(vm_mngr_t *vm_mngr)
Definition: vm_mngr.c:743
mul_lo_op
_MIASM_EXPORT unsigned int mul_lo_op(unsigned int size, unsigned int a, unsigned int b)
Definition: op_semantics.c:89
sint_to_fp_64
uint64_t sint_to_fp_64(int64_t a)
Definition: op_semantics.c:756
float_uint32_t::u32
uint32_t u32
Definition: op_semantics.c:442
miasm.expression.expression_helper
Definition: expression_helper.py:1
miasm.jitter.jitcore_python.JitCore_Python.load
def load(self)
Definition: jitcore_python.py:37
miasm.jitter.loader.pe.libimp_pe.__init__
def __init__(self, *args, **kwargs)
Definition: pe.py:426
miasm.jitter.jitcore_cc_base.myresolver
Definition: jitcore_cc_base.py:33
miasm.loader.pe.get_optehdr_num
def get_optehdr_num(nthdr)
Definition: pe.py:69
miasm.jitter.jitcore_cc_base.resolver.resolvers
resolvers
Definition: jitcore_cc_base.py:45
miasm.jitter.llvmconvert.LLVMFunction.dot
def dot(self)
Definition: llvmconvert.py:1794
miasm.jitter.llvmconvert.LLVMFunction.builder
builder
Definition: llvmconvert.py:534
imul_lo_op_32
_MIASM_EXPORT unsigned int imul_lo_op_32(int a, int b)
Definition: op_semantics.c:134
fpu_fyl2x
double fpu_fyl2x(double a, double b)
Definition: op_semantics.c:706
miasm.arch.mips32.sem.j
def j(arg1)
Definition: sem.py:156
miasm.jitter.jitload.ExceptionHandle.__eq__
def __eq__(self, to_cmp)
Definition: jitload.py:167
miasm.analysis.machine.Machine
Definition: machine.py:4
miasm.loader.pe.DirReloc.__repr__
def __repr__(self)
Definition: pe.py:1218
fpu_fcom_c1
_MIASM_EXPORT unsigned int fpu_fcom_c1(double a, double b)
Definition: op_semantics.c:736
miasm.jitter.jitcore.JitCore.log_newbloc
log_newbloc
Definition: jitcore.py:59
miasm.jitter.llvmconvert.LLVMFunction_IRCompilation.gen_irblock
def gen_irblock(self, irblock)
Definition: llvmconvert.py:1900
fpu_fcom_c3
_MIASM_EXPORT unsigned int fpu_fcom_c3(double a, double b)
Definition: op_semantics.c:747
miasm.jitter.jitload.CallbackHandler.callbacks
callbacks
Definition: jitload.py:76
miasm.jitter.loader.utils.libimp.fake_libs
fake_libs
Definition: utils.py:36
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.include_files
include_files
Definition: jitcore_cc_base.py:70
sint_to_fp_32
uint32_t sint_to_fp_32(int32_t a)
Definition: op_semantics.c:763
add_memory_page
void add_memory_page(vm_mngr_t *vm_mngr, struct memory_page_node *mpn_a)
Definition: vm_mngr.c:836
miasm.loader.pe.NTsig
Definition: pe.py:49
miasm.jitter.llvmconvert.LLVMContext_IRCompilation
Definition: llvmconvert.py:476
miasm.loader.pe.Rva
Definition: pe.py:250
miasm.jitter.jitcore.JitCore.ircfg
ircfg
Definition: jitcore.py:47
mul_hi_op
_MIASM_EXPORT unsigned int mul_hi_op(unsigned int size, unsigned int a, unsigned int b)
Definition: op_semantics.c:105
miasm.jitter.jitcore_cc_base.myresolver.__init__
def __init__(self, offset)
Definition: jitcore_cc_base.py:35
miasm.jitter.loader.pe.preload_pe
def preload_pe(vm, e, runtime_lib, patch_vm_imp=True)
Definition: pe.py:93
miasm.loader.pe.DirReloc.del_reloc
def del_reloc(self, taboffset)
Definition: pe.py:1276
miasm.jitter.jitload.Jitter.symbexec
symbexec
Definition: jitload.py:224
parity_table
_MIASM_EXPORT const uint8_t parity_table[256]
Definition: op_semantics.c:8
miasm.jitter.jitload.Jitter.cpu
cpu
Definition: jitload.py:219
miasm.jitter.llvmconvert.LLVMContext.mod
mod
Definition: llvmconvert.py:126
miasm.jitter.jitload.Jitter.run
run
Definition: jitload.py:398
miasm.loader.pe_init.PE
Definition: pe_init.py:184
miasm.jitter.jitload.jitter.__init__
def __init__(self, *args, **kwargs)
Definition: jitload.py:565
imul_lo_op_16
unsigned int imul_lo_op_16(short a, short b)
Definition: op_semantics.c:129
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.states
states
Definition: jitcore_cc_base.py:59
miasm.jitter.emulatedsymbexec.EmulatedSymbExec
Definition: emulatedsymbexec.py:7
cntleadzeros
_MIASM_EXPORT uint64_t cntleadzeros(uint64_t size, uint64_t src)
Definition: op_semantics.c:256
fpu_fmul64
_MIASM_EXPORT uint64_t fpu_fmul64(uint64_t a, uint64_t b)
Definition: op_semantics.c:528
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.tempdir
tempdir
Definition: jitcore_cc_base.py:60
miasm.jitter.jitload.ExceptionHandle.__ne__
def __ne__(self, to_cmp)
Definition: jitload.py:172
umod64
_MIASM_EXPORT uint64_t umod64(uint64_t a, uint64_t b)
block_id::is_local
uint8_t is_local
Definition: JitCore.h:180
fpu_fscale
double fpu_fscale(double a, double b)
Definition: op_semantics.c:620
fp64_to_fp32
uint32_t fp64_to_fp32(uint64_t a)
Definition: op_semantics.c:800
miasm.jitter.codegen
Definition: codegen.py:1
miasm.jitter.llvmconvert.LLVMContext.memory_write
def memory_write(self, func, addr, size, value)
Definition: llvmconvert.py:214
miasm.jitter.jitcore_cc_base
Definition: jitcore_cc_base.py:1
miasm.loader.pe.Shdr
Definition: pe.py:131
SDIV
#define SDIV(sizeA)
Definition: op_semantics.h:74
miasm.loader.elf.Rela32
Definition: elf.py:88
bcdadd_cf_16
uint16_t bcdadd_cf_16(uint16_t a, uint16_t b)
Definition: op_semantics.c:67
miasm.loader.pe.DirImport.__repr__
def __repr__(self)
Definition: pe.py:506
fpu_fsin
_MIASM_EXPORT double fpu_fsin(double a)
Definition: op_semantics.c:597
miasm.jitter.llvmconvert.LLVMFunction_IRCompilation
Definition: llvmconvert.py:1841
fpround_towardszero_fp32
uint32_t fpround_towardszero_fp32(uint32_t a)
Definition: op_semantics.c:818
miasm.expression.expression_helper.possible_values
def possible_values(expr)
Definition: expression_helper.py:564
miasm.jitter.loader.pe.guess_arch
def guess_arch(pe)
Definition: pe.py:694
miasm.loader.pe.DirDelay.delaydesc
delaydesc
Definition: pe.py:1077
cnttrailzeros
_MIASM_EXPORT unsigned int cnttrailzeros(uint64_t size, uint64_t src)
Definition: op_semantics.c:275
miasm.jitter.llvmconvert.LLVMFunction.log_mn
bool log_mn
Definition: llvmconvert.py:510
miasm.loader.pe.DirExport.get_funcrva
def get_funcrva(self, f_str)
Definition: pe.py:817
miasm.jitter.llvmconvert.LLVMFunction.gen_post_code
def gen_post_code(self, attributes, pc_value)
Definition: llvmconvert.py:1422
miasm.loader.pe.DirDelay.get_funcrva
def get_funcrva(self, func)
Definition: pe.py:1085
op_semantics.h
miasm.jitter.jitload.Jitter.exceptions_handler
exceptions_handler
Definition: jitload.py:260
miasm.loader.pe.struct_array.l
l
Definition: pe.py:291
miasm.loader.elf.Ehdr
Definition: elf.py:5
modularintervals.mask
tuple mask
Definition: modularintervals.py:32
miasm.loader.elf_init.RelATable
Definition: elf_init.py:489
miasm.loader.pe.DirExport.set_rva
def set_rva(self, rva, size=None)
Definition: pe.py:702
miasm.jitter.jitload.CallbackHandler.__call__
def __call__(self, key, *args)
Definition: jitload.py:133
miasm.jitter.loader.pe.vm_load_pe
def vm_load_pe(vm, fdata, align_s=True, load_hdr=True, name="", winobjs=None, **kargs)
Definition: pe.py:172
miasm.jitter.llvmconvert.LLVMContext.exec_engine
exec_engine
Definition: llvmconvert.py:122
miasm.jitter.llvmconvert.LLVMContext_JIT.library_filenames
library_filenames
Definition: llvmconvert.py:226
miasm.jitter.jitcore.JitCore.log_regs
log_regs
Definition: jitcore.py:58
fpu_fsqrt64
_MIASM_EXPORT uint64_t fpu_fsqrt64(uint64_t a)
Definition: op_semantics.c:654
miasm.loader.elf_init.GNUVerSym
Definition: elf_init.py:300
miasm.jitter.jitload.CallbackHandler.has_callbacks
def has_callbacks(self, key)
Definition: jitload.py:112
miasm.jitter.loader.elf.preload_elf
def preload_elf(vm, e, runtime_lib, patch_vm_imp=True, loc_db=None)
Definition: elf.py:35
miasm.jitter.jitload.Jitter.jit
jit
Definition: jitload.py:241
miasm.jitter.llvmconvert.LLVMFunction.__call__
def __call__(self, *args)
Definition: llvmconvert.py:1820
miasm.jitter.jitcore_gcc.JitCore_Gcc
Definition: jitcore_gcc.py:17
miasm.jitter.jitload.Jitter.run_until
def run_until(self, addr, trace=False)
Definition: jitload.py:433
miasm.loader.pe.DirImport.__len__
def __len__(self)
Definition: pe.py:402
miasm.jitter
Definition: __init__.py:1
miasm.jitter.llvmconvert.LLVMFunction.gen_irblock
def gen_irblock(self, instr_attrib, attributes, instr_offsets, irblock)
Definition: llvmconvert.py:1534
miasm.loader.pe.DirDelay.__repr__
def __repr__(self)
Definition: pe.py:1003
callback
Definition: callback.py:1
miasm.loader.pe.DirTls.build_content
def build_content(self, raw)
Definition: pe.py:1611
miasm.jitter.jitcore.JitCore.add_disassembly_splits
def add_disassembly_splits(self, *args)
Definition: jitcore.py:86
miasm.loader.pe.DirExport.build_content
def build_content(self, raw)
Definition: pe.py:681
miasm.expression.expression.ExprCond
Definition: expression.py:1030
CC_P
#define CC_P
Definition: op_semantics.h:14
queue.h
miasm.loader.pe.SHList.__repr__
def __repr__(self)
Definition: pe.py:230
miasm.jitter.jitload.Jitter.attrib
attrib
Definition: jitload.py:192
miasm.jitter.jitcore_llvm.JitCore_LLVM.exec_wrapper
exec_wrapper
Definition: jitcore_llvm.py:43
miasm.loader.pe.DirExport.add_name
def add_name(self, name, rva=0xdeadc0fe)
Definition: pe.py:787
miasm.jitter.llvmconvert.LLVMFunction.ret_type
ret_type
Definition: llvmconvert.py:533
miasm.jitter.llvmconvert.LLVMContext_JIT.memory_write
def memory_write(self, func, addr, size, value)
Definition: llvmconvert.py:383
miasm.jitter.llvmconvert.LLVMFunction.check_cpu_exception
def check_cpu_exception(self, offset, restricted_exception=False)
Definition: llvmconvert.py:1360
fpu_fchs
double fpu_fchs(double a)
Definition: op_semantics.c:695
miasm.jitter.loader.pe.libimp_pe.add_export_lib
def add_export_lib(self, e, name)
Definition: pe.py:452
miasm.jitter.llvmconvert.LLVMFunction_IRCompilation.exit_bbl
exit_bbl
Definition: llvmconvert.py:1875
fpu_fsin
double fpu_fsin(double a)
Definition: op_semantics.c:597
cntleadzeros
uint64_t cntleadzeros(uint64_t size, uint64_t src)
Definition: op_semantics.c:256
umul16_lo
unsigned int umul16_lo(unsigned short a, unsigned short b)
Definition: op_semantics.c:160
miasm.loader.pe.struct_array.__init__
def __init__(self, target_class, raw, off, cstr, num=None)
Definition: pe.py:290
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.exec_wrapper
exec_wrapper
Definition: jitcore_cc_base.py:68
miasm.jitter.jitcore_llvm.JitCore_LLVM.tempdir
tempdir
Definition: jitcore_llvm.py:47
miasm.jitter.jitcore_llvm.JitCore_LLVM.add_block
def add_block(self, block)
Definition: jitcore_llvm.py:98
miasm.jitter.jitload.Jitter.get_str_ansi
def get_str_ansi(self, addr, max_char=None)
Definition: jitload.py:483
imul_hi_op_32
int imul_hi_op_32(int a, int b)
Definition: op_semantics.c:153
fpu_fpatan
_MIASM_EXPORT double fpu_fpatan(double a, double b)
Definition: op_semantics.c:717
miasm.jitter.llvmconvert.LLVMFunction
Definition: llvmconvert.py:502
export_llvm.func
func
Definition: export_llvm.py:31
miasm.jitter.jitload.Jitter.libs
libs
Definition: jitload.py:521
dse_crackme.stderr
stderr
Definition: dse_crackme.py:320
fpround_towardszero_fp64
_MIASM_EXPORT uint64_t fpround_towardszero_fp64(uint64_t a)
Definition: op_semantics.c:826
mul_lo_op
unsigned int mul_lo_op(unsigned int size, unsigned int a, unsigned int b)
Definition: op_semantics.c:89
miasm.jitter.llvmconvert.LLVMContext_JIT.set_vmcpu
def set_vmcpu(self, lookup_table)
Definition: llvmconvert.py:333
fp32_to_sint32
int32_t fp32_to_sint32(uint32_t a)
Definition: op_semantics.c:770
miasm.jitter.llvmconvert.LLVMContext_JIT.get_ptr_from_cache
def get_ptr_from_cache(self, file_name, func_name)
Definition: llvmconvert.py:464
miasm.jitter.jitload.ExceptionHandle.except_flag
except_flag
Definition: jitload.py:161
miasm.jitter.jitcore_llvm.JitCore_LLVM.arch
arch
Definition: jitcore_llvm.py:88
double_uint64_t::dbl
double dbl
Definition: op_semantics.c:449
miasm.loader.pe.DirReloc.__str__
def __str__(self)
Definition: pe.py:1213
miasm.jitter.llvmconvert.LLVMFunction.assign
def assign(self, src, dst)
Definition: llvmconvert.py:705
miasm.jitter.jitcore.JitCore.remove_disassembly_splits
def remove_disassembly_splits(self, *args)
Definition: jitcore.py:91
miasm.loader.pe.ResEntry
Definition: pe.py:1526
miasm.core.utils.get_caller_name
def get_caller_name(caller_num=0)
Definition: utils.py:59
miasm.jitter.loader.pe.get_export_name_addr_list
def get_export_name_addr_list(e)
Definition: pe.py:139
miasm.jitter.jitcore_cc_base.gen_core
def gen_core(arch, attrib)
Definition: jitcore_cc_base.py:15
udiv16
_MIASM_EXPORT uint16_t udiv16(uint16_t a, uint16_t b)
fpu_fcom_c1
unsigned int fpu_fcom_c1(double a, double b)
Definition: op_semantics.c:736
miasm.arch.mips32.jit
Definition: jit.py:1
miasm.core.utils.encode_hex
def encode_hex(value)
Definition: utils.py:133
miasm.jitter.llvmconvert.LLVMContext.new_module
def new_module(self, name="mod")
Definition: llvmconvert.py:124
miasm.jitter.llvmconvert.LLVMContext
Definition: llvmconvert.py:77
miasm.loader.pe.Ordinal
Definition: pe.py:1497
fpu_fdiv64
_MIASM_EXPORT uint64_t fpu_fdiv64(uint64_t a, uint64_t b)
Definition: op_semantics.c:558
miasm.jitter.loader.utils.libimp.name2off
name2off
Definition: utils.py:27
miasm.jitter.jitcore.JitCore.blocks_mem_interval
blocks_mem_interval
Definition: jitcore.py:54
miasm.jitter.jitload.named_arguments
def named_arguments(func)
Definition: jitload.py:34
miasm.jitter.llvmconvert.LLVMFunction_IRCompilation.gen_jump2dst
def gen_jump2dst(self, _attrib, _instr_offsets, dst)
Definition: llvmconvert.py:1877
miasm.jitter.csts
Definition: csts.py:1
miasm.loader.pe.DirReloc.build_content
def build_content(self, raw)
Definition: pe.py:1191
miasm.loader.pe.SUnicode.gets
def gets(self, raw, off)
Definition: pe.py:1518
fp64_to_fp32
_MIASM_EXPORT uint32_t fp64_to_fp32(uint64_t a)
Definition: op_semantics.c:800
miasm.loader.cstruct.CStruct
Definition: cstruct.py:49
miasm.jitter.llvmconvert.LLVMFunction.from_asmblock
def from_asmblock(self, asmblock)
Definition: llvmconvert.py:1697
miasm.jitter.jitcore.JitCore.add_block
def add_block(self, block)
Definition: jitcore.py:120
fp64_to_sint32
_MIASM_EXPORT int32_t fp64_to_sint32(uint64_t a)
Definition: op_semantics.c:790
umod8
_MIASM_EXPORT uint8_t umod8(uint8_t a, uint8_t b)
miasm.expression.simplifications
Definition: simplifications.py:1
miasm.jitter.llvmconvert.LLVMFunction.expr2cases
def expr2cases(self, expr)
Definition: llvmconvert.py:1448
miasm.jitter.jitcore_llvm.JitCore_LLVM.context
context
Definition: jitcore_llvm.py:82
shellcode.args
args
Definition: shellcode.py:26
miasm.jitter.llvmconvert.LLVMContext.pass_manager
pass_manager
Definition: llvmconvert.py:116
miasm.jitter.jitload.Jitter.ir_arch
ir_arch
Definition: jitload.py:220
fpu_frndint
_MIASM_EXPORT double fpu_frndint(double a)
Definition: op_semantics.c:584
miasm.loader.pe.Delaydesc_e
Definition: pe.py:835
miasm.jitter.llvmconvert.LLVMType.generic
def generic(cls, e)
Definition: llvmconvert.py:56
fpu_fadd64
_MIASM_EXPORT uint64_t fpu_fadd64(uint64_t a, uint64_t b)
Definition: op_semantics.c:468
MOD_INIT
MOD_INIT(Jitllvm)
Definition: Jitllvm.c:89
miasm.jitter.llvmconvert.LLVMFunction.verify
def verify(self)
Definition: llvmconvert.py:1804
miasm.jitter.llvmconvert.LLVMContext_JIT.add_get_exceptionflag
def add_get_exceptionflag(self)
Definition: llvmconvert.py:319
miasm.expression.expression.ExprInt
Definition: expression.py:742
miasm.loader.elf_init.RelTable
Definition: elf_init.py:463
miasm.jitter.llvmconvert.LLVMContext_JIT.memory_lookup
def memory_lookup(self, func, addr, size)
Definition: llvmconvert.py:338
fpu_fsub32
uint32_t fpu_fsub32(uint32_t a, uint32_t b)
Definition: op_semantics.c:483
fpu_fabs64
_MIASM_EXPORT uint64_t fpu_fabs64(uint64_t a)
Definition: op_semantics.c:667
miasm.jitter.loader.pe.is_redirected_export
def is_redirected_export(pe_obj, addr)
Definition: pe.py:111
miasm.jitter.llvmconvert.LLVMFunction.get_function_pointer
def get_function_pointer(self)
Definition: llvmconvert.py:1830
miasm.loader.pe.DirExport.f_address
f_address
Definition: pe.py:662
miasm.loader.pe.struct_array.__len__
def __len__(self)
Definition: pe.py:325
miasm.jitter.jitcore.JitCore.add_block_to_mem_interval
def add_block_to_mem_interval(self, vm, block)
Definition: jitcore.py:112
fpu_fdiv32
_MIASM_EXPORT uint32_t fpu_fdiv32(uint32_t a, uint32_t b)
Definition: op_semantics.c:543
miasm.jitter.jitcore.JitCore.updt_automod_code_range
def updt_automod_code_range(self, vm, mem_range)
Definition: jitcore.py:258
miasm.jitter.jitcore.JitCore.offset_to_jitted_func
offset_to_jitted_func
Definition: jitcore.py:51
miasm.jitter.jitcore.JitCore.set_options
def set_options(self, **kwargs)
Definition: jitcore.py:76
imul_lo_op_32
unsigned int imul_lo_op_32(int a, int b)
Definition: op_semantics.c:134
miasm.jitter.jitcore_python.JitCore_Python.exec_wrapper
def exec_wrapper(self, loc_key, cpu, _offset_to_jitted_func, _stop_offsets, _max_exec_per_call)
Definition: jitcore_python.py:208
umul16_lo
_MIASM_EXPORT unsigned int umul16_lo(unsigned short a, unsigned short b)
Definition: op_semantics.c:160
miasm.jitter.jitload.Jitter.add_lib_handler
def add_lib_handler(self, libs, user_globals=None)
Definition: jitload.py:513
miasm.loader.pe.DirDelay.__len__
def __len__(self)
Definition: pe.py:928
fp32_to_fp64
uint64_t fp32_to_fp64(uint32_t a)
Definition: op_semantics.c:809
fpu_fmul32
_MIASM_EXPORT uint32_t fpu_fmul32(uint32_t a, uint32_t b)
Definition: op_semantics.c:513
double_uint64_t
Definition: op_semantics.c:447
JitCpu::pyvm
PyObject_HEAD VmMngr * pyvm
Definition: JitCore.h:188
miasm.core.asmblock.disasmEngine
Definition: asmblock.py:1161
miasm.loader.pe.DirReloc.gete
def gete(self, raw, off)
Definition: pe.py:1143
miasm.arch.aarch64.sem.fabs
def fabs(ir, instr, arg1, arg2)
Definition: sem.py:1921
miasm.jitter.jitcore.JitCore.del_block_in_range
def del_block_in_range(self, ad1, ad2)
Definition: jitcore.py:216
fpround_towardszero_fp64
uint64_t fpround_towardszero_fp64(uint64_t a)
Definition: op_semantics.c:826
miasm.jitter.llvmconvert.LLVMFunction.op_translate_with_suffix_size
dictionary op_translate_with_suffix_size
Add the size as suffix.
Definition: llvmconvert.py:520
miasm.jitter.llvmconvert.LLVMFunction.get_basic_block_by_loc_key
def get_basic_block_by_loc_key(self, loc_key)
Definition: llvmconvert.py:635
block_id::address
uint64_t address
Definition: JitCore.h:181
miasm.jitter.jitcore_cc_base.myresolver.offset
offset
Definition: jitcore_cc_base.py:36
miasm.jitter.loader.pe.vm_fix_imports_pe_libs
def vm_fix_imports_pe_libs(lib_imgs, libs, lib_path_base, patch_vm_imp=True, **kargs)
Definition: pe.py:330
miasm.loader.pe.DescName.sets
def sets(self, value)
Definition: pe.py:269
miasm.jitter.jitload.Jitter.arch
arch
Definition: jitload.py:191
fpu_fsqrt32
_MIASM_EXPORT uint32_t fpu_fsqrt32(uint32_t a)
Definition: op_semantics.c:642
miasm.loader.pe.ResDataEntry
Definition: pe.py:1586
miasm.jitter.jitload.CallbackHandler.__init__
def __init__(self)
Definition: jitload.py:75
fpu_fsub64
uint64_t fpu_fsub64(uint64_t a, uint64_t b)
Definition: op_semantics.c:498
miasm.jitter.jitcore.JitCore.loc_key_to_block
loc_key_to_block
Definition: jitcore.py:53
cnttrailzeros
unsigned int cnttrailzeros(uint64_t size, uint64_t src)
Definition: op_semantics.c:275
miasm.loader.elf.Dynamic
Definition: elf.py:98
miasm.core.bin_stream
Definition: bin_stream.py:1
miasm.jitter.jitcore_cc_base.resolver.get_resolver
def get_resolver(self, offset)
Definition: jitcore_cc_base.py:47
miasm.jitter.loader.pe.vm2pe
def vm2pe(myjit, fname, libs=None, e_orig=None, min_addr=None, max_addr=None, min_section_offset=0x1000, img_base=None, added_funcs=None, **kwargs)
Definition: pe.py:336
miasm.jitter.loader.elf.guess_arch
def guess_arch(elf)
Definition: elf.py:336
umod32
_MIASM_EXPORT uint32_t umod32(uint32_t a, uint32_t b)
fpu_fprem64
_MIASM_EXPORT uint64_t fpu_fprem64(uint64_t a, uint64_t b)
Definition: op_semantics.c:680
sdiv64
_MIASM_EXPORT int64_t sdiv64(int64_t a, int64_t b)
miasm.jitter.llvmconvert.LLVMContext.add_shared_library
def add_shared_library(self, filename)
Definition: llvmconvert.py:142
miasm.jitter.llvmconvert.LLVMFunction.set_ret
def set_ret(self, var)
Definition: llvmconvert.py:627
JitCore.h
example_types.jitter
jitter
Definition: example_types.py:160
fpround_towardszero_fp32
_MIASM_EXPORT uint32_t fpround_towardszero_fp32(uint32_t a)
Definition: op_semantics.c:818
miasm.jitter.jitcore.JitCore.load
def load(self)
Definition: jitcore.py:95
miasm.core.utils.decode_hex
def decode_hex(value)
Definition: utils.py:130
miasm.jitter.jitcore_python.JitCore_Python.symbexec
symbexec
Definition: jitcore_python.py:26
fpu_fcos
double fpu_fcos(double a)
Definition: op_semantics.c:608
miasm.jitter.llvmconvert.LLVMContext_JIT.add_log_functions
def add_log_functions(self)
Definition: llvmconvert.py:325
miasm.jitter.loader.pe.vm_load_pe_lib
def vm_load_pe_lib(vm, fname_in, libs, lib_path_base, **kargs)
Definition: pe.py:295
miasm.jitter.llvmconvert.LLVMContext_JIT.cgen_class
cgen_class
Definition: llvmconvert.py:268
miasm.jitter.jitcore_cc_base.resolver.__init__
def __init__(self)
Definition: jitcore_cc_base.py:44
miasm.core.bin_stream.bin_stream_vm
Definition: bin_stream.py:286
miasm.jitter.loader.elf.apply_reloc_x86
def apply_reloc_x86(elf, vm, section, base_addr, loc_db)
Definition: elf.py:166
miasm.jitter.jitload.CallbackHandlerBitflag.call_callbacks
def call_callbacks(self, bitflag, *args)
Definition: jitload.py:142
miasm.loader.new_cstruct.CStruct.__bytes__
def __bytes__(self)
Definition: new_cstruct.py:250
miasm.loader.pe.ResEntry.data
data
Definition: pe.py:1534
init_memory_breakpoint
void init_memory_breakpoint(vm_mngr_t *vm_mngr)
Definition: vm_mngr.c:755
fpu_fscale
_MIASM_EXPORT double fpu_fscale(double a, double b)
Definition: op_semantics.c:620
miasm.loader.pe.struct_array.append
def append(self, entry)
Definition: pe.py:328
miasm.loader.pe.DirDelay.sete
def sete(self, entries)
Definition: pe.py:925
miasm.jitter.llvmconvert.LLVMFunction.append_basic_block
def append_basic_block(self, label, overwrite=True)
Definition: llvmconvert.py:548
miasm.jitter.jitload.Jitter.set_c_str
def set_c_str(self, addr, value)
Definition: jitload.py:476
miasm.jitter.jitcore.JitCore.jitted_block_max_size
int jitted_block_max_size
Definition: jitcore.py:38
miasm.jitter.llvmconvert.LLVMContext.init_exec_engine
def init_exec_engine(self)
Definition: llvmconvert.py:118
imul_hi_op_16
int imul_hi_op_16(short a, short b)
Definition: op_semantics.c:146
miasm.loader.pe.DirExport.f_nameordinals
f_nameordinals
Definition: pe.py:668
miasm.jitter.jitcore.JitCore.updt_automod_code
def updt_automod_code(self, vm)
Definition: jitcore.py:268
miasm.jitter.llvmconvert.LLVMFunction.optimise
def optimise(self)
Definition: llvmconvert.py:1816
miasm.jitter.jitload.Jitter.handle_function
def handle_function(self, f_addr)
Definition: jitload.py:509
fp64_to_sint64
_MIASM_EXPORT int64_t fp64_to_sint64(uint64_t a)
Definition: op_semantics.c:780
miasm.jitter.llvmconvert.LLVMContext_JIT.enable_cache
def enable_cache(self)
Definition: llvmconvert.py:447
miasm.jitter.loader.pe.libimp_pe
Definition: pe.py:424
miasm.loader.pe.Coffhdr
Definition: pe.py:54
fpu_fyl2x
_MIASM_EXPORT double fpu_fyl2x(double a, double b)
Definition: op_semantics.c:706
miasm.arch.msp430.sem.call
def call(ir, instr, a)
Definition: sem.py:284
mul_hi_op
unsigned int mul_hi_op(unsigned int size, unsigned int a, unsigned int b)
Definition: op_semantics.c:105
miasm.jitter.loader.utils.libimp.lib_get_add_base
def lib_get_add_base(self, name)
Definition: utils.py:38
miasm.loader.pe.DirTls.set_rva
def set_rva(self, rva, size=None)
Definition: pe.py:1618
miasm.jitter.jitload.Jitter.pc
pc
Definition: jitload.py:344
miasm.jitter.jitcore.JitCore.run_at
def run_at(self, cpu, offset, stop_offsets)
Definition: jitcore.py:162
miasm.loader.pe.SUnicode.sets
def sets(self, value)
Definition: pe.py:1522
miasm.jitter.jitcore_python.JitCore_Python.add_block
def add_block(self, asmblock)
Definition: jitcore_python.py:57
miasm.jitter.jitcore.JitCore.set_block_min_max
def set_block_min_max(self, cur_block)
Definition: jitcore.py:99
miasm.loader.pe.Doshdr
Definition: pe.py:27
miasm.jitter.jitcore.JitCore.jitted_block_delete_cb
jitted_block_delete_cb
Definition: jitcore.py:37
miasm.jitter.llvmconvert.LLVMContext.canonize_label_name
def canonize_label_name(self, label)
Definition: llvmconvert.py:95
miasm.jitter.llvmconvert.LLVMFunction.op_translate
dictionary op_translate
Basics.
Definition: llvmconvert.py:515
miasm.jitter.loader.elf.fill_loc_db_with_symbols
def fill_loc_db_with_symbols(elf, loc_db, base_addr=0)
Definition: elf.py:60
miasm.jitter.jitload.ExceptionHandle.memoryBreakpoint
def memoryBreakpoint(cls)
Definition: jitload.py:164
double_uint64_t::u64
uint64_t u64
Definition: op_semantics.c:448
parity_table
const uint8_t parity_table[256]
Definition: op_semantics.c:8
miasm.loader.elf.Rela64
Definition: elf.py:93
miasm.loader.pe.DirExport
Definition: pe.py:640
miasm.jitter.llvmconvert.LLVMContext_JIT.logging_func
logging_func
Definition: llvmconvert.py:262
miasm.jitter.jitload.Jitter.user_globals
user_globals
Definition: jitload.py:525
rot_right
_MIASM_EXPORT uint64_t rot_right(uint64_t size, uint64_t a, uint64_t b)
Definition: op_semantics.c:210
miasm.loader.pe.struct_array.__bytes__
def __bytes__(self)
Definition: pe.py:311
miasm.jitter.loader.utils
Definition: utils.py:1
miasm.core.interval.interval
Definition: interval.py:35
miasm.loader.pe.DirReloc.add_reloc
def add_reloc(self, rels, rtype=3, patchrel=True)
Definition: pe.py:1235
init_memory_page_pool
void init_memory_page_pool(vm_mngr_t *vm_mngr)
Definition: vm_mngr.c:736
vm_mngr_t
Definition: vm_mngr.h:110
miasm.loader.elf_init.GNUVerDef
Definition: elf_init.py:308
miasm.jitter.llvmconvert.LLVMContext_JIT.load_libraries
def load_libraries(self)
Definition: llvmconvert.py:233
miasm.jitter.llvmconvert.LLVMContext.known_fc
dictionary known_fc
Definition: llvmconvert.py:81
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.load
def load(self)
Definition: jitcore_cc_base.py:75
trace.max_exec_per_call
max_exec_per_call
Definition: trace.py:53
_MIASM_EXPORT
#define _MIASM_EXPORT
Definition: op_semantics.h:10
miasm.loader.pe.SUnicode
Definition: pe.py:1512
miasm.jitter.jitcore_llvm.JitCore_LLVM
Definition: jitcore_llvm.py:18
miasm.loader.pe.DirImport.sete
def sete(self, entries)
Definition: pe.py:399
fpu_fsub32
_MIASM_EXPORT uint32_t fpu_fsub32(uint32_t a, uint32_t b)
Definition: op_semantics.c:483
miasm.jitter.jitload.Jitter.handle_lib
def handle_lib(jitter)
Definition: jitload.py:490
miasm.jitter.jitcore_python.JitCore_Python.__init__
def __init__(self, ir_arch, bin_stream)
Definition: jitcore_python.py:19
miasm.jitter.llvmconvert.LLVMType
Definition: llvmconvert.py:36
miasm.jitter.llvmconvert.LLVMFunction.update_cache
def update_cache(self, name, value)
Definition: llvmconvert.py:621
fpu_fcom_c0
unsigned int fpu_fcom_c0(double a, double b)
Definition: op_semantics.c:728
miasm.jitter.llvmconvert.LLVMContext_JIT.set_cache_filename
def set_cache_filename(self, func, fname_out)
Definition: llvmconvert.py:459
miasm.jitter.llvmconvert.LLVMContext.add_fc
def add_fc(self, fc, readonly=False)
Definition: llvmconvert.py:146
fpu_fmul64
uint64_t fpu_fmul64(uint64_t a, uint64_t b)
Definition: op_semantics.c:528
miasm.loader.pe.Symb
Definition: pe.py:1594
miasm.jitter.llvmconvert.LLVMFunction.fc
fc
Definition: llvmconvert.py:755
fpu_fmul32
uint32_t fpu_fmul32(uint32_t a, uint32_t b)
Definition: op_semantics.c:513
miasm.jitter.jitload.Jitter.get_str_unic
def get_str_unic(self, addr, max_char=None)
Definition: jitload.py:486
miasm.jitter.loader.pe.libimp_pe.created_redirected_imports
created_redirected_imports
Definition: pe.py:429
dump_float
void dump_float(void)
Definition: op_semantics.c:427
imul_hi_op_32
_MIASM_EXPORT int imul_hi_op_32(int a, int b)
Definition: op_semantics.c:153
miasm.jitter.jitload.ExceptionHandle.__init__
def __init__(self, except_flag)
Definition: jitload.py:160
miasm.jitter.llvmconvert.LLVMFunction.mod
mod
Definition: llvmconvert.py:530
miasm.core.utils.keydefaultdict
Definition: utils.py:153
my_imul08
unsigned int my_imul08(unsigned int a, unsigned int b)
Definition: op_semantics.c:286
bcdadd_16
_MIASM_EXPORT uint16_t bcdadd_16(uint16_t a, uint16_t b)
Definition: op_semantics.c:43
miasm.loader.pe.DirImport.get_dlldesc
def get_dlldesc(self)
Definition: pe.py:492
miasm.jitter.llvmconvert.LLVMType.int_cache
dictionary int_cache
Definition: llvmconvert.py:40
miasm.jitter.jitload.Jitter.remove_breakpoints_by_callback
def remove_breakpoints_by_callback(self, callback)
Definition: jitload.py:308
miasm.loader.pe.DirExport.expdesc
expdesc
Definition: pe.py:759
fpu_f2xm1
double fpu_f2xm1(double a)
Definition: op_semantics.c:631
miasm.loader.pe.DirExport.get_funcvirt
def get_funcvirt(self, addr)
Definition: pe.py:828
miasm.jitter.llvmconvert.LLVMFunction.gen_finalize
def gen_finalize(self, asmblock, codegen)
Definition: llvmconvert.py:1647
miasm.jitter.jitload.Jitter.get_exception
def get_exception(self)
Definition: jitload.py:458
smod32
_MIASM_EXPORT int32_t smod32(int32_t a, int32_t b)
miasm.loader.pe.DirImport.gete
def gete(self, raw, off)
Definition: pe.py:339
miasm.loader.pe.ResEntry.offsettosubdir
offsettosubdir
Definition: pe.py:1556
miasm.loader.pe.struct_array.cls
cls
Definition: pe.py:292
miasm.jitter.llvmconvert.LLVMContext.__init__
def __init__(self, name="mod")
Definition: llvmconvert.py:83
miasm.loader.elf_init.GNUVerNeed
Definition: elf_init.py:304
miasm.jitter.jitload.Jitter.ircfg
ircfg
Definition: jitload.py:222
miasm.jitter.llvmconvert.LLVMFunction.gen_pre_code
def gen_pre_code(self, instr_attrib)
Definition: llvmconvert.py:1412
miasm.jitter.llvmconvert.LLVMFunction.op_translate_with_size
dictionary op_translate_with_size
Add the size as first argument.
Definition: llvmconvert.py:518
miasm.core.interval
Definition: interval.py:1
miasm.jitter.jitload.Jitter.vm
vm
Definition: jitload.py:218
basic_op.a
a
Definition: basic_op.py:9
miasm.jitter.jitload.Jitter
Definition: jitload.py:176
JitCpu::cpu
struct vm_cpu * cpu
Definition: JitCore.h:190
UMOD
#define UMOD(sizeA)
Definition: op_semantics.h:61
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.__init__
def __init__(self, ir_arch, bin_stream)
Definition: jitcore_cc_base.py:54
block_id
Definition: JitCore.h:179
miasm.jitter.loader.utils.libimp.libbase2lastad
libbase2lastad
Definition: utils.py:28
miasm.jitter.llvmconvert.LLVMType.pointer
def pointer(cls, addr)
Definition: llvmconvert.py:51
jitload.code_sentinelle
def code_sentinelle(jitter)
Definition: jitload.py:23
x86_cpuid
_MIASM_EXPORT unsigned int x86_cpuid(unsigned int a, unsigned int reg_num)
Definition: op_semantics.c:299
miasm.expression.expression.ExprLoc
Definition: expression.py:879
miasm.jitter.llvmconvert.LLVMContext_JIT.cache_notify
def cache_notify(module, buffer)
Definition: llvmconvert.py:424
miasm.core.utils.force_str
def force_str(value)
Definition: utils.py:100
miasm.jitter.llvmconvert.LLVMContext.memory_lookup
def memory_lookup(self, func, addr, size)
Definition: llvmconvert.py:210
miasm.loader.pe.Optehdr
Definition: pe.py:64
shellcode.size
size
Definition: shellcode.py:32
basic_op.b
b
Definition: basic_op.py:10
miasm.jitter.llvmconvert.LLVMType.IntType
def IntType(cls, size=32)
Definition: llvmconvert.py:43
JitCpu
Definition: JitCore.h:186
miasm.loader.strpatchwork.StrPatchwork
Definition: strpatchwork.py:25
fpu_fsub64
_MIASM_EXPORT uint64_t fpu_fsub64(uint64_t a, uint64_t b)
Definition: op_semantics.c:498
miasm.jitter.jitcore.JitCore.__init__
def __init__(self, ir_arch, bin_stream)
Definition: jitcore.py:40
minidump_to_pe.address
address
Definition: minidump_to_pe.py:37
fpu_fdiv64
uint64_t fpu_fdiv64(uint64_t a, uint64_t b)
Definition: op_semantics.c:558
miasm.analysis.machine
Definition: machine.py:1
miasm.jitter.llvmconvert.LLVMContext_JIT.__init__
def __init__(self, library_filenames, ir_arch, name="mod")
Definition: llvmconvert.py:224
vm_cpu
Definition: JitCore_aarch64.h:2
miasm.jitter.jitcore.JitCore.log_mn
log_mn
Definition: jitcore.py:57
miasm.arch.arm.jit
Definition: jit.py:1
miasm.loader.pe.struct_array.__getitem__
def __getitem__(self, item)
Definition: pe.py:322
umul16_hi
_MIASM_EXPORT unsigned int umul16_hi(unsigned short a, unsigned short b)
Definition: op_semantics.c:165
miasm.jitter.jitload.Jitter.stack_base
stack_base
Definition: jitload.py:256
miasm.loader.pe.Rva32
Definition: pe.py:255
miasm.jitter.jitcore_cc_base.JitCore_Cc_Base.resolver
resolver
Definition: jitcore_cc_base.py:57
miasm.jitter.loader.elf.vm_load_elf
def vm_load_elf(vm, fdata, name="", base_addr=0, loc_db=None, apply_reloc=False, **kargs)
Definition: elf.py:257
miasm.expression.expression.ExprCompose
Definition: expression.py:1432
miasm.jitter.jitcore_gcc.JitCore_Gcc.deleteCB
def deleteCB(self, offset)
Definition: jitcore_gcc.py:24
miasm.loader.pe.DirExport.f_names
f_names
Definition: pe.py:665
miasm.loader.pe.SHList
Definition: pe.py:156
miasm.jitter.llvmconvert.LLVMFunction.make_bytearray
def make_bytearray(self, buf)
Definition: llvmconvert.py:655
miasm.loader
Definition: __init__.py:1
miasm.jitter.llvmconvert.LLVMContext.get_execengine
def get_execengine(self)
Definition: llvmconvert.py:130
miasm.jitter.llvmconvert.LLVMFunction_IRCompilation.from_ircfg
def from_ircfg(self, ircfg, append_ret=True)
Definition: llvmconvert.py:1908
miasm.jitter.llvmconvert.LLVMContext_IRCompilation.memory_write
def memory_write(self, func, addr, size, value)
Definition: llvmconvert.py:491
miasm.loader.pe.SHList.add_section
def add_section(self, name="default", data=b"", **args)
Definition: pe.py:160
miasm.jitter.jitload.Jitter.runiter_once
def runiter_once(self, pc)
Definition: jitload.py:340
fpu_ftan
double fpu_ftan(double a)
Definition: op_semantics.c:573
miasm.jitter.jitcore_python.JitCore_Python.arch_specific
def arch_specific(self)
Definition: jitcore_python.py:41
miasm.jitter.jitload.Jitter.continue_run
def continue_run(self, step=False, trace=False)
Definition: jitload.py:400
miasm.jitter.jitload.CallbackHandler.call_callbacks
def call_callbacks(self, key, *args)
Definition: jitload.py:121
miasm.jitter.llvmconvert.LLVMFunction.entry_bbl
entry_bbl
Definition: llvmconvert.py:535