Commit Graph

47 Commits

Author SHA1 Message Date
elias.bachaalany@gmail.com
866e631dc7 Added IDA Pro 6.1 SP1 changes (thanks to Arnaud from Hex-Rays) 2014-02-04 02:31:52 +00:00
elias.bachaalany@gmail.com
78c79f85b9 IDA Pro 6.5 support
What's new:
- Proper multi-threaded support 
- Better PyObject reference counting with ref_t and newref_t helper classes
- Improved the pywraps/deployment script
- Added IDAViewWrapper class and example
- Added idc.GetDisasmEx()
- Added idc.AddSegEx()
- Added idc.GetLocalTinfo()
- Added idc.ApplyType()
- Updated type information implementation
- Introduced the idaapi.require() - see http://www.hexblog.com/?p=749
- set REMOVE_CWD_SYS_PATH=1 by default in python.cfg (remove current directory from the import search path).

Various bugfixes:
- fixed various memory leaks
- asklong/askaddr/asksel (and corresponding idc.py functions) were returning results truncated to 32 bits in IDA64
- fix wrong documentation for idc.SizeOf
- GetFloat/GetDouble functions did not take into account endianness of the processor
- idaapi.NO_PROCESS was not defined, and was causing GetProcessPid() to fail
- idc.py: insert escape characters to string parameter when call Eval()
- idc.SaveFile/savefile were always overwriting an existing file instead of writing only the new data
- PluginForm.Close() wasn't passing its arguments to the delegate function, resulting in an error.
2013-12-30 01:34:23 +00:00
elias.bachaalany@gmail.com
db58b31711 - Experimental: integrated Hex-Rays Decompiler bindings that were contributed by EiNSTeiN:
https://github.com/EiNSTeiN-/hexrays-python
- Added '--with-hexrays' switch to the build script so it wrap Hex-Rays Decompiler API
- Added one Hex-Rays decompiler sample: vds1.py
2013-07-03 01:40:54 +00:00
elias.bachaalany@gmail.com
21cd5a95eb - applied patchs for IDA 6.4 SP from Hex-Rays
- fixed idc.CommentEx()
- minor mods
2013-03-08 19:33:51 +00:00
elias.bachaalany@gmail.com
223e4a5268 Applied patches from Hex-Rays:
- added MakeYword
- wrap obsolete IDA API functions too, so that old scripts continue to work
- added debugger trace related functions in idc.py
BUGFIX: IDAPython would fail with a cryptic error message if there was no free space on the current disk
BUGFIX: site-packages directory was missing from sys.path
BUGFIX: functions for working with additional lines (LineA/LineB etc) were broken
BUGFIX: GetFixup* functions from idc.py were broken
BUGFIX: IDA could not start if another python27.dll was present in PATH and importing site.py for that Python installation failed
BUGFIX: SaveBase() was broken
BUGFIX: IDAPython would fail with a cryptic error message if there was no free space on the current disk
BUGFIX: IDAPython: site-packages directory was missing from sys.path
BUGFIX: IDAPython: functions for working with additional lines (LineA/LineB etc) were broken
BUGFIX: IDAPython: GetFixup* functions from idc.py were broken
BUGFIX: IDAPython: IDA could not start if another python27.dll was present in PATH and importing site.py for that Python installation failed
BUGFIX: IDAPython: SaveBase() was broken
BUGFIX: Dbg/Idp hooks automatically unhook when hook object is not referenced anymore

note: these patches are already applied in IDAPython that comes with IDA Pro 6.4
2013-03-06 07:44:10 +00:00
elias.bachaalany
69d5c83d28 - IDA Pro 6.3 support
- The Functions() generator function now accepts function tail start parameter
- Added into idc.py: DbgRead/DbgWrite/SetTargetAssembler and stack pointer related functions
- Wrapped more type info related functions
2012-06-24 20:49:11 +00:00
skochinsky@gmail.com
0282e67982 IDAPython 1.5.4
- fix for Python autorun script vulnerability reported by Greg MacManus
- remove current directory from sys.path during initialization
2012-03-26 13:39:09 +00:00
skochinsky@gmail.com
1258fab948 IDAPython 1.5.3
- IDA Pro 6.2 support
- added set_idc_func_ex(): it is now possible to add new IDC functions using Python
- added visit_patched_bytes() (see ex_patch.py)
- added support for the multiline text input control in the Form class
- added support for the editable/readonly dropdown list control in the Form class
- added execute_sync() to register a function call into the UI message queue
- added execute_ui_requests() / check ex_uirequests.py
- added add_hotkey() / del_hotkey() to bind Python methods to hotkeys
- added register_timer()/unregister_timer(). Check ex_timer.py
- added the IDC (Arrays) netnode manipulation layer into idc.py
- added idautils.Structs() and StructMembers() generator functions
- removed the "Run Python Statement" menu item. IDA now has a unified dialog. 
  Use RunPlugin("python", 0) to invoke it manually.
