ida_lumina

Attributes

SWIG_PYTHON_LEGACY_BOOL

PAT_TYPE_UNKNOWN

PAT_TYPE_MD5

PDRES_BADPTN

PDRES_NOT_FOUND

PDRES_ERROR

PDRES_OK

PDRES_ADDED

PMF_PUSH_MODE_MASK

PMF_PUSH_OVERRIDE_IF_BETTER_OR_DIFFERENT

PMF_PUSH_OVERRIDE

PMF_PUSH_DO_NOT_OVERRIDE

PMF_PUSH_MERGE

UOT_ADD

UOT_EDIT

UOT_DEL

GST_NONE

GST_NAME

DMD_SORT_NONE

DMD_SORT_HASH

UF_IS_ADMIN

UF_CAN_DEL_HISTORY

URF_IGNORE_LICID

BOPF_DETAILS

BOPF_CHRONOLOGICAL_ORDER

BOPF_LAST_FUNC_RECORD

BOPF_FIELD_LICENSE_NAME

BOPF_FIELD_LICENSE_EMAIL

BOPF_FIELD_LICENSE_ID

BOPF_SHOW_FIELD_INPUT_HASH

BOPF_SHOW_FIELD_INPUT_PATH

BOPF_SHOW_FIELD_IDB_PATH

BOPF_SHOW_FIELD_CALCREL_HASH

BOPF_SHOW_FIELD_FUNC_EA

BOPF_SHOW_FIELD_FUNC_ID

BOPF_SHOW_FIELD_USERNAME

BOPF_SHOW_FIELD_ALL

BOPF_PUSHES_FIELD_ALL

STF_DETAILS

DEFAULT_TLM_FLUSH_TIMEOUT

DEFAULT_TLM_FLUSH_EVCNT

LUMINA_GET_POP_DEFAULT_NRESULTS

WKFC_INTERRUPTED

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

MDKF_NONE

MDKF_STR

MDKF_TYPE

MDKF_INT64

MDKF_UINT64

MDKF_DCSTRLIST

MDKF_DSVALLIST

MDKF_FRAME_DESC

MDKF_NLSTRLIST

MDKF_DOPSLIST

LFEAT_PRIMARY_MD

LFEAT_DEC

LFEAT_TLM

LFEAT_SECONDARY_MD

GCSF_NO_CONNECT

GSCF_FEAT_MASK

AMDF_UPGRADE

apply kvps that seem to be of higher "quality" than what's currently in the IDB

AMDF_FORCE

apply kvps regardless of what's currently in the IDB, possibly removing some attributes currently present (e.g., name, or prototype could be lost)

DMOF_COMPUTE_AND_DIFF_SCORE

PROTOCOL_VERSION

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

PKT_GET_LUMINA_INFO

PKT_GET_LUMINA_INFO_RESULT

PKT_HELO_RESULT

PULL_MD_AUTO_APPLY

PULL_MD_SEEN_FILE

Classes

lumina_op_res_vec_t

func_info_vec_t

func_info_and_frequency_vec_t

func_info_and_pattern_vec_t

func_info_pattern_and_frequency_vec_t

insn_cmts_t

user_stkpnts_t

frame_mems_t

extra_cmts_t

skipped_funcs_t

insn_ops_reprs_t

insn_site_t

insn_cmt_t

user_stkpnt_t

extra_cmt_t

oprepr_t

insn_ops_repr_t

metadata_iterator_t

md_type_parts_t

func_md_diff_handler_t

pattern_id_t

func_info_base_t

func_info_t

input_file_t

func_info_and_frequency_t

func_info_and_pattern_t

func_info_pattern_and_frequency_t

pop_fun_t

serialized_tinfo

frame_mem_t

frame_desc_t

skipped_func_t

user_license_info_t

lumina_user_t

peer_conn_t

lumina_server_info_t

lumina_info_t

pkt_rpc_ok_t

pkt_rpc_fail_t

pkt_rpc_notify_t

pkt_helo_t

pkt_pull_md_t

pkt_pull_md_result_t

pkt_push_md_t

pkt_push_md_result_t

pkt_get_pop_t

pkt_get_pop_result_t

pkt_get_lumina_info_t

pkt_get_lumina_info_result_t

