miasm
Reverse engineering framework
vm_mngr.h File Reference
#include <Python.h>
#include <stdint.h>
#include "queue.h"
Include dependency graph for vm_mngr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  memory_page_node
 
struct  memory_access
 
struct  memory_access_list
 
struct  vm_mngr_t
 
struct  func_resolver
 
struct  code_bloc_node
 
struct  memory_breakpoint_info
 

Macros

#define _MIASM_EXPORT
 
#define Endian16_Swap(value)
 
#define Endian32_Swap(value)
 
#define Endian64_Swap(value)
 
#define BREAKPOINT_READ   1
 
#define BREAKPOINT_WRITE   2
 
#define BREAK_SIGALARM   1<<5
 
#define MAX_MEMORY_PAGE_POOL_TAB   0x100000
 
#define MEMORY_PAGE_POOL_MASK_BIT   12
 
#define VM_BIG_ENDIAN   1
 
#define VM_LITTLE_ENDIAN   2
 
#define PAGE_READ   1
 
#define PAGE_WRITE   2
 
#define PAGE_EXEC   4
 
#define EXCEPT_DO_NOT_UPDATE_PC   (1<<25)
 
#define EXCEPT_CODE_AUTOMOD   (1<<0)
 
#define EXCEPT_SOFT_BP   (1<<1)
 
#define EXCEPT_INT_XX   (1<<2)
 
#define EXCEPT_BREAKPOINT_MEMORY   (1<<10)
 
#define EXCEPT_BREAKPOINT_INTERN   (EXCEPT_BREAKPOINT_MEMORY)
 
#define EXCEPT_NUM_UPDT_EIP   (1<<11)
 
#define EXCEPT_UNK_MEM_AD   ((1<<12) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_THROW_SEH   ((1<<13) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_UNK_EIP   ((1<<14) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_ACCESS_VIOL   ((1<<14) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_INT_DIV_BY_ZERO   ((1<<16) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_PRIV_INSN   ((1<<17) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_ILLEGAL_INSN   ((1<<18) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_UNK_MNEMO   ((1<<19) | EXCEPT_DO_NOT_UPDATE_PC)
 
#define EXCEPT_INT_1   ((1<<20) | EXCEPT_DO_NOT_UPDATE_PC)
 

Functions

 LIST_HEAD (code_bloc_list_head, code_bloc_node)
 
 LIST_HEAD (memory_breakpoint_info_head, memory_breakpoint_info)
 
int is_mem_mapped (vm_mngr_t *vm_mngr, uint64_t ad)
 
uint64_t get_mem_base_addr (vm_mngr_t *vm_mngr, uint64_t addr, uint64_t *addr_base)
 
unsigned int MEM_LOOKUP (vm_mngr_t *vm_mngr, unsigned int my_size, uint64_t addr)
 
int is_mapped (vm_mngr_t *vm_mngr, uint64_t addr, size_t size)
 
void vm_throw (vm_mngr_t *vm_mngr, unsigned long flags)
 
void vm_MEM_WRITE_08 (vm_mngr_t *vm_mngr, uint64_t addr, unsigned char src)
 
void vm_MEM_WRITE_16 (vm_mngr_t *vm_mngr, uint64_t addr, unsigned short src)
 
void vm_MEM_WRITE_32 (vm_mngr_t *vm_mngr, uint64_t addr, unsigned int src)
 
void vm_MEM_WRITE_64 (vm_mngr_t *vm_mngr, uint64_t addr, uint64_t src)
 
unsigned char vm_MEM_LOOKUP_08 (vm_mngr_t *vm_mngr, uint64_t addr)
 
unsigned short vm_MEM_LOOKUP_16 (vm_mngr_t *vm_mngr, uint64_t addr)
 
unsigned int vm_MEM_LOOKUP_32 (vm_mngr_t *vm_mngr, uint64_t addr)
 
uint64_t vm_MEM_LOOKUP_64 (vm_mngr_t *vm_mngr, uint64_t addr)
 
void MEM_WRITE_08_PASSTHROUGH (uint64_t addr, unsigned char src)
 
