All Data Structures Files Functions Variables Enumerations Enumerator Macros Groups
bytecode_api.h File Reference

Go to the source code of this file.

Enumerations

enum  BytecodeKind {
  BC_GENERIC =0, BC_STARTUP =1 , BC_LOGICAL =256, BC_PE_UNPACKER,
  BC_PDF, BC_PE_ALL
}
 
enum  { PE_INVALID_RVA = 0xFFFFFFFF }
 
enum  FunctionalityLevels {
  FUNC_LEVEL_096 = 51 , FUNC_LEVEL_096_1 = 53 , FUNC_LEVEL_096_2 = 54 , FUNC_LEVEL_096_3 = 55,
  FUNC_LEVEL_096_4 = 56, FUNC_LEVEL_096_5 = 58, FUNC_LEVEL_097 = 60, FUNC_LEVEL_097_1 = 61,
  FUNC_LEVEL_097_2 = 62, FUNC_LEVEL_097_3 = 63, FUNC_LEVEL_097_4 = 64, FUNC_LEVEL_097_5 = 65,
  FUNC_LEVEL_097_6 = 67, FUNC_LEVEL_097_7 = 68, FUNC_LEVEL_097_8 = 69, FUNC_LEVEL_098_1 = 76,
  FUNC_LEVEL_098_2 = 77, FUNC_LEVEL_098_3 = 77, FUNC_LEVEL_098_4 = 78
}
 
enum  pdf_phase { , PDF_PHASE_PARSED, PDF_PHASE_POSTDUMP, PDF_PHASE_END, PDF_PHASE_PRE }
 
enum  pdf_flag
 
enum  pdf_objflags
 
enum  bc_json_type
 
enum  { SEEK_SET =0, SEEK_CUR, SEEK_END }
 

Functions

uint32_t test1 (uint32_t a, uint32_t b)
 
int32_t read (uint8_t *data, int32_t size)
 
int32_t write (uint8_t *data, int32_t size)
 
int32_t seek (int32_t pos, uint32_t whence)
 
uint32_t setvirusname (const uint8_t *name, uint32_t len)
 
uint32_t debug_print_str (const uint8_t *str, uint32_t len)
 
uint32_t debug_print_uint (uint32_t a)
 
uint32_t disasm_x86 (struct DISASM_RESULT *result, uint32_t len)
 
uint32_t pe_rawaddr (uint32_t rva)
 
int32_t file_find (const uint8_t *data, uint32_t len)
 
int32_t file_byteat (uint32_t offset)
 
void * malloc (uint32_t size)
 
uint32_t test2 (uint32_t a)
 
int32_t get_pe_section (struct cli_exe_section *section, uint32_t num)
 
int32_t fill_buffer (uint8_t *buffer, uint32_t len, uint32_t filled, uint32_t cursor, uint32_t fill)
 
int32_t extract_new (int32_t id)
 
int32_t read_number (uint32_t radix)
 
int32_t hashset_new (void)
 
int32_t hashset_add (int32_t hs, uint32_t key)
 
int32_t hashset_remove (int32_t hs, uint32_t key)
 
int32_t hashset_contains (int32_t hs, uint32_t key)
 
int32_t hashset_done (int32_t id)
 
int32_t hashset_empty (int32_t id)
 
int32_t buffer_pipe_new (uint32_t size)
 
int32_t buffer_pipe_new_fromfile (uint32_t pos)
 
uint32_t buffer_pipe_read_avail (int32_t id)
 
const uint8_t * buffer_pipe_read_get (int32_t id, uint32_t amount)
 
int32_t buffer_pipe_read_stopped (int32_t id, uint32_t amount)
 
uint32_t buffer_pipe_write_avail (int32_t id)
 
uint8_t * buffer_pipe_write_get (int32_t id, uint32_t size)
 
int32_t buffer_pipe_write_stopped (int32_t id, uint32_t amount)
 
int32_t buffer_pipe_done (int32_t id)
 
int32_t inflate_init (int32_t from_buffer, int32_t to_buffer, int32_t windowBits)
 
int32_t inflate_process (int32_t id)
 
int32_t inflate_done (int32_t id)
 
int32_t bytecode_rt_error (int32_t locationid)
 
int32_t jsnorm_init (int32_t from_buffer)
 
int32_t jsnorm_process (int32_t id)
 
int32_t jsnorm_done (int32_t id)
 
int32_t ilog2 (uint32_t a, uint32_t b)
 
int32_t ipow (int32_t a, int32_t b, int32_t c)
 
uint32_t iexp (int32_t a, int32_t b, int32_t c)
 