pkt_helo_result_t

push_md_opts_t

push_md_result_t

lumina_client_t

simple_idb_diff_handler_t

Functions

new_packet(→ rpc_packet_data_t *)

calc_func_metadata(→ md5_t *)

extract_insn_cmts_from_metadata(→ None)

extract_extra_cmts_from_metadata(→ None)

extract_user_stkpnts_from_metadata(→ None)

extract_frame_desc_from_metadata(→ None)

extract_insn_opreprs_from_metadata(→ None)

extract_insn_opreprs_from_metadata_ex(→ None)

get_server_connection(→ lumina_client_t *)

get_server_connection2(→ lumina_client_t *)

apply_metadata(→ None)

score_metadata(→ int)

backup_metadata(→ bool)

revert_metadata(→ bool)

has_backup_metadata(→ bool)

diff_metadata(→ bool)

get_lumina_rpc_packet_t_index_from_base(→ uchar)

extract_type_from_metadata(→ bool)

split_metadata(→ dict)

Split the metadata blob into a set of KVP's

Module Contents

ida_lumina.SWIG_PYTHON_LEGACY_BOOL
class ida_lumina.lumina_op_res_vec_t(*args)

Bases: object

thisown
push_back(*args) lumina_op_res_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) lumina_op_res_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: lumina_op_res_vec_t) None
extract() lumina_op_res_t *
inject(s: lumina_op_res_t *, len: size_t) None
begin(*args) qvector< lumina_op_res_t >::const_iterator
end(*args) qvector< lumina_op_res_t >::const_iterator
insert(it: qvector< lumina_op_res_t >::iterator, x: lumina_op_res_t const &) qvector< lumina_op_res_t >::iterator
erase(*args) qvector< lumina_op_res_t >::iterator
find(*args) qvector< lumina_op_res_t >::const_iterator
has(x: lumina_op_res_t const &) bool
add_unique(x: lumina_op_res_t const &) bool
append(x: lumina_op_res_t const &) None
extend(x: lumina_op_res_vec_t) None
front
back
class ida_lumina.func_info_vec_t(*args)

Bases: object

thisown
push_back(*args) func_info_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) func_info_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: func_info_vec_t) None
extract() func_info_t *
inject(s: func_info_t, len: size_t) None
begin(*args) qvector< func_info_t >::const_iterator
end(*args) qvector< func_info_t >::const_iterator
insert(it: func_info_t, x: func_info_t) qvector< func_info_t >::iterator
erase(*args) qvector< func_info_t >::iterator
append(x: func_info_t) None
extend(x: func_info_vec_t) None
front
back
class ida_lumina.func_info_and_frequency_vec_t(*args)

Bases: object

thisown
push_back(*args) func_info_and_frequency_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) func_info_and_frequency_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: func_info_and_frequency_vec_t) None
extract() func_info_and_frequency_t *
inject(s: func_info_and_frequency_t, len: size_t) None
begin(*args) qvector< func_info_and_frequency_t >::const_iterator
end(*args) qvector< func_info_and_frequency_t >::const_iterator
insert(it: func_info_and_frequency_t, x: func_info_and_frequency_t) qvector< func_info_and_frequency_t >::iterator
erase(*args) qvector< func_info_and_frequency_t >::iterator
append(x: func_info_and_frequency_t) None
extend(x: func_info_and_frequency_vec_t) None
front
back
class ida_lumina.func_info_and_pattern_vec_t(*args)

Bases: object

thisown
push_back(*args) func_info_and_pattern_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) func_info_and_pattern_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: func_info_and_pattern_vec_t) None
extract() func_info_and_pattern_t *
inject(s: func_info_and_pattern_t, len: size_t) None
begin(*args) qvector< func_info_and_pattern_t >::const_iterator
end(*args) qvector< func_info_and_pattern_t >::const_iterator
insert(it: func_info_and_pattern_t, x: func_info_and_pattern_t) qvector< func_info_and_pattern_t >::iterator
erase(*args) qvector< func_info_and_pattern_t >::iterator
append(x: func_info_and_pattern_t) None
extend(x: func_info_and_pattern_vec_t) None
front
back
class ida_lumina.func_info_pattern_and_frequency_vec_t(*args)