void MEM_WRITE_16_PASSTHROUGH (uint64_t addr, unsigned short src)
 
void MEM_WRITE_32_PASSTHROUGH (uint64_t addr, unsigned int src)
 
void MEM_WRITE_64_PASSTHROUGH (uint64_t addr, uint64_t src)
 
unsigned char MEM_LOOKUP_08_PASSTHROUGH (uint64_t addr)
 
unsigned short MEM_LOOKUP_16_PASSTHROUGH (uint64_t addr)
 
unsigned int MEM_LOOKUP_32_PASSTHROUGH (uint64_t addr)
 
uint64_t MEM_LOOKUP_64_PASSTHROUGH (uint64_t addr)
 
int vm_read_mem (vm_mngr_t *vm_mngr, uint64_t addr, char **buffer_ptr, size_t size)
 
int vm_write_mem (vm_mngr_t *vm_mngr, uint64_t addr, char *buffer, size_t size)
 
void memory_access_list_init (struct memory_access_list *access)
 
void memory_access_list_reset (struct memory_access_list *access)
 
void memory_access_list_add (struct memory_access_list *access, uint64_t start, uint64_t stop)
 
uint16_t set_endian16 (vm_mngr_t *vm_mngr, uint16_t val)
 
uint32_t set_endian32 (vm_mngr_t *vm_mngr, uint32_t val)
 
uint64_t set_endian64 (vm_mngr_t *vm_mngr, uint64_t val)
 
void hexdump (char *m, unsigned int l)
 
struct code_bloc_nodecreate_code_bloc_node (uint64_t ad_start, uint64_t ad_stop)
 
void add_code_bloc (vm_mngr_t *vm_mngr, struct code_bloc_node *cbp)
 
struct memory_page_nodecreate_memory_page_node (uint64_t ad, size_t size, unsigned int access, const char *name)
 
void init_memory_page_pool (vm_mngr_t *vm_mngr)
 
void init_code_bloc_pool (vm_mngr_t *vm_mngr)
 
void reset_memory_page_pool (vm_mngr_t *vm_mngr)
 
void reset_code_bloc_pool (vm_mngr_t *vm_mngr)
 
void dump_code_bloc_pool (vm_mngr_t *vm_mngr)
 
void add_memory_page (vm_mngr_t *vm_mngr, struct memory_page_node *mpn_a)
 
void remove_memory_page (vm_mngr_t *vm_mngr, uint64_t ad)
 
void init_memory_breakpoint (vm_mngr_t *vm_mngr)
 
void reset_memory_breakpoint (vm_mngr_t *vm_mngr)
 
void add_memory_breakpoint (vm_mngr_t *vm_mngr, uint64_t ad, uint64_t size, unsigned int access)
 
void remove_memory_breakpoint (vm_mngr_t *vm_mngr, uint64_t ad, unsigned int access)
 
void add_mem_read (vm_mngr_t *vm_mngr, uint64_t addr, uint64_t size)
 
void add_mem_write (vm_mngr_t *vm_mngr, uint64_t addr, uint64_t size)
 
_MIASM_EXPORT void check_invalid_code_blocs (vm_mngr_t *vm_mngr)
 
_MIASM_EXPORT void check_memory_breakpoint (vm_mngr_t *vm_mngr)
 
_MIASM_EXPORT void reset_memory_access (vm_mngr_t *vm_mngr)
 
PyObject * get_memory_read (vm_mngr_t *vm_mngr)
 
PyObject * get_memory_write (vm_mngr_t *vm_mngr)
 
char * dump (vm_mngr_t *vm_mngr)
 
void dump_memory_breakpoint_pool (vm_mngr_t *vm_mngr)
 
PyObject * addr2BlocObj (vm_mngr_t *vm_mngr, uint64_t addr)
 
unsigned int get_memory_page_max_address (void)
 
unsigned int get_memory_page_max_user_address (void)
 
int is_mpn_in_tab (vm_mngr_t *vm_mngr, struct memory_page_node *mpn_a)
 
void _func_free (void)
 
void _func_alloc (void)
 