- better error messages for script plugins, loaders and processor modules
- bugfix: Dbg_Hooks.dbg_run_to() was receiving wrong input
- bugfix: A few Enum related functions were not properly working in idc.py
- bugfix: GetIdaDirectory() and GetProcessName() were broken in idc.py
- bugfix: idaapi.get_item_head() / idc.ItemHead() were not working
2011-10-14 14:24:38 +00:00
elias.bachaalany@gmail.com
7bd77d534c vuln bugfix: check for swig_runtime_dataN.py was not done properly (MSVR-11-0084)
The bug is due to the following faulty line: http://code.google.com/p/idapython/source/browse/tags/build-1.5.1/swig/idaapi.i#611
2011-07-27 08:51:29 +00:00
elias.bachaalany
a12974b66c - bugfix: idc.GetString()/idaapi.get_ascii_contents()/idautils.Strings() were limited to MAXSTR string length
- minor mods
2011-05-19 15:06:31 +00:00
elias.bachaalany
a52b90c771 bugfix: Previous implementation set_script_timeout() was causing the script wait dialog box to open and never close upon the invocation of callbacks (add_menu_item callback or other callbacks) that take longer than the timeout value. 2011-05-09 10:29:08 +00:00
elias.bachaalany
8375368d6d IDAPython 1.5.1
- Introduced the CLI '?' pseudo-command to retrieve doc strings
- Introduced the CLI '!' pseudo-command to shell execute a command
- Added IDP/assemble notification event
- bugfix: High 64 bit addresses were not parsed correctly in IDA64
- bugfix: AskUsingForm() C function was not wrapped by SWIG
- NextHead()/PrevHead() have optional 2nd parameter now
2011-04-21 14:23:46 +00:00
elias.bachaalany
109158fabb - IDA Pro 6.1 support
- Added AskUsingForm() with embedded forms support (check ex_askusingform.py example and formchooser.py in the SDK)
- Added idautils.DecodePreviousInstruction() / DecodePrecedingInstruction()
- Added idc.BeginTypeUpdating() / EndTypeUpdating() for fast batch type update operations
- Added more IDP callbacks
- Added UI_Hooks with a few notification events
- Added idaapi.process_ui_action() / idc.ProcessUiAction()
- Added netnode.index() to get netnode number
- Better handling of ea_t values with bitwise negation
- Execute statement hotkey (Ctrl-F3), script timeout, and other options are now configurable with Python.cfg
- bugfix: idaapi.msg() / error() and warning() so they don't accept vararg
- bugfix: processor_t.id constants were incorrect
- bugfix: get_debug_names() was broken with IDA64
- Various bugfixes
2011-04-18 16:07:00 +00:00
elias.bachaalany
ac5d88a83b IDAPython 1.4.3:
- IDA 6.0 support
- Python CLI now prints expression evaluation result (no need to use print())
- Changed Alt-8 to Ctrl-F3 (because it conflicts with window switching key Alt+n)
- Added get_highlighted_identifier()
- Added PluginForm class to allow UI development with either PyQt4 or PySide
- Added idautils.Entries() to enumerate entrypoints
- idc / AddConst() was broken
- Minor fixes
2010-11-10 13:58:08 +00:00
elias.bachaalany
930b333d3b bugfix: idaapi.enable_extlang_python() could not be called from init.py 2010-09-11 09:34:14 +00:00
elias.bachaalany
f216eb9a6d - IDAPython 1.4.2: should work now with Python 2.7
- Hide the Python plugin from the plugins menu (it already installs the run statement functionality in the File menu)
2010-08-10 11:44:59 +00:00
elias.bachaalany
c1d87c0c7c fix for the $PATH issue on OSX by setting proper home path (thanks to igorsk) 2010-08-10 11:36:40 +00:00
elias.bachaalany
97a9805336 added command completion 2010-07-19 13:00:33 +00:00
elias.bachaalany
8495e5205b - renamed pywraps related utility functions to PyW_
- refactored some code
- fixed some potential PyObject leaks
- added cli_t support
2010-07-13 16:43:53 +00:00
elias.bachaalany
3a5063330c IDAPython 1.4.0 - IDA Pro 5.7 support 2010-06-28 12:36:40 +00:00
elias.bachaalany
f4b1a7d87c handle_python_error() was leaking an object 2010-05-06 07:51:36 +00:00
gergely.erdelyi
6112217cab Updated copyright dates and email address 2010-04-26 20:13:11 +00:00
elias.bachaalany
06e8cad773 bugfix: IDAPython_extlang_create_object may cause exceptions to be reported to the running Python script if called with an invalid object name
minor changes: removed trailing spaces from files
2010-02-12 13:16:37 +00:00
gergely.erdelyi
e1298031ac Alt-7 uses runscript() to run scripts 2010-02-04 20:44:37 +00:00
elias.bachaalany
a39ada9fb6 idapython menus would duplicate each time a database is opened 2010-01-18 10:56:36 +00:00
elias.bachaalany
277facf240 IDAPython 1.3.0 / IDA Pro 5.6
(For older versions please use the 1.2.90 branch)
2010-01-05 18:24:04 +00:00
elias.bachaalany
01601d7eea idapython: it is possible to load IdaPython at an early stage and keep it loaded as long as IDA is running.
(One needs to pass the "--early-load" switch to build.py)
2009-10-29 11:37:24 +00:00
gergely.erdelyi
5e93f49c97 python.cpp: More places allow breaking of long-running scripts. Thanks Elias for the patch! 2009-09-13 17:37:04 +00:00
gergely.erdelyi
5a66395061 64-bit build support. Thanks to Ariel Shiftan and Itai Shaham for the initial patch. 2009-05-23 14:40:01 +00:00
gergely.erdelyi
05e10a0f25 python.cpp: Small cleanups and formatting fixes 2009-05-22 20:05:36 +00:00
gergely.erdelyi
ef9921587b python.cpp: Indentation consistency and misc formatting fixes 2009-05-22 15:59:38 +00:00
gergely.erdelyi
097a6ae4b0 python.cpp: Importing binary Python extensions now works more reliably on Linux. Thanks to Phil Ashby for the patch! 2009-05-21 19:28:13 +00:00
gergely.erdelyi
6d6f4f70fc Long-running scripts can now be cancelled (in the GUI version) . Thanks to Igor Skochinsky for the original patch. 2009-05-03 20:26:47 +00:00
gergely.erdelyi
1c4a240cfb Updated year in copyright strings 2009-04-26 18:28:59 +00:00
gergely.erdelyi
f703a5fb3c ScriptBox_instance renamed to scriptbox 2009-01-27 18:08:54 +00:00
gergely.erdelyi
48301d9703 python.cpp: Added error handling to return_python_result()
python.cpp: Added plugin arguments to enable/disable exlang_python
python.cpp: Patch by Igor Skochinsky
2009-01-27 17:52:36 +00:00
gergely.erdelyi
43af79132f python.cpp: Proper extlang implementation from Ilfak
python.cpp: Cleanups and fixes from Ilfak
2009-01-25 16:30:05 +00:00
gergely.erdelyi
1a45b5952a python.cpp: Removed trailing whitespaces 2009-01-25 15:57:53 +00:00
gergely.erdelyi
b687523dd9 CLI interface is activated only for IDA 5.4 or newer 2009-01-20 22:00:05 +00:00
gergely.erdelyi
f59fbb02fe Added rudimentary support for the new interactive command-line in IDA 5.4 2009-01-19 20:38:59 +00:00
gergely.erdelyi
490fa999c4 python.cpp: Added float support for extlang_python
python.cpp: Proper error reporting implemented
2008-10-11 09:09:46 +00:00
gergely.erdelyi
1844d89d34 python.cpp: Rudimentary support for Python as external evaluation language 2008-10-07 17:21:01 +00:00
gergely.erdelyi
b6a6513dec Initial changes for the IDA 5.3 build. 2008-10-01 15:03:57 +00:00
gergely.erdelyi
c026c32dc7 python.cpp: Remove menu items when unloading the plugin 2008-06-15 17:33:58 +00:00
gergely.erdelyi
9216f83c87 Updated year in copyright strings. 2008-06-15 10:03:53 +00:00
gergely.erdelyi
d99b2eb64b python.cpp: Added RunPythonStatement() function to IDC 2008-04-12 07:32:34 +00:00
gergely.erdelyi
9b85915a48 Initial SVN commit of version 0.9.54 sources. 2007-10-20 07:03:51 +00:00