Bases: object

thisown
push_back(*args) func_info_pattern_and_frequency_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) func_info_pattern_and_frequency_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: func_info_pattern_and_frequency_vec_t) None
extract() func_info_pattern_and_frequency_t *
inject(s: func_info_pattern_and_frequency_t, len: size_t) None
begin(*args) qvector< func_info_pattern_and_frequency_t >::const_iterator
end(*args) qvector< func_info_pattern_and_frequency_t >::const_iterator
insert(it: func_info_pattern_and_frequency_t, x: func_info_pattern_and_frequency_t) qvector< func_info_pattern_and_frequency_t >::iterator
erase(*args) qvector< func_info_pattern_and_frequency_t >::iterator
append(x: func_info_pattern_and_frequency_t) None
extend(x: func_info_pattern_and_frequency_vec_t) None
front
back
class ida_lumina.insn_cmts_t(*args)

Bases: object

thisown
push_back(*args) insn_cmt_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) insn_cmt_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: insn_cmts_t) None
extract() insn_cmt_t *
inject(s: insn_cmt_t, len: size_t) None
begin(*args) qvector< insn_cmt_t >::const_iterator
end(*args) qvector< insn_cmt_t >::const_iterator
insert(it: insn_cmt_t, x: insn_cmt_t) qvector< insn_cmt_t >::iterator
erase(*args) qvector< insn_cmt_t >::iterator
append(x: insn_cmt_t) None
extend(x: insn_cmts_t) None
front
back
class ida_lumina.user_stkpnts_t(*args)

Bases: object

thisown
push_back(*args) user_stkpnt_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) user_stkpnt_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: user_stkpnts_t) None
extract() user_stkpnt_t *
inject(s: user_stkpnt_t, len: size_t) None
begin(*args) qvector< user_stkpnt_t >::const_iterator
end(*args) qvector< user_stkpnt_t >::const_iterator
insert(it: user_stkpnt_t, x: user_stkpnt_t) qvector< user_stkpnt_t >::iterator
erase(*args) qvector< user_stkpnt_t >::iterator
append(x: user_stkpnt_t) None
extend(x: user_stkpnts_t) None
front
back
class ida_lumina.frame_mems_t(*args)

Bases: object

thisown
push_back(*args) frame_mem_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) frame_mem_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: frame_mems_t) None
extract() frame_mem_t *
inject(s: frame_mem_t, len: size_t) None
begin(*args) qvector< frame_mem_t >::const_iterator
end(*args) qvector< frame_mem_t >::const_iterator
insert(it: frame_mem_t, x: frame_mem_t) qvector< frame_mem_t >::iterator
erase(*args) qvector< frame_mem_t >::iterator
append(x: frame_mem_t) None
extend(x: frame_mems_t) None
front
back
class ida_lumina.extra_cmts_t(*args)

Bases: object

thisown
push_back(*args) extra_cmt_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) extra_cmt_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: extra_cmts_t) None
extract() extra_cmt_t *
inject(s: extra_cmt_t, len: size_t) None
begin(*args) qvector< extra_cmt_t >::const_iterator
end(*args) qvector< extra_cmt_t >::const_iterator
insert(it: extra_cmt_t, x: extra_cmt_t) qvector< extra_cmt_t >::iterator
erase(*args) qvector< extra_cmt_t >::iterator
append(x: extra_cmt_t) None
extend(x: extra_cmts_t) None
front
back
class ida_lumina.skipped_funcs_t(*args)

Bases: object

thisown
push_back(*args) skipped_func_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) skipped_func_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: skipped_funcs_t) None
extract() skipped_func_t *
inject(s: skipped_func_t, len: size_t) None
begin(*args) qvector< skipped_func_t >::const_iterator
end(*args) qvector< skipped_func_t >::const_iterator
insert(it: skipped_func_t, x: skipped_func_t) qvector< skipped_func_t >::iterator
erase(*args) qvector< skipped_func_t >::iterator
append(x: skipped_func_t) None
extend(x: skipped_funcs_t) None
front
back
class ida_lumina.insn_ops_reprs_t(*args)

Bases: object