unsigned int _get_memory_page_max_address_py (void)
 
unsigned int _get_memory_page_max_user_address_py (void)
 
unsigned int _get_memory_page_from_min_ad_py (unsigned int size)
 
void _func_malloc_memory_page (void)
 
void _func_free_memory_page (void)
 
void _func_virtualalloc_memory_page (void)
 
void _func_virtualfree_memory_page (void)
 
void _func_loadlib_fake (void)
 
void _func_getproc_fake (void)
 
void func_free (void)
 
void func_alloc (void)
 
unsigned int get_memory_page_max_address_py (void)
 
unsigned int get_memory_page_max_user_address_py (void)
 
unsigned int get_memory_page_from_min_ad_py (unsigned int size)
 
struct memory_page_nodeget_memory_page_from_address (vm_mngr_t *, uint64_t ad, int raise_exception)
 
void func_malloc_memory_page (void)
 
void func_free_memory_page (void)
 
void func_virtualalloc_memory_page (void)
 
void func_virtualfree_memory_page (void)
 
void func_loadlib_fake (void)
 
void func_getproc_fake (void)
 
unsigned int access_segment (unsigned int d)
 
unsigned int access_segment_ok (unsigned int d)
 
unsigned int load_segment_limit (unsigned int d)
 
unsigned int load_segment_limit_ok (unsigned int d)
 
unsigned int load_tr_segment_selector (unsigned int d)
 

Macro Definition Documentation

◆ _MIASM_EXPORT

#define _MIASM_EXPORT

◆ BREAK_SIGALARM

#define BREAK_SIGALARM   1<<5

◆ BREAKPOINT_READ

#define BREAKPOINT_READ   1

◆ BREAKPOINT_WRITE

#define BREAKPOINT_WRITE   2

◆ Endian16_Swap

#define Endian16_Swap (   value)
Value:
((((uint16_t)((value) & 0x00FF)) << 8) | \
(((uint16_t)((value) & 0xFF00)) >> 8))

◆ Endian32_Swap

#define Endian32_Swap (   value)
Value:
((((uint32_t)((value) & 0x000000FF)) << 24) | \
(((uint32_t)((value) & 0x0000FF00)) << 8) | \
(((uint32_t)((value) & 0x00FF0000)) >> 8) | \
(((uint32_t)((value) & 0xFF000000)) >> 24))

◆ Endian64_Swap

#define Endian64_Swap (   value)
Value:
(((((uint64_t)value)<<56) & 0xFF00000000000000ULL) | \
((((uint64_t)value)<<40) & 0x00FF000000000000ULL) | \
((((uint64_t)value)<<24) & 0x0000FF0000000000ULL) | \
((((uint64_t)value)<< 8) & 0x000000FF00000000ULL) | \
((((uint64_t)value)>> 8) & 0x00000000FF000000ULL) | \
((((uint64_t)value)>>24) & 0x0000000000FF0000ULL) | \
((((uint64_t)value)>>40) & 0x000000000000FF00ULL) | \
((((uint64_t)value)>>56) & 0x00000000000000FFULL))

◆ EXCEPT_ACCESS_VIOL

#define EXCEPT_ACCESS_VIOL   ((1<<14) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_BREAKPOINT_INTERN

#define EXCEPT_BREAKPOINT_INTERN   (EXCEPT_BREAKPOINT_MEMORY)

◆ EXCEPT_BREAKPOINT_MEMORY

#define EXCEPT_BREAKPOINT_MEMORY   (1<<10)

◆ EXCEPT_CODE_AUTOMOD

#define EXCEPT_CODE_AUTOMOD   (1<<0)

◆ EXCEPT_DO_NOT_UPDATE_PC

#define EXCEPT_DO_NOT_UPDATE_PC   (1<<25)

◆ EXCEPT_ILLEGAL_INSN

#define EXCEPT_ILLEGAL_INSN   ((1<<18) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_INT_1

#define EXCEPT_INT_1   ((1<<20) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_INT_DIV_BY_ZERO

#define EXCEPT_INT_DIV_BY_ZERO   ((1<<16) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_INT_XX

