IDA C++ SDK 9.2
Loading...
Searching...
No Matches
lumina.hpp File Reference

Go to the source code of this file.

Classes

struct  insn_site_t
struct  insn_cmt_t
struct  user_stkpnt_t
struct  extra_cmt_t
struct  oprepr_t
struct  insn_ops_repr_t
struct  md_type_parts_t
struct  func_md_diff_handler_t
struct  pattern_id_t
struct  func_info_base_t
struct  func_info_t
struct  input_file_t
struct  func_info_and_frequency_t
struct  func_info_and_pattern_t
struct  func_info_pattern_and_frequency_t
struct  pop_fun_t
struct  serialized_tinfo
struct  frame_mem_t
struct  frame_desc_t
struct  skipped_func_t
struct  user_license_info_t
struct  lumina_user_t
struct  peer_conn_t
struct  lumina_server_info_t
struct  lumina_info_t
struct  pkt_rpc_ok_t
struct  pkt_rpc_fail_t
struct  pkt_rpc_notify_t
struct  pkt_helo_t
struct  pkt_pull_md_t
struct  pkt_pull_md_result_t
struct  pkt_push_md_t
struct  pkt_push_md_result_t
struct  pkt_get_pop_t
struct  pkt_get_pop_result_t
struct  pkt_get_lumina_info_t
struct  pkt_get_lumina_info_result_t
struct  pkt_helo_result_t
struct  push_md_opts_t
struct  push_md_result_t
class  lumina_client_t

Typedefs

typedef ea_t ea64_t
typedef qvector< insn_cmt_tinsn_cmts_t
typedef qvector< user_stkpnt_tuser_stkpnts_t
typedef qvector< extra_cmt_textra_cmts_t
typedef qvector< insn_ops_repr_tinsn_ops_reprs_t
typedef void idaapi metadata_appender_t(metadata_creator_t &mcr, const func_t *pfn)
typedef void idaapi metadata_appender_ea_t(metadata_creator_t &mcr, ea_t func_ea)
typedef qvector< lumina_op_res_tlumina_op_res_vec_t
typedef qvector< mdkey_tmdkey_vec_t
typedef qvector< ea64_tea64vec_t
typedef qvector< pattern_id_tpattern_ids_t
typedef qvector< func_info_base_tfunc_info_base_vec_t
typedef qvector< func_info_tfunc_info_vec_t
typedef qvector< md5_tmd5_vec_t
typedef qvector< func_info_and_frequency_tfunc_info_and_frequency_vec_t
typedef qvector< func_info_and_pattern_tfunc_info_and_pattern_vec_t
typedef qvector< func_info_pattern_and_frequency_tfunc_info_pattern_and_frequency_vec_t
typedef qvector< pop_fun_tpop_fun_vec_t
typedef qvector< frame_mem_tframe_mems_t
typedef qvector< skipped_func_tskipped_funcs_t
typedef qvector< utc_timestamp_tutc_timestamp_vec_t
typedef qvector< lumina_user_tlumina_users_t
typedef qvector< qstringqstrvec_t

Enumerations

