Commit Graph

129 Commits

Author SHA1 Message Date
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
63b22d00d5 - Fixed issue 59
- Fixed idaapi.msg() / error() and warning() so they don't accept vararg
- Fixed processor_t.id constants
- idaapi.BasicBlock and FlowChart are now new-style classes
2010-12-17 16:50:35 +00:00
ero.carrera
1bd58bda60 Fixed the docstring of DataRefsFrom/To. The example was copy-pasted from the CodeRefs* functions and included the "flow" argument. 2010-11-29 15:19:24 +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
1d2f1d1f07 Committed last updates to IDAPython 1.4.2 2010-10-07 09:47:04 +00:00
ero.carrera@gmail.com
faf5063818 Fixed a bug in GetIdbPath() when working in an IDA instance that has dealt with more than one IDB.
idaapi.cvar.database_idb seems to point to a realloc'ed buffer. When IDA is working on an IDB stored in a directory with a long path and a second IDB with a shorter path is loaded, the buffer will be overwritten with the new path to the IDB, which will end in "\x00" and the leftovers of the older, longer path will follow.
The problem with GetIdbPath() is that it returns the whole bufer, NULL and "leftovers" included, which leads to trouble in Python. Specifically some functions like os.path.splitext which will look for the extension starting from the end of the buffer and will return an invalid split.
The patch simply post-processes the contents of idaapi.cvar.database_idb returning a Python string with all characters up to the "\x00"
2010-09-23 18:57:37 +00:00
elias.bachaalany
80896bc1d9 Minor modifications:
- function documentation update
- removed some white spaces
2010-09-17 12:06:30 +00:00
elias.bachaalany
2d763844ed idc.py: added GetManyBytes() and ItemHead() 2010-09-11 08:47:45 +00:00
elias.bachaalany
2c33ce00c5 fixed issue 55 2010-08-14 15:43:09 +00:00
elias.bachaalany
4867b405a9 idc.py: Til2Idb() was broken 2010-08-10 11:45:36 +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
15a72289f7 fixed issue 54 2010-08-02 14:13:48 +00:00
elias.bachaalany
686e018bdc - updated debughook example
- wrapped print_type
- minor mods to idc.py
- added idautils.GetIdbDir
- added Names()
- added Modules()
- added idautils.peutils_t()
- simplecustviewer_t.GetLineNo() now returns -1 on failure
- idc.py / setregval: it was not possible to set register values > 0x7fffffff
2010-07-27 14:44:31 +00:00
elias.bachaalany
6b0dfd84c0 IDAPython 1.4.1:
- added AUTHORS.txt and changed the banner
- IDAPython_ExecFile() will print script execution errors to the log window too
- added 'ph' into idaapi. It is a replacement for idaapi.cvar.ph
- added runscript to init.py for backward compatibility
- added cli_t support
2010-07-16 12:07:49 +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
4b1c3cd4c4 GetFchunkAttr() is reimplemented using idaapi rather than Eval() and IDC (issue 52) 2010-07-02 16:10:30 +00:00
elias.bachaalany
3a5063330c IDAPython 1.4.0 - IDA Pro 5.7 support 2010-06-28 12:36:40 +00:00
elias.bachaalany
7da6dd916c idd.i: dbg_can_query() was returning false when called from a bpt condition
idc.py: AskStr() was calling idaapi.askstr w/ wrong parameter
2010-05-13 09:36:56 +00:00
elias.bachaalany
5cede13626 graph.i: AddCommand() was broken
- updated the ex_graph.py sample
- updated function usage comments
2010-05-06 07:56:25 +00:00
elias.bachaalany
ff7ab3f1dc idc.py: added SendDbgCommand() 2010-05-05 13:05:53 +00:00
ero.carrera@gmail.com
f09375cf70 - bugfix: According to their docstrings a few functions should be returning 0 or -1 to indicate errors but were returning instead None 2010-04-27 13:42:41 +00:00
gergely.erdelyi
6112217cab Updated copyright dates and email address 2010-04-26 20:13:11 +00:00
gergely.erdelyi
1757dec387 idc.py: Default strtype argument in GetString no longer breaks the whole script 2010-04-26 19:51:58 +00:00
elias.bachaalany
ecb4232040 Added default parameter to GetString() 2010-04-23 10:49:21 +00:00
ero.carrera@gmail.com
53d99a141a - Fixed a really subtle bug in some of the uses of _IDC_SetAttr(). In a couple of locations the call is made as part of the condition of an IF. But _IDC_SetAttr() will always return None ( "return setattr(obj, attrmap[attroffs][1], value)" ), leading to the value being properly set in the instance but never updated in the IDB. Which led to mysterious behavior because of "vanishing" attributes 2010-04-12 17:12:23 +00:00
elias.bachaalany
ab81000187 - added GetInstructionList() and GetRegisterList() to idautils.py
- ignored processor_t and ph global variable
2010-03-22 14:21:43 +00:00
elias.bachaalany
8e78513e91 - minor code cleanup
- updated CHANGES.txt
- nalt.i: forgot to release reference for callback result (in py_import_enum_cb())
2010-03-05 11:35:28 +00:00
elias.bachaalany
33c93df0cf GetDouble() and GetFloat() now use idaapi.get_many_bytes() 2010-03-05 10:59:23 +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
dd5273fee9 init.py: modules loaded by user scripts are now unloaded when the script finishes. No more reload() needed. Thanks to cbwhiz for the idea. 2010-02-04 20:58:38 +00:00
gergely.erdelyi
e1298031ac Alt-7 uses runscript() to run scripts 2010-02-04 20:44:37 +00:00
gergely.erdelyi
5ec97ef3aa idautils.py: Functions() will return the correct list of functions even in large binaries 2010-02-04 20:29:50 +00:00
elias.bachaalany
ea4cd26a6a MakeArray and GetStringType: were using an old type name
GetLongPrm and SetLongPrm were not working with INF_PROCNAME
2010-01-27 09:52:22 +00:00
elias.bachaalany
d7c6f94f08 bugfix: SetRegEx and GetReg were only working with x86 segment registers 2010-01-18 10:55:33 +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
elias.bachaalany
99c60a82de idautils.py: added procregs to identify registers and modified DecodeInstruction().
It is now possible to identify the registers of a decoded instruction with:

