IDAPython for IDA 7.5

This commit is contained in:
Arnaud Diederen
2020-05-27 14:34:02 +02:00
parent fc05f78e37
commit 604de9cfad
177 changed files with 102110 additions and 53038 deletions
+29
View File
@@ -0,0 +1,29 @@
{
"SwigDirector_dirspec_t::get_name" : [
("spontaneous_callback_call", None),
("repl_text", (
"int swig_res = SWIG_AsVal_bool(result, &swig_val);",
("int swig_res = IDAPyStr_Check(result) && (out == nullptr || IDAPyStr_AsUTF8(out, result));",
" swig_val = static_cast<bool>(swig_res);"))),
],
"SwigDirector_dirspec_t::get_inode" : [
("spontaneous_callback_call", None)
],
"SwigDirector_dirspec_t::get_size" : [
("spontaneous_callback_call", None)
],
"SwigDirector_dirspec_t::get_attrs" : [
("spontaneous_callback_call", None)
],
"SwigDirector_dirspec_t::rename_inode" : [
("spontaneous_callback_call", None)
],
"SwigDirector_dirspec_t::unlink_inode" : [
("spontaneous_callback_call", (
True, # add GIL lock
" swig::SwigVar_PyObject obj0;", # try anchor
"}" # catch anchor
))
],
}
+34
View File
@@ -0,0 +1,34 @@
{
"SwigDirector_ioports_fallback_t::handle" : [
("repl_text", (
"int swig_res = SWIG_AsVal_bool(result, &swig_val);",
(
"const bool is_error = IDAPyStr_Check(result) != 0;",
" int swig_res = is_error || result == Py_None;",
" if ( is_error )",
" IDAPyStr_AsUTF8(errbuf, result);",
" swig_val = !is_error;",
),
)),
],
"SwigDirector_choose_ioport_parser_t::parse" : [
("repl_text", (
"int swig_res = SWIG_AsVal_bool(result, &swig_val);",
("""const bool is_proper_tuple = PyTuple_Check(result) && PyTuple_Size(result) == 2;
const bool is_item0_bool = is_proper_tuple && PyBool_Check(PyTuple_GetItem(result, 0));
const bool is_success = is_proper_tuple && is_item0_bool && PyTuple_GetItem(result, 0) == Py_True;
const bool is_item1_str = is_proper_tuple && IDAPyStr_Check(PyTuple_GetItem(result, 1));
const bool well_formed = is_proper_tuple && is_item0_bool && ((is_success && is_item1_str) || !is_success);
int swig_res = well_formed;
if ( well_formed )
{
if ( is_item1_str )
IDAPyStr_AsUTF8(param, PyTuple_GetItem(result, 1));
else
param->qclear();
}
swig_val = well_formed ? is_success : false;
""")))
],
}
+15 -14
View File
@@ -3,29 +3,30 @@
("maybe_collect_director_fixed_method_set", None),
],
"vcreate_helper" : [
("va_copy", ("arg4", "temp")),
],
"vcall_helper" : [
("va_copy", ("arg4", "temp")),
],
"Hexrays_Callback" : [
("va_copy", ("arg3", "temp")),
],
"SwigDirector_microcode_filter_t::match" : [
("spontaneous_callback_call", True)
("spontaneous_callback_call", None)
],
"SwigDirector_microcode_filter_t::apply" : [
("spontaneous_callback_call", True)
("spontaneous_callback_call", None)
],
"SwigDirector_udc_filter_t::match" : [
("spontaneous_callback_call", True)
("spontaneous_callback_call", None)
],
"SwigDirector_optinsn_t::func" : [
("spontaneous_callback_call", True)
("director_method_call_arity_cap", (
True, # add GIL lock
"func",
"(method ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 3 ? NULL : (PyObject *)obj2), NULL)",
"(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 4 ? NULL : (PyObject *)obj2), NULL)",
)),
("spontaneous_callback_call", (
False, # add GIL lock
None, # try anchor
None # catch anchor
)),
],
"SwigDirector_optblock_t::func" : [
("spontaneous_callback_call", True)
("spontaneous_callback_call", None)
],
"new_mba_ranges_t" : [
("repl_text", (
+1
View File
@@ -11,6 +11,7 @@
"SwigDirector_IDP_Hooks::ev_get_bg_color" : [
("director_method_call_arity_cap", (
False, # add GIL lock
"ev_get_bg_color",
"(method , __argcnt == 2 ? (PyObject *) obj1 : (PyObject *) obj0, __argcnt == 2 ? (PyObject *) NULL : (PyObject *) obj1, NULL)",
"(swig_get_self(), (PyObject *) swig_method_name , __argcnt == 2 ? (PyObject *) obj1 : (PyObject *) obj0, __argcnt == 2 ? (PyObject *) NULL : (PyObject *) obj1, NULL)")
+2 -3
View File
@@ -1,7 +1,4 @@
{
"vask_file" : [
("va_copy", ("arg4", "temp")),
],
"SwigDirector_UI_Hooks::SwigDirector_UI_Hooks" : [
("maybe_collect_director_fixed_method_set",
[
@@ -18,6 +15,7 @@
],
"SwigDirector_UI_Hooks::populating_widget_popup" : [
("director_method_call_arity_cap", (
False, # add GIL lock
"populating_widget_popup",
"(method ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 3 ? NULL : (PyObject *)obj2), NULL)",
"(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 4 ? NULL : (PyObject *)obj2), NULL)",
@@ -25,6 +23,7 @@
],
"SwigDirector_UI_Hooks::finish_populating_widget_popup" : [
("director_method_call_arity_cap", (
False, # add GIL lock
"finish_populating_widget_popup",
"(method ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 3 ? NULL : (PyObject *)obj2), NULL)",
"(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 4 ? NULL : (PyObject *)obj2), NULL)",
+9
View File
@@ -0,0 +1,9 @@
{
"SwigDirector_user_defined_prefix_t::get_user_defined_prefix" : [
("spontaneous_callback_call", (
True, # add GIL lock
" swig::SwigVar_PyObject obj0;", # try anchor
"}" # catch anchor
)),
],
}