thisown
push_back(*args) insn_ops_repr_t &
pop_back() None
size() size_t
empty() bool
at(_idx: size_t) insn_ops_repr_t const &
qclear() None
clear() None
resize(*args) None
grow(*args) None
capacity() size_t
reserve(cnt: size_t) None
truncate() None
swap(r: insn_ops_reprs_t) None
extract() insn_ops_repr_t *
inject(s: insn_ops_repr_t, len: size_t) None
begin(*args) qvector< insn_ops_repr_t >::const_iterator
end(*args) qvector< insn_ops_repr_t >::const_iterator
insert(it: insn_ops_repr_t, x: insn_ops_repr_t) qvector< insn_ops_repr_t >::iterator
erase(*args) qvector< insn_ops_repr_t >::iterator
append(x: insn_ops_repr_t) None
extend(x: insn_ops_reprs_t) None
front
back
ida_lumina.PAT_TYPE_UNKNOWN
ida_lumina.PAT_TYPE_MD5
ida_lumina.PDRES_BADPTN
ida_lumina.PDRES_NOT_FOUND
ida_lumina.PDRES_ERROR
ida_lumina.PDRES_OK
ida_lumina.PDRES_ADDED
ida_lumina.PMF_PUSH_MODE_MASK
ida_lumina.PMF_PUSH_OVERRIDE_IF_BETTER_OR_DIFFERENT
ida_lumina.PMF_PUSH_OVERRIDE
ida_lumina.PMF_PUSH_DO_NOT_OVERRIDE
ida_lumina.PMF_PUSH_MERGE
ida_lumina.UOT_ADD
ida_lumina.UOT_EDIT
ida_lumina.UOT_DEL
ida_lumina.GST_NONE
ida_lumina.GST_NAME
ida_lumina.DMD_SORT_NONE
ida_lumina.DMD_SORT_HASH
ida_lumina.UF_IS_ADMIN
ida_lumina.UF_CAN_DEL_HISTORY
ida_lumina.URF_IGNORE_LICID
ida_lumina.BOPF_DETAILS
ida_lumina.BOPF_CHRONOLOGICAL_ORDER
ida_lumina.BOPF_LAST_FUNC_RECORD
ida_lumina.BOPF_FIELD_LICENSE_NAME
ida_lumina.BOPF_FIELD_LICENSE_EMAIL
ida_lumina.BOPF_FIELD_LICENSE_ID
ida_lumina.BOPF_SHOW_FIELD_INPUT_HASH
ida_lumina.BOPF_SHOW_FIELD_INPUT_PATH
ida_lumina.BOPF_SHOW_FIELD_IDB_PATH
ida_lumina.BOPF_SHOW_FIELD_CALCREL_HASH
ida_lumina.BOPF_SHOW_FIELD_FUNC_EA
ida_lumina.BOPF_SHOW_FIELD_FUNC_ID
ida_lumina.BOPF_SHOW_FIELD_USERNAME
ida_lumina.BOPF_SHOW_FIELD_ALL
ida_lumina.BOPF_PUSHES_FIELD_ALL
ida_lumina.STF_DETAILS
ida_lumina.DEFAULT_TLM_FLUSH_TIMEOUT
ida_lumina.DEFAULT_TLM_FLUSH_EVCNT
ida_lumina.LUMINA_GET_POP_DEFAULT_NRESULTS
ida_lumina.WKFC_INTERRUPTED
ida_lumina.MDK_NONE
ida_lumina.MDK_TYPE
ida_lumina.MDK_VD_ELAPSED
ida_lumina.MDK_FCMT
ida_lumina.MDK_FRPTCMT
ida_lumina.MDK_CMTS
ida_lumina.MDK_RPTCMTS
ida_lumina.MDK_EXTRACMTS
ida_lumina.MDK_USER_STKPNTS
ida_lumina.MDK_FRAME_DESC
ida_lumina.MDK_OPS
ida_lumina.MDK_OPS_EX
ida_lumina.MDK_LAST
ida_lumina.MDKF_NONE
ida_lumina.MDKF_STR
ida_lumina.MDKF_TYPE
ida_lumina.MDKF_INT64
ida_lumina.MDKF_UINT64
ida_lumina.MDKF_DCSTRLIST
ida_lumina.MDKF_DSVALLIST
ida_lumina.MDKF_FRAME_DESC
ida_lumina.MDKF_NLSTRLIST
ida_lumina.MDKF_DOPSLIST
class ida_lumina.insn_site_t