int32_t isin (int32_t a, int32_t b, int32_t c)
 
int32_t icos (int32_t a, int32_t b, int32_t c)
 
int32_t memstr (const uint8_t *haystack, int32_t haysize, const uint8_t *needle, int32_t needlesize)
 
int32_t hex2ui (uint32_t hex1, uint32_t hex2)
 
int32_t atoi (const uint8_t *str, int32_t size)
 
uint32_t debug_print_str_start (const uint8_t *str, uint32_t len)
 
uint32_t debug_print_str_nonl (const uint8_t *str, uint32_t len)
 
uint32_t entropy_buffer (uint8_t *buffer, int32_t size)
 
int32_t map_new (int32_t keysize, int32_t valuesize)
 
int32_t map_addkey (const uint8_t *key, int32_t ksize, int32_t id)
 
int32_t map_setvalue (const uint8_t *value, int32_t vsize, int32_t id)
 
int32_t map_remove (const uint8_t *key, int32_t ksize, int32_t id)
 
int32_t map_find (const uint8_t *key, int32_t ksize, int32_t id)
 
int32_t map_getvaluesize (int32_t id)
 
uint8_t * map_getvalue (int32_t id, int32_t size)
 
int32_t map_done (int32_t id)
 
int32_t file_find_limit (const uint8_t *data, uint32_t len, int32_t maxpos)
 
uint32_t engine_functionality_level (void)
 
uint32_t engine_dconf_level (void)
 
uint32_t engine_scan_options (void)
 
uint32_t engine_db_options (void)
 
int32_t extract_set_container (uint32_t container)
 
int32_t input_switch (int32_t extracted_file)
 
uint32_t get_environment (struct cli_environment *env, uint32_t len)
 
uint32_t disable_bytecode_if (const int8_t *reason, uint32_t len, uint32_t cond)
 
uint32_t disable_jit_if (const int8_t *reason, uint32_t len, uint32_t cond)
 
int32_t version_compare (const uint8_t *lhs, uint32_t lhs_len, const uint8_t *rhs, uint32_t rhs_len)
 
uint32_t check_platform (uint32_t a, uint32_t b, uint32_t c)
 
int32_t pdf_get_obj_num (void)
 
int32_t pdf_get_flags (void)
 
int32_t pdf_set_flags (int32_t flags)
 
int32_t pdf_lookupobj (uint32_t id)
 
uint32_t pdf_getobjsize (int32_t objidx)
 
const uint8_t * pdf_getobj (int32_t objidx, uint32_t amount)
 
int32_t pdf_getobjid (int32_t objidx)
 
int32_t pdf_getobjflags (int32_t objidx)
 
int32_t pdf_setobjflags (int32_t objidx, int32_t flags)
 
int32_t pdf_get_offset (int32_t objidx)
 
int32_t pdf_get_phase (void)
 
int32_t pdf_get_dumpedobjid (void)
 
int32_t matchicon (const uint8_t *group1, int32_t group1_len, const uint8_t *group2, int32_t group2_len)
 
int32_t running_on_jit (void)
 
int32_t get_file_reliability (void)
 
int32_t json_is_active (void)
 
int32_t json_get_object (const int8_t *name, int32_t name_len, int32_t objid)
 
int32_t json_get_type (int32_t objid)
 
int32_t json_get_array_length (int32_t objid)
 
int32_t json_get_array_idx (int32_t idx, int32_t objid)
 
int32_t json_get_string_length (int32_t objid)
 
int32_t json_get_string (int8_t *str, int32_t str_len, int32_t objid)
 
int32_t json_get_boolean (int32_t objid)
 
int32_t json_get_int (int32_t objid)
 

Variables

const uint32_t __clambc_match_counts [64]
 This is a low-level variable, use the Macros in bytecode_local.h instead to access it. More...
 
const uint32_t __clambc_match_offsets [64]
 This is a low-level variable, use the Macros in bytecode_local.h instead to access it. More...
 
const struct cli_pe_hook_data __clambc_pedata
 
const uint32_t __clambc_filesize [1]
 
const uint16_t __clambc_kind
 

Enumeration Type Documentation

anonymous enum
Enumerator
PE_INVALID_RVA 

Invalid RVA specified

Function Documentation

uint32_t test1 ( uint32_t  a,
uint32_t  b 
)

Test api.

Parameters
[in]a0xf00dbeef
[in]b0xbeeff00d
Returns
0x12345678 if parameters match, 0x55 otherwise
uint32_t test2 ( uint32_t  a)

Test api2.

Parameters
[in]a0xf00d
Returns
0xd00f if parameter matches, 0x5555 otherwise