enum  pattern_type_t { PAT_TYPE_UNKNOWN = 0 , PAT_TYPE_MD5 }
enum  lumina_op_res_t {
  PDRES_BADPTN = -3 , PDRES_NOT_FOUND = -2 , PDRES_ERROR = -1 , PDRES_OK = 0 ,
  PDRES_ADDED
}
enum  user_op_t { UOT_ADD = 0 , UOT_EDIT , UOT_DEL }
enum  generic_sort_type_t { GST_NONE = 0 , GST_NAME }
enum  dump_md_sort_type_t { DMD_SORT_NONE = 0 , DMD_SORT_HASH }
enum  well_known_fail_code_t { WKFC_INTERRUPTED = 0xDEADBEEF }
enum  mdkey_t {
  MDK_NONE = 0 , MDK_TYPE = 1 , MDK_VD_ELAPSED = 2 , MDK_FCMT = 3 ,
  MDK_FRPTCMT = 4 , MDK_CMTS = 5 , MDK_RPTCMTS = 6 , MDK_EXTRACMTS = 7 ,
  MDK_USER_STKPNTS = 8 , MDK_FRAME_DESC = 9 , MDK_OPS = 10 , MDK_OPS_EX = 11 ,
  MDK_LAST
}
enum  mdkey_format_t {
  MDKF_NONE = 0 , MDKF_STR , MDKF_TYPE , MDKF_INT64 ,
  MDKF_UINT64 , MDKF_DCSTRLIST , MDKF_DSVALLIST , MDKF_FRAME_DESC ,
  MDKF_NLSTRLIST , MDKF_DOPSLIST
}
enum  lumina_feature_t { LFEAT_PRIMARY_MD , LFEAT_DEC , LFEAT_TLM , LFEAT_SECONDARY_MD }
enum  lumina_rpc_packet_t {
  PKT_RPC_OK = 10 , PKT_RPC_FAIL , PKT_RPC_NOTIFY , PKT_HELO ,
  PKT_PULL_MD , PKT_PULL_MD_RESULT , PKT_PUSH_MD , PKT_PUSH_MD_RESULT ,
  PKT_GET_POP , PKT_GET_POP_RESULT , __UNUSED_20 = 20 , __UNUSED_21 = 21 ,
  __UNUSED_22 = 22 , __UNUSED_23 = 23 , __UNUSED_24 = 24 , __UNUSED_25 = 25 ,
  __UNUSED_26 = 26 , __UNUSED_27 = 27 , __UNUSED_28 = 28 , __UNUSED_29 = 29 ,
  __UNUSED_30 = 30 , __UNUSED_31 = 31 , __UNUSED_32 = 32 , __UNUSED_33 = 33 ,
  __UNUSED_34 = 34 , __UNUSED_35 = 35 , __UNUSED_36 = 36 , __UNUSED_37 = 37 ,
  __UNUSED_38 = 38 , __UNUSED_39 = 39 , __UNUSED_40 = 40 , __UNUSED_41 = 41 ,
  __UNUSED_42 = 42 , PKT_GET_LUMINA_INFO , PKT_GET_LUMINA_INFO_RESULT , __UNUSED_45 = 45 ,
  __UNUSED_46 = 46 , __UNUSED_47 = 47 , __UNUSED_48 = 48 , PKT_HELO_RESULT
}

Functions

const char * mdkey2str (mdkey_t key)
mdkey_t str2mdkey (const char *str)
mdkey_format_t get_mdkey_preferred_format (mdkey_t key)
 DECLARE_TYPE_AS_MOVABLE (insn_cmt_t)
 DECLARE_TYPE_AS_MOVABLE (user_stkpnt_t)
 DECLARE_TYPE_AS_MOVABLE (extra_cmt_t)
 DECLARE_TYPE_AS_MOVABLE (insn_ops_repr_t)
idaman rpc_packet_data_t *ida_export new_packet (uchar code, const uchar *ptr=nullptr, size_t len=0, int version=-1)
idaman DEPRECATED asize_t ida_export calc_func_metadata (md5_t *out_hash, func_info_t *out_fi, const func_t *pfn, metadata_appender_t *append_metadata=nullptr)
idaman asize_t ida_export calc_function_metadata (md5_t *out_hash, func_info_t *out_fi, ea_t func_ea, metadata_appender_ea_t *append_metadata=nullptr)
idaman void ida_export extract_type_from_metadata (md_type_parts_t *out, const uchar *ptr, const uchar *end)
idaman void ida_export extract_insn_cmts_from_metadata (insn_cmts_t *out, const uchar *ptr, const uchar *end)
idaman void ida_export extract_extra_cmts_from_metadata (extra_cmts_t *out, const uchar *ptr, const uchar *end)
idaman void ida_export extract_user_stkpnts_from_metadata (user_stkpnts_t *out, const uchar *ptr, const uchar *end)
idaman void ida_export extract_frame_desc_from_metadata (frame_desc_t *out, const uchar *ptr, const uchar *end)
idaman void ida_export extract_insn_opreprs_from_metadata (insn_ops_reprs_t *out, const uchar *ptr, const uchar *end)
idaman void ida_export extract_insn_opreprs_from_metadata_ex (insn_ops_reprs_t *out, const uchar *ptr, const uchar *end)
void close_server_connection ()
void close_server_connection2 (lumina_feature_t feature)
void close_server_connections ()
idaman lumina_client_t *ida_export get_server_connection ()
idaman lumina_client_t *ida_export get_server_connection2 (int flags)
idaman void ida_export apply_metadata (ea_t ea, const func_info_t &fi, uint32 flags=AMDF_UPGRADE)
idaman uint32 ida_export score_metadata (const func_info_t &fi)
idaman bool ida_export backup_metadata (ea_t ea)
idaman bool ida_export revert_metadata (ea_t ea)
idaman bool ida_export has_backup_metadata (ea_t ea)
idaman bool ida_export diff_metadata (func_md_diff_handler_t &handler, const func_info_t &left, const func_info_t &right, uint32 flags=0)
 DECLARE_TYPE_AS_MOVABLE (pattern_id_t)
 DECLARE_TYPE_AS_MOVABLE (func_info_base_t)
 DECLARE_TYPE_AS_MOVABLE (func_info_t)
 DECLARE_TYPE_AS_MOVABLE (input_file_t)
 DECLARE_TYPE_AS_MOVABLE (func_info_and_frequency_t)
 DECLARE_TYPE_AS_MOVABLE (func_info_and_pattern_t)
 DECLARE_TYPE_AS_MOVABLE (func_info_pattern_and_frequency_t)
 DECLARE_TYPE_AS_MOVABLE (pop_fun_t)
 DECLARE_TYPE_AS_MOVABLE (serialized_tinfo)
 DECLARE_TYPE_AS_MOVABLE (frame_mem_t)
 DECLARE_TYPE_AS_MOVABLE (frame_desc_t)
 DECLARE_TYPE_AS_MOVABLE (skipped_func_t)
 DECLARE_TYPE_AS_MOVABLE (user_license_info_t)
 DECLARE_TYPE_AS_MOVABLE (lumina_user_t)
 DECLARE_TYPE_AS_MOVABLE (peer_conn_t)
 DECLARE_TYPE_AS_MOVABLE (lumina_server_info_t)
 DECLARE_TYPE_AS_MOVABLE (lumina_info_t)