Bases: object

thisown
fchunk_nr: int
fchunk_off: int
toea(pfn: func_t const *) ida_idaapi.ea_t
class ida_lumina.insn_cmt_t

Bases: insn_site_t

thisown
cmt: str
class ida_lumina.user_stkpnt_t

Bases: insn_site_t

thisown
delta: int64
class ida_lumina.extra_cmt_t

Bases: insn_site_t

thisown
prev: str
next: str
class ida_lumina.oprepr_t

Bases: object

thisown
flags: flags64_t
opinfo: opinfo_t
class ida_lumina.insn_ops_repr_t

Bases: insn_site_t

thisown
flags: flags64_t
ops: opinfo_t[8]
class ida_lumina.metadata_iterator_t(_md: metadata_t const &)

Bases: object

thisown
data: uchar const *
size: size_t
key: mdkey_t
next() bool
data_end() uchar const *
ida_lumina.new_packet(code: uchar, ptr: uchar const * = None, len: size_t = 0, version: int = -1) rpc_packet_data_t *
ida_lumina.LFEAT_PRIMARY_MD
ida_lumina.LFEAT_DEC
ida_lumina.LFEAT_TLM
ida_lumina.LFEAT_SECONDARY_MD
ida_lumina.calc_func_metadata(out_fi: func_info_t, pfn: func_t const *, append_metadata: metadata_appender_t * = None) md5_t *
class ida_lumina.md_type_parts_t

Bases: object

thisown
userti: bool
type: qtype
fields: qtype
ida_lumina.extract_insn_cmts_from_metadata(out: insn_cmts_t, ptr: uchar const *) None
ida_lumina.extract_extra_cmts_from_metadata(out: extra_cmts_t, ptr: uchar const *) None
ida_lumina.extract_user_stkpnts_from_metadata(out: user_stkpnts_t, ptr: uchar const *) None
ida_lumina.extract_frame_desc_from_metadata(out: frame_desc_t, ptr: uchar const *) None
ida_lumina.extract_insn_opreprs_from_metadata(out: insn_ops_reprs_t, ptr: uchar const *) None
ida_lumina.extract_insn_opreprs_from_metadata_ex(out: insn_ops_reprs_t, ptr: uchar const *) None
ida_lumina.get_server_connection() lumina_client_t *
ida_lumina.get_server_connection2(flags: int) lumina_client_t *
ida_lumina.GCSF_NO_CONNECT
ida_lumina.GSCF_FEAT_MASK
ida_lumina.AMDF_UPGRADE

apply kvps that seem to be of higher “quality” than what’s currently in the IDB

ida_lumina.AMDF_FORCE

apply kvps regardless of what’s currently in the IDB, possibly removing some attributes currently present (e.g., name, or prototype could be lost)

ida_lumina.apply_metadata(ea: ida_idaapi.ea_t, fi: func_info_t, flags: int = 0) None
ida_lumina.score_metadata(fi: func_info_t) int
ida_lumina.backup_metadata(ea: ida_idaapi.ea_t) bool
ida_lumina.revert_metadata(ea: ida_idaapi.ea_t) bool
ida_lumina.has_backup_metadata(ea: ida_idaapi.ea_t) bool
class ida_lumina.func_md_diff_handler_t

Bases: object

thisown
on_score_changed(l: int, r: int) None
on_name_changed(l: str, r: str) None
on_proto_changed(l: md_type_parts_t, r: md_type_parts_t) None
on_function_comment_changed(l: str, r: str, rep: bool) None
on_comment_changed(fchunk_nr: int, fchunk_off: int, l: str, r: str, rep: bool) None
on_extra_comment_changed(fchunk_nr: int, fchunk_off: int, l: str, r: str, is_prev: bool) None
on_user_stkpnt_changed(fchunk_nr: int, fchunk_off: int, l: int64 const *, r: int64 const *) None
on_frame_member_changed(offset: int, l: frame_mem_t, r: frame_mem_t) None
on_insn_ops_repr_changed(fchunk_nr: int, fchunk_off: int, l: insn_ops_repr_t, r: insn_ops_repr_t) None
ida_lumina.DMOF_COMPUTE_AND_DIFF_SCORE
ida_lumina.diff_metadata(handler: func_md_diff_handler_t, left: func_info_t, right: func_info_t, flags: int = 0) bool
ida_lumina.PROTOCOL_VERSION
class ida_lumina.pattern_id_t(*args)

