30 #ifndef BYTECODE_API_H
31 #define BYTECODE_API_H
37 #include "bytecode_detect.h"
81 FUNC_LEVEL_096_dev = 52,
84 FUNC_LEVEL_096_1_dev = 54,
86 FUNC_LEVEL_096_2_dev = 55,
134 UNTERMINATED_OBJ_DICT,
135 ESCAPED_COMMON_PDFNAME,
236 uint32_t
test1(uint32_t a, uint32_t b);
246 int32_t
read(uint8_t *data, int32_t size);
270 int32_t
write(uint8_t *data, int32_t size);
280 int32_t
seek(int32_t pos, uint32_t whence);
289 uint32_t
setvirusname(
const uint8_t *name, uint32_t len);
327 uint32_t trace_directory(
const uint8_t* directory, uint32_t dummy);
328 uint32_t trace_scope(
const uint8_t* newscope, uint32_t scopeid);
329 uint32_t trace_source(
const uint8_t* srcfile, uint32_t line);
330 uint32_t trace_op(
const uint8_t* opname, uint32_t column);
331 uint32_t trace_value(
const uint8_t* name, uint32_t v);
332 uint32_t trace_ptr(
const uint8_t* ptr, uint32_t dummy);
351 int32_t
file_find(
const uint8_t* data, uint32_t len);
369 void*
malloc(uint32_t size);
376 uint32_t
test2(uint32_t a);
401 int32_t
fill_buffer(uint8_t* buffer, uint32_t len, uint32_t filled,
402 uint32_t cursor, uint32_t fill);
574 int32_t
inflate_init(int32_t from_buffer, int32_t to_buffer, int32_t windowBits);
650 int32_t
ilog2(uint32_t a, uint32_t b);
660 int32_t
ipow(int32_t a, int32_t b, int32_t c);
670 uint32_t
iexp(int32_t a, int32_t b, int32_t c);
680 int32_t
isin(int32_t a, int32_t b, int32_t c);
690 int32_t
icos(int32_t a, int32_t b, int32_t c);
702 int32_t
memstr(
const uint8_t* haystack, int32_t haysize,
703 const uint8_t* needle, int32_t needlesize);
713 int32_t
hex2ui(uint32_t hex1, uint32_t hex2);
722 int32_t
atoi(
const uint8_t* str, int32_t size);
761 int32_t
map_new(int32_t keysize, int32_t valuesize);
773 int32_t
map_addkey(
const uint8_t *key, int32_t ksize, int32_t
id);
784 int32_t
map_setvalue(
const uint8_t *value, int32_t vsize, int32_t
id);
796 int32_t
map_remove(
const uint8_t* key, int32_t ksize, int32_t
id);
810 int32_t
map_find(
const uint8_t* key, int32_t ksize, int32_t
id);
853 int32_t
file_find_limit(
const uint8_t *data, uint32_t len, int32_t maxpos);
947 uint32_t
disable_jit_if(
const int8_t* reason, uint32_t len, uint32_t cond);
961 const uint8_t* rhs, uint32_t rhs_len);
1027 const uint8_t *
pdf_getobj(int32_t objidx, uint32_t amount);
1098 int32_t
matchicon(
const uint8_t* group1, int32_t group1_len,
1099 const uint8_t* group2, int32_t group2_len);
1141 int32_t
json_get_object(
const int8_t* name, int32_t name_len, int32_t objid);
uint32_t debug_print_str_start(const uint8_t *str, uint32_t len)
pdf_objflags
Definition: bytecode_api.h:151
int32_t map_remove(const uint8_t *key, int32_t ksize, int32_t id)
FunctionalityLevels
Definition: bytecode_api.h:79
int32_t running_on_jit(void)
Definition: bytecode_api.h:114
Definition: bytecode_api.h:253
int32_t json_get_string_length(int32_t objid)
Definition: bytecode_api.h:72
BytecodeKind
Definition: bytecode_api.h:49
bc_json_type
Definition: bytecode_api.h:183
uint32_t disable_jit_if(const int8_t *reason, uint32_t len, uint32_t cond)
Definition: bytecode_api.h:56
const uint32_t __clambc_match_counts[64]
This is a low-level variable, use the Macros in bytecode_local.h instead to access it...
Definition: bytecode_api.h:99
int32_t inflate_done(int32_t id)
Definition: bytecode_api.h:58
int32_t pdf_set_flags(int32_t flags)
Definition: bytecode_api.h:115
Definition: bytecode_api.h:51
uint32_t check_platform(uint32_t a, uint32_t b, uint32_t c)
int32_t json_get_array_length(int32_t objid)
Definition: bytecode_api.h:85
Definition: bytecode_api.h:95
pdf_flag
Definition: bytecode_api.h:123
uint32_t get_environment(struct cli_environment *env, uint32_t len)
int32_t buffer_pipe_read_stopped(int32_t id, uint32_t amount)
Definition: bytecode_api.h:116
uint32_t disasm_x86(struct DISASM_RESULT *result, uint32_t len)
Definition: bytecode_api.h:257
uint32_t test1(uint32_t a, uint32_t b)
int32_t get_pe_section(struct cli_exe_section *section, uint32_t num)
int32_t map_getvaluesize(int32_t id)
Definition: bytecode_api.h:53
int32_t json_is_active(void)
Definition: bytecode_api.h:101
int32_t json_get_string(int8_t *str, int32_t str_len, int32_t objid)
int32_t buffer_pipe_new_fromfile(uint32_t pos)
int32_t ilog2(uint32_t a, uint32_t b)
const uint16_t __clambc_kind
Definition: bytecode_api.h:227
int32_t extract_new(int32_t id)
int32_t pdf_getobjid(int32_t objidx)
int32_t hashset_empty(int32_t id)
int32_t input_switch(int32_t extracted_file)
Definition: bytecode_api.h:102
Definition: bytecode_api.h:103
int32_t atoi(const uint8_t *str, int32_t size)
int32_t bytecode_rt_error(int32_t locationid)
Definition: bytecode_api.h:91
int32_t map_new(int32_t keysize, int32_t valuesize)
int32_t file_find(const uint8_t *data, uint32_t len)
int32_t file_byteat(uint32_t offset)
Definition: bytecode_api.h:63
Definition: bytecode_execs.h:39
Definition: bytecode_api.h:97
Definition: bytecode_api.h:88
int32_t map_find(const uint8_t *key, int32_t ksize, int32_t id)
int32_t hashset_done(int32_t id)
uint32_t engine_scan_options(void)
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 json_get_array_idx(int32_t idx, int32_t objid)
Definition: bytecode_api.h:113
int32_t hashset_add(int32_t hs, uint32_t key)
int32_t fill_buffer(uint8_t *buffer, uint32_t len, uint32_t filled, uint32_t cursor, uint32_t fill)
uint32_t engine_functionality_level(void)
Definition: bytecode_pe.h:158
Definition: bytecode_api.h:82
int32_t hashset_contains(int32_t hs, uint32_t key)
uint8_t * buffer_pipe_write_get(int32_t id, uint32_t size)
int32_t jsnorm_init(int32_t from_buffer)
const struct cli_pe_hook_data __clambc_pedata
int32_t pdf_get_obj_num(void)
int32_t json_get_boolean(int32_t objid)
int32_t read_number(uint32_t radix)
uint32_t entropy_buffer(uint8_t *buffer, int32_t size)
int32_t hashset_new(void)
int32_t isin(int32_t a, int32_t b, int32_t c)
uint32_t disable_bytecode_if(const int8_t *reason, uint32_t len, uint32_t cond)
int32_t pdf_lookupobj(uint32_t id)
uint32_t setvirusname(const uint8_t *name, uint32_t len)
int32_t read(uint8_t *data, int32_t size)
Definition: bytecode_api.h:94
const uint8_t * pdf_getobj(int32_t objidx, uint32_t amount)
int32_t inflate_init(int32_t from_buffer, int32_t to_buffer, int32_t windowBits)
uint32_t iexp(int32_t a, int32_t b, int32_t c)
int32_t pdf_get_offset(int32_t objidx)
const uint32_t __clambc_match_offsets[64]
This is a low-level variable, use the Macros in bytecode_local.h instead to access it...
int32_t map_done(int32_t id)
int32_t pdf_setobjflags(int32_t objidx, int32_t flags)
int32_t file_find_limit(const uint8_t *data, uint32_t len, int32_t maxpos)
uint32_t pdf_getobjsize(int32_t objidx)
int32_t seek(int32_t pos, uint32_t whence)
int32_t hex2ui(uint32_t hex1, uint32_t hex2)
uint32_t debug_print_uint(uint32_t a)
int32_t pdf_get_dumpedobjid(void)
uint8_t * map_getvalue(int32_t id, int32_t size)
void * malloc(uint32_t size)
int32_t json_get_int(int32_t objid)
int32_t buffer_pipe_done(int32_t id)
int32_t extract_set_container(uint32_t container)
uint32_t pe_rawaddr(uint32_t rva)
Definition: bytecode_disasm.h:357
int32_t pdf_get_flags(void)
const uint32_t __clambc_filesize[1]
int32_t pdf_getobjflags(int32_t objidx)
int32_t map_addkey(const uint8_t *key, int32_t ksize, int32_t id)
int32_t hashset_remove(int32_t hs, uint32_t key)
Definition: bytecode_api.h:92
uint32_t debug_print_str(const uint8_t *str, uint32_t len)
uint32_t test2(uint32_t a)
int32_t pdf_get_phase(void)
uint32_t debug_print_str_nonl(const uint8_t *str, uint32_t len)
Definition: bytecode_api.h:60
int32_t version_compare(const uint8_t *lhs, uint32_t lhs_len, const uint8_t *rhs, uint32_t rhs_len)
int32_t buffer_pipe_new(uint32_t size)
Definition: bytecode_api.h:100
pdf_phase
Definition: bytecode_api.h:111
Definition: bytecode_api.h:96
Definition: bytecode_api.h:98
int32_t get_file_reliability(void)
int32_t buffer_pipe_write_stopped(int32_t id, uint32_t amount)
uint32_t engine_db_options(void)
uint32_t engine_dconf_level(void)
const uint8_t * buffer_pipe_read_get(int32_t id, uint32_t amount)
Definition: bytecode_api.h:255
uint32_t buffer_pipe_read_avail(int32_t id)
Definition: bytecode_api.h:93
int32_t jsnorm_done(int32_t id)
int32_t map_setvalue(const uint8_t *value, int32_t vsize, int32_t id)
int32_t jsnorm_process(int32_t id)
Definition: bytecode_api.h:87
Definition: bytecode_api.h:80
int32_t inflate_process(int32_t id)
int32_t matchicon(const uint8_t *group1, int32_t group1_len, const uint8_t *group2, int32_t group2_len)
int32_t write(uint8_t *data, int32_t size)
Definition: bytecode_api.h:90
int32_t json_get_object(const int8_t *name, int32_t name_len, int32_t objid)
int32_t json_get_type(int32_t objid)
uint32_t buffer_pipe_write_avail(int32_t id)
int32_t ipow(int32_t a, int32_t b, int32_t c)