uchar get_lumina_rpc_packet_t_index_from_base (lumina_rpc_packet_t code)

Variables

const rpc_packet_type_desc_t lumina_rpc_packet_t_descs [40]

Typedef Documentation

◆ ea64_t

typedef uint64 ea64_t

◆ insn_cmts_t

◆ user_stkpnts_t

◆ extra_cmts_t

◆ insn_ops_reprs_t

◆ metadata_appender_t

typedef void idaapi metadata_appender_t(metadata_creator_t &mcr, const func_t *pfn)

◆ metadata_appender_ea_t

typedef void idaapi metadata_appender_ea_t(metadata_creator_t &mcr, ea_t func_ea)

◆ lumina_op_res_vec_t

◆ mdkey_vec_t

◆ ea64vec_t

◆ pattern_ids_t

◆ func_info_base_vec_t

◆ func_info_vec_t

◆ md5_vec_t

◆ func_info_and_frequency_vec_t

◆ func_info_and_pattern_vec_t

◆ func_info_pattern_and_frequency_vec_t

◆ pop_fun_vec_t

◆ frame_mems_t

◆ skipped_funcs_t

◆ utc_timestamp_vec_t

◆ lumina_users_t

◆ qstrvec_t

typedef struct qstrvec_tag qstrvec_t

Enumeration Type Documentation

◆ pattern_type_t

Enumerator
PAT_TYPE_UNKNOWN 
PAT_TYPE_MD5 

◆ lumina_op_res_t

Enumerator
PDRES_BADPTN 
PDRES_NOT_FOUND 
PDRES_ERROR 
PDRES_OK 
PDRES_ADDED 

◆ user_op_t

enum user_op_t
Enumerator
UOT_ADD 
UOT_EDIT 
UOT_DEL 

◆ generic_sort_type_t

Enumerator
GST_NONE 
GST_NAME 

◆ dump_md_sort_type_t

Enumerator
DMD_SORT_NONE 
DMD_SORT_HASH 

◆ well_known_fail_code_t

Enumerator
WKFC_INTERRUPTED 

◆ mdkey_t

enum mdkey_t
Enumerator
MDK_NONE 
MDK_TYPE 
MDK_VD_ELAPSED 
MDK_FCMT 
MDK_FRPTCMT 
MDK_CMTS 
MDK_RPTCMTS 
MDK_EXTRACMTS 
MDK_USER_STKPNTS 
MDK_FRAME_DESC 
MDK_OPS 
MDK_OPS_EX 
MDK_LAST 

◆ mdkey_format_t