Bases: object

thisown
type: pattern_type_t
data: bytevec_t
class ida_lumina.func_info_base_t(*args)

Bases: object

thisown
name: str
metadata: metadata_t
class ida_lumina.func_info_t(*args)

Bases: object

thisown
name: str
size: int
metadata: metadata_t
class ida_lumina.input_file_t(*args)

Bases: object

thisown
path: str
md5: md5_t
class ida_lumina.func_info_and_frequency_t(__frequency: int = 0)

Bases: func_info_t

thisown
frequency: int
class ida_lumina.func_info_and_pattern_t(*args)

Bases: func_info_t

thisown
pattern_id: pattern_id_t
class ida_lumina.func_info_pattern_and_frequency_t(__frequency: int = 0)

Bases: func_info_and_pattern_t

thisown
frequency: int
class ida_lumina.pop_fun_t(*args)

Bases: func_info_pattern_and_frequency_t

thisown
hostname: str
input: input_file_t
ea64: ea64_t
class ida_lumina.serialized_tinfo(__type: type_t const * = None, __fields: type_t const * = None)

Bases: object

thisown
type: qtype
fields: qtype
class ida_lumina.frame_mem_t(*args)

Bases: object

thisown
name: str
type: serialized_tinfo
cmt: str
rptcmt: str
offset: ea64_t
info: oprepr_t
nbytes: asize_t
class ida_lumina.frame_desc_t(*args)

Bases: object

thisown
frsize: int
argsize: asize_t
frregs: ushort
members: frame_mems_t
class ida_lumina.skipped_func_t(*args)

Bases: object

thisown
pattern_id: pattern_id_t
count: int
class ida_lumina.user_license_info_t(__id: str = None, __name: str = None, __email: str = None)

Bases: object

thisown
id: str
name: str
email: str
class ida_lumina.lumina_user_t(*args)

Bases: object

thisown
license_info: user_license_info_t
name: str
karma: int
last_active: utc_timestamp_t
features: int
is_admin() bool
set_is_admin(v: bool = True) None
can_del_history() bool
set_can_del_history(v: bool = True) None
class ida_lumina.peer_conn_t(*args)

Bases: object

thisown
session_id: int
peer_name: str
user: lumina_user_t
established: utc_timestamp_t
class ida_lumina.lumina_server_info_t(__macaddr: str = None, __verstr: str = None, __start_time: utc_timestamp_t = 0, __current_time: utc_timestamp_t = 0)

Bases: object

thisown
macaddr: str
verstr: str
start_time: utc_timestamp_t
current_time: utc_timestamp_t
class ida_lumina.lumina_info_t(*args)

Bases: object

thisown
client: peer_conn_t
server: lumina_server_info_t
ida_lumina.PKT_RPC_OK
ida_lumina.PKT_RPC_FAIL
ida_lumina.PKT_RPC_NOTIFY
ida_lumina.PKT_HELO
ida_lumina.PKT_PULL_MD
ida_lumina.PKT_PULL_MD_RESULT
ida_lumina.PKT_PUSH_MD
ida_lumina.PKT_PUSH_MD_RESULT
ida_lumina.PKT_GET_POP
ida_lumina.PKT_GET_POP_RESULT
ida_lumina.PKT_GET_LUMINA_INFO
ida_lumina.PKT_GET_LUMINA_INFO_RESULT
ida_lumina.PKT_HELO_RESULT
ida_lumina.get_lumina_rpc_packet_t_index_from_base(code: lumina_rpc_packet_t) uchar
class ida_lumina.pkt_rpc_ok_t

Bases: object

thisown
class ida_lumina.pkt_rpc_fail_t

Bases: object

thisown
result: int
error: str
class ida_lumina.pkt_rpc_notify_t

Bases: object

thisown
type: rpc_notification_type_t
text: str
class ida_lumina.pkt_helo_t

