2010-06-28 14:36:40 +02:00
|
|
|
Please see http://code.google.com/p/idapython/source/list for a detailed list of changes.
|
|
|
|
|
2011-04-18 18:07:00 +02:00
|
|
|
|
2011-10-14 16:24:38 +02:00
|
|
|
Changes from version 1.5.2 to 1.5.3
|
|
|
|
------------------------------------
|
|
|
|
- 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 Statment" 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-06-10 17:21:21 +02:00
|
|
|
Changes from version 1.5.1 to 1.5.2
|
|
|
|
------------------------------------
|
|
|
|
- added ui_term/ui_save/ui_saved/ui_get_ea_hint UI notifications
|
|
|
|
- added ph_get_operand_info() to retrieve operand information while debugging
|
|
|
|
- added PteDump.py script
|
2011-10-14 16:24:38 +02:00
|
|
|
- bugfix: read/write_dbg_memory() and dbg_get_thread_sreg_base() were not working with all debugger modules
|
2011-06-10 17:21:21 +02:00
|
|
|
- bugfix: idaapi.netnode.getblob() was limited to MAXSPECSIZE
|
|
|
|
- bugfix: idc.GetString()/idaapi.get_ascii_contents()/idautils.Strings() were limited to MAXSTR string length
|
|
|
|
- bugfix: idaapi.del_menu_item() was failing to delete some menu items
|
|
|
|
- bugfix: dbg_bpt was called instead of dbg_trace for a DBG_Hooks class implementation (old bug from 0.9.x)
|
|
|
|
- bugfix: Form.GetControlValue() was not working with numeric controls
|
|
|
|
- bugfix: SetBptCnd() was broken
|
|
|
|
- bugfix: idaapi.get_func_cmt() was memory leaking
|
|
|
|
|
2011-04-21 16:23:46 +02:00
|
|
|
Changes from version 1.5.0 to 1.5.1
|
|
|
|
------------------------------------
|
|
|
|
- Introduced the CLI '?' pseudo-command to retrieve doc strings
|
|
|
|
- Introduced the CLI '!' pseudo-command to shell execute a command
|
|
|
|
- bugfix: High 64 bit addresses were not parsed correctly in IDA64
|
|
|
|
- Added IDP/assemble notification event
|
|
|
|
- bugfix: AskUsingForm() C function was not wrapped by SWIG
|
|
|
|
- NextHead()/PrevHead() have optional 2nd parameter now
|
|
|
|
|
2011-04-18 18:07:00 +02:00
|
|
|
Changes from version 1.4.3 to 1.5.0
|
|
|
|
------------------------------------
|
|
|
|
- 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-21 16:23:46 +02:00
|
|
|
- Added Scripts folder containing various IDAPython scripts
|
2011-04-18 18:07:00 +02:00
|
|
|
|
2010-11-10 14:58:08 +01:00
|
|
|
Changes from version 1.4.2 to 1.4.3
|
|
|
|
------------------------------------
|
2011-04-18 18:07:00 +02:00
|
|
|
- IDA Pro 6.0 support
|
2010-11-10 14:58:08 +01:00
|
|
|
- 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 enum entrypoints
|
|
|
|
|
2011-04-18 18:07:00 +02:00
|
|
|
|
2010-10-07 11:47:04 +02:00
|
|
|
Changes from version 1.4.1 to 1.4.2
|
|
|
|
------------------------------------
|
|
|
|
- Added command completion
|
|
|
|
- Added necessary changes so it compiles with Python 2.7
|
|
|
|
- Wrapped set_user_defined_prefix()
|
|
|
|
|
2011-04-18 18:07:00 +02:00
|
|
|
|
2010-07-16 14:11:19 +02:00
|
|
|
Changes from version 1.4.0 to 1.4.1
|
|
|
|
------------------------------------
|
|
|
|
- Added cli_t
|
|
|
|
- Added idaapi.ph to access current process fields
|
|
|
|
- Changed the copyright string to IDAPython Team
|
|
|
|
- Some platform dependant classes are present but useable only where applicable
|
|
|
|
|
2011-04-18 18:07:00 +02:00
|
|
|
|
2010-06-28 14:36:40 +02:00
|
|
|
Changes from version 1.3.0 to 1.4.0
|
|
|
|
------------------------------------
|
|
|
|
- IDA Pro 5.7 support
|
|
|
|
- idaapi.cvar.cmd is now accessible via idapi.cmd instead
|
|
|
|
- Python statement (Alt-8) is now 16kb long
|
|
|
|
- Dropped script box and File/Python file. IDA has this functionality now.
|
|
|
|
- Refactored the code
|
|
|
|
- It is possible to turn off script timeout
|
|
|
|
- All scripts are executed via 'IDAPython_ExecScript' (check idaapi.i)
|
|
|
|
- Added '--doc' switch to "build.py" script
|
|
|
|
- Documented all manually wrapped functions (check 'pywraps' module in the docs)
|
|
|
|
- Lots of cleanups and fixes
|
|
|
|
|
2011-04-18 18:07:00 +02:00
|
|
|
|
2010-06-28 14:36:40 +02:00
|
|
|
Changes from version 1.2.0 to 1.3.0
|
|
|
|
------------------------------------
|
|
|
|
- IDA Pro 5.6 support
|
|
|
|
- Added Appcall mechanism
|
|
|
|
- Added procregs to idautils.py (r254)
|
|
|
|
- Lots of cleanups and fixes
|
|
|
|
|
|
|
|
Changes from version 1.1.0 to 1.2.0
|
|
|
|
------------------------------------
|
|
|
|
- 64-bit support (largely untested)
|
|
|
|
- IDA Pro 5.5 support
|
|
|
|
- Long running (or inifinitely looping) scripts can now be stopped
|
|
|
|
- Host of IDC updates and fixes
|
|
|
|
- netnode.hpp is now mostly wrapped
|
|
|
|
- idautils use generators instead of lists
|
|
|
|
- Functions() and GetFchunkAttr() now work properly
|
|
|
|
- Lots of cleanups and fixes
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.9.0 to 1.0.0
|
|
|
|
-----------------------------------
|
|
|
|
- Upgraded IDA Pro base version to 5.1
|
|
|
|
- Dropped Python 2.4 support
|
|
|
|
- Mac OS X support
|
|
|
|
- IDC compatibility layer is now complete and up to date for IDA 5.1
|
|
|
|
- INCOMPATIBLE CHANGE: the idaapi module needs to be imported manually
|
|
|
|
- Support for IDB and debug notification hooks
|
|
|
|
- Support for GUI hotkeys (see examples/hotkey.py)
|
|
|
|
- Simple two-way calling mechanism between IDC and IDAPython
|
|
|
|
- Significantly better IDA API coverage
|
|
|
|
- Support for IDB and debug event hooks
|
|
|
|
- get_current_instruction() deprecated, use the idaapi.cvar.cmd variable
|
|
|
|
- Tons of IDC fixes
|
|
|
|
- Tons of other misc fixes
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.8.0 to 0.9.0
|
|
|
|
-----------------------------------
|
|
|
|
- Upgraded base version to IDA Pro 5.0
|
|
|
|
- Works with IDA Pro 5.1
|
|
|
|
- Python 2.4 and 2.5 supported
|
|
|
|
- Close to complete IDC compatbility layer (in sync with 4.9)
|
|
|
|
- Significatnly improved IDA SDK API covergage (see STATUS.txt for details)
|
|
|
|
- IDA SDK patch size reduced to less than half
|
|
|
|
- Simplified installation (plugins.cfg modification not needed)
|
|
|
|
- Evaluation window content is saved over IDA restarts (in the database)
|
|
|
|
- Windows version is built with Microsoft Visual C++ Express Edition
|
|
|
|
- Build makefile replaced with a Python script
|
|
|
|
- Cleanups and small fixes
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.7.0 to 0.8.0
|
|
|
|
-----------------------------------
|
|
|
|
- Added support for IDA Pro 4.9
|
|
|
|
- Dropped support for IDA Pro 4.7
|
|
|
|
- NOTE: Windows version is linked against Python 2.4.
|
|
|
|
- New wrappers: search.hpp, dbg.hpp, loader.hpp, diskio.hpp, nalt.hpp
|
|
|
|
- idc.py synced up to IDA 4.8
|
|
|
|
- Added 38 IDC functions
|
|
|
|
- Fixed asklong(), askseg() and askaddr()
|
|
|
|
- Automatically generated cross reference documentation (epydoc)
|
|
|
|
- User-specific init file support (see README,txt)
|
|
|
|
- Deprecated some functions that have direct Python equivalents (see idc.py)
|
|
|
|
- Fixed exception in ScriptBox when invoked empty.
|
|
|
|
- Lots of cleanups and small fixes
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.6.0 to 0.7.0
|
|
|
|
-----------------------------------
|
|
|
|
- Batch execution support (use the option -OIDAPython:yourscript.py)
|
|
|
|
- Added ScriptBox - lists previously run scripts (Hotkey:Alt-7)
|
|
|
|
- Added support for IDA Pro 4.8 (both Linux and Windows)
|
|
|
|
- Dropped support for IDA Pro 4.6 and 4.6SP1 versions
|
|
|
|
- Wrapped the list chooser (see examples/choose.py)
|
|
|
|
- A dozen or so IDC functions added
|
|
|
|
- Lots of char * API calls wrapped
|
|
|
|
- Added Python error handling in the plugin C layer
|
|
|
|
- Bunch of misc small cleanups and fixes
|
|
|
|
- For more details see CHANGES-SWIG.txt and CHANGES-Plugin.txt
|
|
|
|
|
|
|
|
- API CHANGE: {Next|Prev}Function() return BADADDR instead of -1
|
|
|
|
|
|
|
|
|
|
|
|
Changes from version 0.5.0 to 0.6.0
|
|
|
|
-----------------------------------
|
|
|
|
- Added support for IDA Pro 4.7 (both Linux and Windows)
|
|
|
|
- Dropped support for IDA Pro 4.6SP1 beta on Linux
|
|
|
|
- Lots of IDC wrapper additions and fixes:
|
|
|
|
- Added 30+ new wrappers to idc.py
|
|
|
|
- Most Find*, Ask* and Seg* are now wrapped
|
|
|
|
- Fixed broken NextAddr(), PrevAddr(), MakeFunction() and MakeName()
|
|
|
|
- Fixes to the makefile
|
|
|
|
- Cleanups for the idaapi wrapper
|
|
|
|
- Bunch of misc small cleanups and fixes
|
|
|
|
- For more details see CHANGES-SWIG.txt and CHANGES-Plugin.txt
|
|
|
|
|