Enumerator
MDKF_NONE 
MDKF_STR 
MDKF_TYPE 
MDKF_INT64 
MDKF_UINT64 
MDKF_DCSTRLIST 
MDKF_DSVALLIST 
MDKF_FRAME_DESC 
MDKF_NLSTRLIST 
MDKF_DOPSLIST 

◆ lumina_feature_t

Enumerator
LFEAT_PRIMARY_MD 
LFEAT_DEC 
LFEAT_TLM 
LFEAT_SECONDARY_MD 

◆ lumina_rpc_packet_t

Enumerator
PKT_RPC_OK 
PKT_RPC_FAIL 
PKT_RPC_NOTIFY 
PKT_HELO 
PKT_PULL_MD 
PKT_PULL_MD_RESULT 
PKT_PUSH_MD 
PKT_PUSH_MD_RESULT 
PKT_GET_POP 
PKT_GET_POP_RESULT 
__UNUSED_20 
__UNUSED_21 
__UNUSED_22 
__UNUSED_23 
__UNUSED_24 
__UNUSED_25 
__UNUSED_26 
__UNUSED_27 
__UNUSED_28 
__UNUSED_29 
__UNUSED_30 
__UNUSED_31 
__UNUSED_32 
__UNUSED_33 
__UNUSED_34 
__UNUSED_35 
__UNUSED_36 
__UNUSED_37 
__UNUSED_38 
__UNUSED_39 
__UNUSED_40 
__UNUSED_41 
__UNUSED_42 
PKT_GET_LUMINA_INFO 
PKT_GET_LUMINA_INFO_RESULT 
__UNUSED_45 
__UNUSED_46 
__UNUSED_47 
__UNUSED_48 
PKT_HELO_RESULT 

Function Documentation

◆ mdkey2str()

const char * mdkey2str ( mdkey_t key)

◆ str2mdkey()

mdkey_t str2mdkey ( const char * str)

◆ get_mdkey_preferred_format()

mdkey_format_t get_mdkey_preferred_format ( mdkey_t key)

◆ DECLARE_TYPE_AS_MOVABLE() [1/21]

DECLARE_TYPE_AS_MOVABLE ( insn_cmt_t )

◆ DECLARE_TYPE_AS_MOVABLE() [2/21]

DECLARE_TYPE_AS_MOVABLE ( user_stkpnt_t )

◆ DECLARE_TYPE_AS_MOVABLE() [3/21]

DECLARE_TYPE_AS_MOVABLE ( extra_cmt_t )

◆ DECLARE_TYPE_AS_MOVABLE() [4/21]

DECLARE_TYPE_AS_MOVABLE ( insn_ops_repr_t )

◆ new_packet()

idaman rpc_packet_data_t *ida_export new_packet ( uchar code,
const uchar * ptr = nullptr,
size_t len = 0,
int version = -1 )

◆ calc_func_metadata()

idaman DEPRECATED asize_t ida_export calc_func_metadata ( md5_t * out_hash,
func_info_t * out_fi,
const func_t * pfn,
metadata_appender_t * append_metadata = nullptr )
Deprecated
Use calc_function_metadata() for safer access.

◆ calc_function_metadata()

idaman asize_t ida_export calc_function_metadata ( md5_t * out_hash,
func_info_t * out_fi,
ea_t func_ea,
metadata_appender_ea_t * append_metadata = nullptr )

◆ extract_type_from_metadata()

idaman void ida_export extract_type_from_metadata ( md_type_parts_t * out,
const uchar * ptr,
const uchar * end )

◆ extract_insn_cmts_from_metadata()

idaman void ida_export extract_insn_cmts_from_metadata ( insn_cmts_t * out,
const uchar * ptr,
const uchar * end )

◆ extract_extra_cmts_from_metadata()

idaman void ida_export extract_extra_cmts_from_metadata ( extra_cmts_t * out,
const uchar * ptr,
const uchar * end )

◆ extract_user_stkpnts_from_metadata()

idaman void ida_export extract_user_stkpnts_from_metadata ( user_stkpnts_t * out,
const uchar * ptr,
const uchar * end )

◆ extract_frame_desc_from_metadata()

idaman void ida_export extract_frame_desc_from_metadata ( frame_desc_t * out,
const uchar * ptr,
const uchar * end )

◆ extract_insn_opreprs_from_metadata()

idaman void ida_export extract_insn_opreprs_from_metadata ( insn_ops_reprs_t * out,
const uchar * ptr,
const uchar * end )