cmd = DecodeInstruction(here())
if cmd[0].is_reg(proc_regs.eax): print "EAX is used"

or something like:

if cmd[1].is_reg(proc_regs.al): print "al is used"
2009-10-19 07:17:22 +00:00
gergely.erdelyi
c21a932cec idc.py: Whitespace and indentation fixes 2009-10-17 21:12:15 +00:00
gergely.erdelyi
cb57938dcc idc.py: Fixed RunTo() and GetExceptionQty() 2009-10-17 21:08:36 +00:00
gergely.erdelyi
9d3fb35f87 has_key() is slowly getting deprecated. Might make sense to stop using it. 2009-10-17 20:54:08 +00:00
gergely.erdelyi
bbf6b2e547 idautils.py: Rearranged function order to be more logical 2009-10-17 20:46:51 +00:00
gergely.erdelyi
2edeeae88b idautils.py: Classes are all newskool. Fixed a pylint warning. 2009-10-17 20:43:09 +00:00
gergely.erdelyi
8e66e14588 idautils.py: Small whitespace and indentation fixes 2009-10-17 20:38:40 +00:00
gergely.erdelyi
9c80378afe idautils.py: Added missing self 2009-10-17 20:33:09 +00:00
elias.bachaalany
9917459559 idautils.py: Added Threads() iterator to enum threads 2009-10-05 10:35:27 +00:00
elias.bachaalany
d278419064 added Choose2() support 2009-09-24 14:20:29 +00:00
elias.bachaalany
9f4df6991f idautils.py: GetDataList() was not working with 64bit addresses 2009-09-24 10:42:09 +00:00