#define EXCEPT_INT_XX   (1<<2)

◆ EXCEPT_NUM_UPDT_EIP

#define EXCEPT_NUM_UPDT_EIP   (1<<11)

◆ EXCEPT_PRIV_INSN

#define EXCEPT_PRIV_INSN   ((1<<17) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_SOFT_BP

#define EXCEPT_SOFT_BP   (1<<1)

◆ EXCEPT_THROW_SEH

#define EXCEPT_THROW_SEH   ((1<<13) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_UNK_EIP

#define EXCEPT_UNK_EIP   ((1<<14) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_UNK_MEM_AD

#define EXCEPT_UNK_MEM_AD   ((1<<12) | EXCEPT_DO_NOT_UPDATE_PC)

◆ EXCEPT_UNK_MNEMO

#define EXCEPT_UNK_MNEMO   ((1<<19) | EXCEPT_DO_NOT_UPDATE_PC)

◆ MAX_MEMORY_PAGE_POOL_TAB

#define MAX_MEMORY_PAGE_POOL_TAB   0x100000

◆ MEMORY_PAGE_POOL_MASK_BIT

#define MEMORY_PAGE_POOL_MASK_BIT   12

◆ PAGE_EXEC

#define PAGE_EXEC   4

◆ PAGE_READ

#define PAGE_READ   1

◆ PAGE_WRITE

#define PAGE_WRITE   2

◆ VM_BIG_ENDIAN

#define VM_BIG_ENDIAN   1

◆ VM_LITTLE_ENDIAN

#define VM_LITTLE_ENDIAN   2

Function Documentation

◆ _func_alloc()

void _func_alloc ( void  )

◆ _func_free()

void _func_free ( void  )

◆ _func_free_memory_page()

void _func_free_memory_page ( void  )

◆ _func_getproc_fake()

void _func_getproc_fake ( void  )

◆ _func_loadlib_fake()

void _func_loadlib_fake ( void  )

◆ _func_malloc_memory_page()

void _func_malloc_memory_page ( void  )

◆ _func_virtualalloc_memory_page()

void _func_virtualalloc_memory_page ( void  )

◆ _func_virtualfree_memory_page()

void _func_virtualfree_memory_page ( void  )

◆ _get_memory_page_from_min_ad_py()

unsigned int _get_memory_page_from_min_ad_py ( unsigned int  size)

◆ _get_memory_page_max_address_py()

unsigned int _get_memory_page_max_address_py ( void  )

◆ _get_memory_page_max_user_address_py()

unsigned int _get_memory_page_max_user_address_py ( void  )

◆ access_segment()

unsigned int access_segment ( unsigned int  d)

◆ access_segment_ok()

unsigned int access_segment_ok ( unsigned int  d)

◆ add_code_bloc()

void add_code_bloc ( vm_mngr_t vm_mngr,
struct code_bloc_node cbp 
)
Here is the caller graph for this function:

◆ add_mem_read()