◆ extract_insn_opreprs_from_metadata_ex()

idaman void ida_export extract_insn_opreprs_from_metadata_ex ( insn_ops_reprs_t * out,
const uchar * ptr,
const uchar * end )

◆ close_server_connection()

void close_server_connection ( )

◆ close_server_connection2()

void close_server_connection2 ( lumina_feature_t feature)

◆ close_server_connections()

void close_server_connections ( )

◆ get_server_connection()

idaman lumina_client_t *ida_export get_server_connection ( )

◆ get_server_connection2()

idaman lumina_client_t *ida_export get_server_connection2 ( int flags)

◆ apply_metadata()

idaman void ida_export apply_metadata ( ea_t ea,
const func_info_t & fi,
uint32 flags = AMDF_UPGRADE )

◆ score_metadata()

idaman uint32 ida_export score_metadata ( const func_info_t & fi)

◆ backup_metadata()

idaman bool ida_export backup_metadata ( ea_t ea)

◆ revert_metadata()

idaman bool ida_export revert_metadata ( ea_t ea)

◆ has_backup_metadata()

idaman bool ida_export has_backup_metadata ( ea_t ea)

◆ diff_metadata()

idaman bool ida_export diff_metadata ( func_md_diff_handler_t & handler,
const func_info_t & left,
const func_info_t & right,
uint32 flags = 0 )

◆ DECLARE_TYPE_AS_MOVABLE() [5/21]

DECLARE_TYPE_AS_MOVABLE ( pattern_id_t )

◆ DECLARE_TYPE_AS_MOVABLE() [6/21]

DECLARE_TYPE_AS_MOVABLE ( func_info_base_t )

◆ DECLARE_TYPE_AS_MOVABLE() [7/21]

DECLARE_TYPE_AS_MOVABLE ( func_info_t )

◆ DECLARE_TYPE_AS_MOVABLE() [8/21]

DECLARE_TYPE_AS_MOVABLE ( input_file_t )

◆ DECLARE_TYPE_AS_MOVABLE() [9/21]

DECLARE_TYPE_AS_MOVABLE ( func_info_and_frequency_t )

◆ DECLARE_TYPE_AS_MOVABLE() [10/21]

DECLARE_TYPE_AS_MOVABLE ( func_info_and_pattern_t )

◆ DECLARE_TYPE_AS_MOVABLE() [11/21]

DECLARE_TYPE_AS_MOVABLE ( func_info_pattern_and_frequency_t )

◆ DECLARE_TYPE_AS_MOVABLE() [12/21]

DECLARE_TYPE_AS_MOVABLE ( pop_fun_t )

◆ DECLARE_TYPE_AS_MOVABLE() [13/21]

DECLARE_TYPE_AS_MOVABLE ( serialized_tinfo )

◆ DECLARE_TYPE_AS_MOVABLE() [14/21]

DECLARE_TYPE_AS_MOVABLE ( frame_mem_t )

◆ DECLARE_TYPE_AS_MOVABLE() [15/21]

DECLARE_TYPE_AS_MOVABLE ( frame_desc_t )

◆ DECLARE_TYPE_AS_MOVABLE() [16/21]

DECLARE_TYPE_AS_MOVABLE ( skipped_func_t )

◆ DECLARE_TYPE_AS_MOVABLE() [17/21]

DECLARE_TYPE_AS_MOVABLE ( user_license_info_t )

◆ DECLARE_TYPE_AS_MOVABLE() [18/21]

DECLARE_TYPE_AS_MOVABLE ( lumina_user_t )

◆ DECLARE_TYPE_AS_MOVABLE() [19/21]

DECLARE_TYPE_AS_MOVABLE ( peer_conn_t )

◆ DECLARE_TYPE_AS_MOVABLE() [20/21]

DECLARE_TYPE_AS_MOVABLE ( lumina_server_info_t )

◆ DECLARE_TYPE_AS_MOVABLE() [21/21]

DECLARE_TYPE_AS_MOVABLE ( lumina_info_t )

◆ get_lumina_rpc_packet_t_index_from_base()

uchar get_lumina_rpc_packet_t_index_from_base ( lumina_rpc_packet_t code)
inline

Variable Documentation

◆ lumina_rpc_packet_t_descs

const rpc_packet_type_desc_t lumina_rpc_packet_t_descs[40]
extern