Bases: object

thisown
client_version: int
key: bytevec_t
license_id: uchar[6]
record_conv: bool
username: str
password: str
class ida_lumina.pkt_pull_md_t

Bases: object

thisown
flags: int
keys: mdkey_vec_t
pattern_ids: pattern_ids_t
class ida_lumina.pkt_pull_md_result_t

Bases: object

thisown
codes: lumina_op_res_vec_t
results: func_info_and_frequency_vec_t
class ida_lumina.pkt_push_md_t

Bases: object

thisown
flags: int
idb: str
input: input_file_t
hostname: str
contents: func_info_and_pattern_vec_t
ea64s: ea64vec_t
class ida_lumina.pkt_push_md_result_t

Bases: object

thisown
codes: lumina_op_res_vec_t
class ida_lumina.pkt_get_pop_t

Bases: object

thisown
nresults: int
class ida_lumina.pkt_get_pop_result_t

Bases: object

thisown
results: pop_fun_vec_t
class ida_lumina.pkt_get_lumina_info_t

Bases: object

thisown
class ida_lumina.pkt_get_lumina_info_result_t

Bases: object

thisown
info: lumina_info_t
class ida_lumina.pkt_helo_result_t

Bases: object

thisown
user: lumina_user_t
class ida_lumina.push_md_opts_t(*args)

Bases: object

thisown
eas: eavec_t
min_func_size: size_t
class ida_lumina.push_md_result_t

Bases: object

thisown
eas: eavec_t
codes: lumina_op_res_vec_t
contents: func_info_and_pattern_vec_t
class ida_lumina.lumina_client_t(*args, **kwargs)

Bases: object

thisown
set_pattern_id_md5(out: pattern_id_t, md5: md5_t const &) None
is_pattern_id(pid: pattern_id_t, md5: md5_t const &) bool
pull_md(*args) pkt_pull_md_result_t *

This function has the following signatures:

  1. pull_md(pattern_ids: pattern_ids_t &, errbuf: str, pull_md_flags: int=0) -> pkt_pull_md_result_t *

  2. pull_md(funcs: eavec_t *, errbuf: str, pull_md_flags: int=0) -> pkt_pull_md_result_t *

# 0: pull_md(pattern_ids: pattern_ids_t &, errbuf: str, pull_md_flags: int=0) -> pkt_pull_md_result_t *

# 1: pull_md(funcs: eavec_t *, errbuf: str, pull_md_flags: int=0) -> pkt_pull_md_result_t *

push_md(result: push_md_result_t, opts: push_md_opts_t, append_metadata: metadata_appender_t * = None, flags: int = 0) bool
get_pop(nresults: int = 10) pkt_get_pop_result_t *
del_history(funcs: eavec_t const &) bool
ida_lumina.PULL_MD_AUTO_APPLY
ida_lumina.PULL_MD_SEEN_FILE
ida_lumina.extract_type_from_metadata(out: tinfo_t, _in: bytevec_t const &) bool
ida_lumina.split_metadata(metadata: bytes) dict

Split the metadata blob into a set of KVP’s

Parameters:

metadata – a metadata blob

Returns:

a set of KVP’s

class ida_lumina.simple_idb_diff_handler_t(pfn)

Bases: func_md_diff_handler_t

NO_DATA_MARKER = None
class indenter_t(handler)

Bases: object

handler
pfn
header_generated = False
lines = []
indent = 0
on_score_changed(l, r)
on_name_changed(l, r)
on_proto_changed(l, r)
on_function_comment_changed(l, r, rep)
on_comment_changed(fchunk_nr, fchunk_off, l, r, rep)
on_extra_comment_changed(fchunk_nr, fchunk_off, l, r, is_prev)
on_user_stkpnt_changed(fchunk_nr, fchunk_off, l, r)
on_frame_member_changed(offset, l, r)
on_insn_ops_repr_changed(fchunk_nr, fchunk_off, l, r)
ensure_header_generated()
where(fchunk_nr, fchunk_off)
format_type(type_parts)
format_extra_cmt(cmt)
format_stkpnt(stkpnt)
format_frame_member(m)
format_insn_ops(ro)
put(msg)
put2(l, r, topic)