void add_mem_read ( vm_mngr_t vm_mngr,
uint64_t  addr,
uint64_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_mem_write()

void add_mem_write ( vm_mngr_t vm_mngr,
uint64_t  addr,
uint64_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_memory_breakpoint()

void add_memory_breakpoint ( vm_mngr_t vm_mngr,
uint64_t  ad,
uint64_t  size,
unsigned int  access 
)
Here is the caller graph for this function:

◆ add_memory_page()

void add_memory_page ( vm_mngr_t vm_mngr,
struct memory_page_node mpn_a 
)
Here is the caller graph for this function:

◆ addr2BlocObj()

PyObject* addr2BlocObj ( vm_mngr_t vm_mngr,
uint64_t  addr 
)

◆ check_invalid_code_blocs()

_MIASM_EXPORT void check_invalid_code_blocs ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ check_memory_breakpoint()

_MIASM_EXPORT void check_memory_breakpoint ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ create_code_bloc_node()

struct code_bloc_node* create_code_bloc_node ( uint64_t  ad_start,
uint64_t  ad_stop 
)
Here is the caller graph for this function:

◆ create_memory_page_node()

struct memory_page_node* create_memory_page_node ( uint64_t  ad,
size_t  size,
unsigned int  access,
const char *  name 
)
Here is the caller graph for this function:

◆ dump()

char* dump ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ dump_code_bloc_pool()

void dump_code_bloc_pool ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ dump_memory_breakpoint_pool()

void dump_memory_breakpoint_pool ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ func_alloc()

void func_alloc ( void  )

◆ func_free()

void func_free ( void  )

◆ func_free_memory_page()

void func_free_memory_page ( void  )

◆ func_getproc_fake()

void func_getproc_fake ( void  )

◆ func_loadlib_fake()

void func_loadlib_fake ( void  )

◆ func_malloc_memory_page()

void func_malloc_memory_page ( void  )

◆ func_virtualalloc_memory_page()

void func_virtualalloc_memory_page ( void  )

◆ func_virtualfree_memory_page()

void func_virtualfree_memory_page ( void  )

◆ get_mem_base_addr()

uint64_t get_mem_base_addr ( vm_mngr_t vm_mngr,
uint64_t  addr,
uint64_t *  addr_base 
)

◆ get_memory_page_from_address()

struct memory_page_node* get_memory_page_from_address ( vm_mngr_t ,
uint64_t  ad,
int  raise_exception 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_memory_page_from_min_ad_py()

unsigned int get_memory_page_from_min_ad_py ( unsigned int  size)

◆ get_memory_page_max_address()

unsigned int get_memory_page_max_address ( void  )

◆ get_memory_page_max_address_py()

unsigned int get_memory_page_max_address_py ( void  )

◆ get_memory_page_max_user_address()

unsigned int get_memory_page_max_user_address ( void  )

◆ get_memory_page_max_user_address_py()

unsigned int get_memory_page_max_user_address_py ( void  )

◆ get_memory_read()

PyObject* get_memory_read ( vm_mngr_t vm_mngr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_memory_write()

PyObject* get_memory_write ( vm_mngr_t vm_mngr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hexdump()

void hexdump ( char *  m,
unsigned int  l 
)
Here is the call graph for this function:

◆ init_code_bloc_pool()

void init_code_bloc_pool ( vm_mngr_t vm_mngr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_memory_breakpoint()

void init_memory_breakpoint ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ init_memory_page_pool()

void init_memory_page_pool ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ is_mapped()

int is_mapped ( vm_mngr_t vm_mngr,
uint64_t  addr,
size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_mem_mapped()

int is_mem_mapped ( vm_mngr_t vm_mngr,
uint64_t  ad 
)

◆ is_mpn_in_tab()

int is_mpn_in_tab ( vm_mngr_t vm_mngr,
struct memory_page_node mpn_a 
)
Here is the caller graph for this function:

◆ LIST_HEAD() [1/2]

LIST_HEAD ( code_bloc_list_head  ,
code_bloc_node   
)

◆ LIST_HEAD() [2/2]

LIST_HEAD ( memory_breakpoint_info_head  ,
memory_breakpoint_info   
)

◆ load_segment_limit()

unsigned int load_segment_limit ( unsigned int  d)

◆ load_segment_limit_ok()

unsigned int load_segment_limit_ok ( unsigned int  d)

◆ load_tr_segment_selector()

unsigned int load_tr_segment_selector ( unsigned int  d)

◆ MEM_LOOKUP()

unsigned int MEM_LOOKUP ( vm_mngr_t vm_mngr,
unsigned int  my_size,
uint64_t  addr 
)

◆ MEM_LOOKUP_08_PASSTHROUGH()

unsigned char MEM_LOOKUP_08_PASSTHROUGH ( uint64_t  addr)

◆ MEM_LOOKUP_16_PASSTHROUGH()

unsigned short MEM_LOOKUP_16_PASSTHROUGH ( uint64_t  addr)

◆ MEM_LOOKUP_32_PASSTHROUGH()

unsigned int MEM_LOOKUP_32_PASSTHROUGH ( uint64_t  addr)

◆ MEM_LOOKUP_64_PASSTHROUGH()

uint64_t MEM_LOOKUP_64_PASSTHROUGH ( uint64_t  addr)

◆ MEM_WRITE_08_PASSTHROUGH()

void MEM_WRITE_08_PASSTHROUGH ( uint64_t  addr,
unsigned char  src 
)

◆ MEM_WRITE_16_PASSTHROUGH()

void MEM_WRITE_16_PASSTHROUGH ( uint64_t  addr,
unsigned short  src 
)

◆ MEM_WRITE_32_PASSTHROUGH()

void MEM_WRITE_32_PASSTHROUGH ( uint64_t  addr,
unsigned int  src 
)

◆ MEM_WRITE_64_PASSTHROUGH()

void MEM_WRITE_64_PASSTHROUGH ( uint64_t  addr,
uint64_t  src 
)

◆ memory_access_list_add()

void memory_access_list_add ( struct memory_access_list access,
uint64_t  start,
uint64_t  stop 
)
Here is the caller graph for this function:

◆ memory_access_list_init()

void memory_access_list_init ( struct memory_access_list access)
Here is the caller graph for this function:

◆ memory_access_list_reset()

void memory_access_list_reset ( struct memory_access_list access)
Here is the caller graph for this function:

◆ remove_memory_breakpoint()

void remove_memory_breakpoint ( vm_mngr_t vm_mngr,
uint64_t  ad,
unsigned int  access 
)
Here is the caller graph for this function:

◆ remove_memory_page()

void remove_memory_page ( vm_mngr_t vm_mngr,
uint64_t  ad 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset_code_bloc_pool()

void reset_code_bloc_pool ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ reset_memory_access()

_MIASM_EXPORT void reset_memory_access ( vm_mngr_t vm_mngr)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset_memory_breakpoint()

void reset_memory_breakpoint ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ reset_memory_page_pool()

void reset_memory_page_pool ( vm_mngr_t vm_mngr)
Here is the caller graph for this function:

◆ set_endian16()

uint16_t set_endian16 ( vm_mngr_t vm_mngr,
uint16_t  val 
)
Here is the caller graph for this function:

◆ set_endian32()

uint32_t set_endian32 ( vm_mngr_t vm_mngr,
uint32_t  val 
)
Here is the caller graph for this function:

◆ set_endian64()

uint64_t set_endian64 ( vm_mngr_t vm_mngr,
uint64_t  val 
)
Here is the caller graph for this function:

◆ vm_MEM_LOOKUP_08()

unsigned char vm_MEM_LOOKUP_08 ( vm_mngr_t vm_mngr,
uint64_t  addr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_LOOKUP_16()

unsigned short vm_MEM_LOOKUP_16 ( vm_mngr_t vm_mngr,
uint64_t  addr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_LOOKUP_32()

unsigned int vm_MEM_LOOKUP_32 ( vm_mngr_t vm_mngr,
uint64_t  addr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_LOOKUP_64()

uint64_t vm_MEM_LOOKUP_64 ( vm_mngr_t vm_mngr,
uint64_t  addr 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_WRITE_08()

void vm_MEM_WRITE_08 ( vm_mngr_t vm_mngr,
uint64_t  addr,
unsigned char  src 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_WRITE_16()

void vm_MEM_WRITE_16 ( vm_mngr_t vm_mngr,
uint64_t  addr,
unsigned short  src 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_WRITE_32()

void vm_MEM_WRITE_32 ( vm_mngr_t vm_mngr,
uint64_t  addr,
unsigned int  src 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_MEM_WRITE_64()

void vm_MEM_WRITE_64 ( vm_mngr_t vm_mngr,
uint64_t  addr,
uint64_t  src 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_read_mem()

int vm_read_mem ( vm_mngr_t vm_mngr,
uint64_t  addr,
char **  buffer_ptr,
size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_throw()

void vm_throw ( vm_mngr_t vm_mngr,
unsigned long  flags 
)

◆ vm_write_mem()

int vm_write_mem ( vm_mngr_t vm_mngr,
uint64_t  addr,
char *  buffer,
size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:
export_llvm.value
value
Definition: export_llvm.py:69