IDAPython 8.4
|
Proxy of C++ Hexrays_Hooks class.
Public Member Functions | |
__init__ (self, *args) | |
init(self, _flags=0, _hkcb_flags=0x0001) -> Hexrays_Hooks | |
"bool" | hook (self, *args) |
hook(self) -> bool | |
"bool" | unhook (self, *args) |
unhook(self) -> bool | |
"int" | flowchart (self, *args) |
flowchart(self, fc) -> int Flowchart has been generated. | |
"int" | stkpnts (self, *args) |
stkpnts(self, mba, _sps) -> int SP change points have been calculated. | |
"int" | prolog (self, *args) |
prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int Prolog analysis has been finished. | |
"int" | microcode (self, *args) |
microcode(self, mba) -> int Microcode has been generated. | |
"int" | preoptimized (self, *args) |
preoptimized(self, mba) -> int Microcode has been preoptimized. | |
"int" | locopt (self, *args) |
locopt(self, mba) -> int Basic block level optimization has been finished. | |
"int" | prealloc (self, *args) |
prealloc(self, mba) -> int Local variables: preallocation step begins. | |
"int" | glbopt (self, *args) |
glbopt(self, mba) -> int Global optimization has been finished. | |
"int" | structural (self, *args) |
structural(self, ct) -> int Structural analysis has been finished. | |
"int" | maturity (self, *args) |
maturity(self, cfunc, new_maturity) -> int Ctree maturity level is being changed. | |
"int" | interr (self, *args) |
interr(self, errcode) -> int Internal error has occurred. | |
"int" | combine (self, *args) |
combine(self, blk, insn) -> int Trying to combine instructions of basic block. | |
"int" | print_func (self, *args) |
print_func(self, cfunc, vp) -> int Printing ctree and generating text. | |
"int" | func_printed (self, *args) |
func_printed(self, cfunc) -> int Function text has been generated. | |
"int" | resolve_stkaddrs (self, *args) |
resolve_stkaddrs(self, mba) -> int The optimizer is about to resolve stack addresses. | |
"PyObject *" | build_callinfo (self, *args) |
build_callinfo(self, blk, type) -> PyObject * Analyzing a call instruction. | |
"int" | callinfo_built (self, *args) |
callinfo_built(self, blk) -> int A call instruction has been anallyzed. | |
"int" | calls_done (self, *args) |
calls_done(self, mba) -> int All calls have been analyzed. | |
"int" | open_pseudocode (self, *args) |
open_pseudocode(self, vu) -> int New pseudocode view has been opened. | |
"int" | switch_pseudocode (self, *args) |
switch_pseudocode(self, vu) -> int Existing pseudocode view has been reloaded with a new function. | |
"int" | refresh_pseudocode (self, *args) |
refresh_pseudocode(self, vu) -> int Existing pseudocode text has been refreshed. | |
"int" | close_pseudocode (self, *args) |
close_pseudocode(self, vu) -> int Pseudocode view is being closed. | |
"int" | keyboard (self, *args) |
keyboard(self, vu, key_code, shift_state) -> int Keyboard has been hit. | |
"int" | right_click (self, *args) |
right_click(self, vu) -> int Mouse right click. | |
"int" | double_click (self, *args) |
double_click(self, vu, shift_state) -> int Mouse double click. | |
"int" | curpos (self, *args) |
curpos(self, vu) -> int Current cursor position has been changed. | |
"PyObject *" | create_hint (self, *args) |
create_hint(self, vu) -> PyObject * Create a hint for the current item. | |
"int" | text_ready (self, *args) |
text_ready(self, vu) -> int Decompiled text is ready. | |
"int" | populating_popup (self, *args) |
populating_popup(self, widget, popup_handle, vu) -> int Populating popup menu. | |
"int" | lvar_name_changed (self, *args) |
lvar_name_changed(self, vu, v, name, is_user_name) -> int Local variable got renamed. | |
"int" | lvar_type_changed (self, *args) |
lvar_type_changed(self, vu, v, tinfo) -> int Local variable type got changed. | |
"int" | lvar_cmt_changed (self, *args) |
lvar_cmt_changed(self, vu, v, cmt) -> int Local variable comment got changed. | |
"int" | lvar_mapping_changed (self, *args) |
lvar_mapping_changed(self, vu, frm, to) -> int Local variable mapping got changed. | |
"int" | cmt_changed (self, *args) |
cmt_changed(self, cfunc, loc, cmt) -> int Comment got changed. | |
__disown__ (self) | |
Properties | |
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") | |
__init__ | ( | self, | |
* | args ) |
_flags | uint32 |
_hkcb_flags | uint32 |
__disown__ | ( | self | ) |
"PyObject *" build_callinfo | ( | self, | |
* | args ) |
blk | (mblock_t *) blk->tail is the call. |
type | (tinfo_t *) buffer for the output type. |
"int" callinfo_built | ( | self, | |
* | args ) |
blk | (mblock_t *) blk->tail is the call. |
"int" calls_done | ( | self, | |
* | args ) |
mba | (mba_t *) This event is generated immediately after analyzing all calls, before any optimizitions, call unmerging and block merging. |
"int" close_pseudocode | ( | self, | |
* | args ) |
vu | (vdui_t *) |
"int" cmt_changed | ( | self, | |
* | args ) |
"int" combine | ( | self, | |
* | args ) |
"PyObject *" create_hint | ( | self, | |
* | args ) |
vu | (vdui_t *) |
0 | continue collecting hints with other subscribers |
1 | stop collecting hints |
"int" curpos | ( | self, | |
* | args ) |
(for example, by left-clicking or using keyboard)
vu | (vdui_t *) |
"int" double_click | ( | self, | |
* | args ) |
vu | (vdui_t *) |
shift_state | (int) Should return: 1 if the event has been handled |
"int" flowchart | ( | self, | |
* | args ) |
fc | (qflow_chart_t *) |
"int" func_printed | ( | self, | |
* | args ) |
Plugins may modify the text in cfunc_t::sv. The text uses regular color codes (see lines.hpp) COLOR_ADDR is used to store pointers to ctree items.
cfunc | (cfunc_t *) |
"int" glbopt | ( | self, | |
* | args ) |
If microcode is modified, MERR_LOOP must be returned. It will cause a complete restart of the optimization.
mba | (mba_t *) return Microcode error codes code |
"bool" hook | ( | self, | |
* | args ) |
"int" interr | ( | self, | |
* | args ) |
errcode | (int ) |
"int" keyboard | ( | self, | |
* | args ) |
vu | (vdui_t *) |
key_code | (int) VK_... |
shift_state | (int) Should return: 1 if the event has been handled |
"int" locopt | ( | self, | |
* | args ) |
mba | (mba_t *) return Microcode error codes code |
"int" lvar_cmt_changed | ( | self, | |
* | args ) |
"int" lvar_mapping_changed | ( | self, | |
* | args ) |
"int" lvar_name_changed | ( | self, | |
* | args ) |
"int" lvar_type_changed | ( | self, | |
* | args ) |
"int" maturity | ( | self, | |
* | args ) |
cfunc | (cfunc_t *) |
new_maturity | (ctree_maturity_t) |
"int" microcode | ( | self, | |
* | args ) |
mba | (mba_t *) return Microcode error codes code |
"int" open_pseudocode | ( | self, | |
* | args ) |
vu | (vdui_t *) |
"int" populating_popup | ( | self, | |
* | args ) |
We can add menu items now.
widget | (TWidget *) |
popup_handle | (TPopupMenu *) |
vu | (vdui_t *) |
"int" prealloc | ( | self, | |
* | args ) |
mba | (mba_t *) This event may occur several times. Should return: 1 if modified microcode Negative values are Microcode error codes error codes |
"int" preoptimized | ( | self, | |
* | args ) |
mba | (mba_t *) return Microcode error codes code |
"int" print_func | ( | self, | |
* | args ) |
cfunc | (cfunc_t *) |
vp | (vc_printer_t *) Returns: 1 if text has been generated by the plugin It is forbidden to modify ctree at this event. |
"int" prolog | ( | self, | |
* | args ) |
"int" refresh_pseudocode | ( | self, | |
* | args ) |
Adding/removing pseudocode lines is forbidden in this event.
vu | (vdui_t *) See also hxe_text_ready, which happens earlier |
"int" resolve_stkaddrs | ( | self, | |
* | args ) |
mba | (mba_t *) |
"int" right_click | ( | self, | |
* | args ) |
Use hxe_populating_popup instead, in case you want to add items in the popup menu.
vu | (vdui_t *) |
"int" stkpnts | ( | self, | |
* | args ) |
mba | (mba_t *) |
stkpnts | (stkpnts_t *) return Microcode error codes code |
"int" structural | ( | self, | |
* | args ) |
ct | (control_graph_t *) |
"int" switch_pseudocode | ( | self, | |
* | args ) |
Its text has not been refreshed yet, only cfunc and mba pointers are ready.
vu | (vdui_t *) |
"int" text_ready | ( | self, | |
* | args ) |
vu | (vdui_t *) This event can be used to modify the output text (sv). Obsolete. Please use hxe_func_printed instead. |
"bool" unhook | ( | self, | |
* | args ) |
|
static |