35 Commits

Author SHA1 Message Date
Arnaud Diederen af978e79e6 IDAPython for IDA 9.1 2025-03-13 16:17:53 +01:00
Arnaud Diederen 6142005952 Backport fixes 2023-12-15 10:22:52 +01:00
Arnaud Diederen d81e2982b2 Backport fixes (ida_idaapi.as_signed/ida_idaapi.as_int32) 2023-06-20 15:30:10 +02:00
Arnaud Diederen c99b9db781 Fix: now that 'mbcs' was properly spotted, we would attempt decoding 'str' objects as if they were byte strings 2023-05-23 14:58:10 +02:00
Arnaud Diederen dcca75f50e Backport fixes; add bookmarks sample 2023-05-23 12:21:29 +02:00
Elias Bachaalany 99bc2ae815 Merge pull request #22 from disconnect3d/patch-1
Simplifies _print_hex method
2023-05-05 22:30:34 -07:00
Elias Bachaalany 6e3899391a Update py_idaapi.py
IDA 8 no longer supports Python 2. Therefore, in Python 3, no "L" suffix is generated.
2023-05-05 22:26:46 -07:00
Elias Bachaalany d34bb4b45a + added default run/term for modern plugins
No longer need to implement dummy/empty run/term callbacks in plugin_t.
2023-04-06 19:52:18 -07:00
Arnaud Diederen 425d9e585e IDAPython for IDA 8.2 2022-12-19 10:10:14 +01:00
Arnaud Diederen 29512d9c48 IDAPython for IDA 8.1 2022-10-10 12:03:43 +02:00
Arnaud Diederen 3ce5b7f06d IDAPython for IDA 7.7 2022-01-17 11:28:09 +01:00
Arnaud Diederen c22e071853 IDAPython for IDA 7.6 2021-03-30 08:54:44 +02:00
Arnaud Diederen 3c1990e307 Backported fixes 2021-01-11 08:08:53 +01:00
Arnaud Diederen 17a1c54457 IDAPython for IDA 7.5 SP2 2020-08-03 13:02:57 +02:00
Arnaud Diederen 01774be48b Backported fixes 2020-07-06 09:56:31 +02:00
Arnaud Diederen 604de9cfad IDAPython for IDA 7.5 2020-05-27 14:34:02 +02:00
Arnaud Diederen e3d07f2018 BUGFIX: IDAPython: inspect.stack() could fail on recent versions of Python3 (e.g., Python 3.7.4)
Don't leave empty strings ('') as '__file__' members of builtin modules' globals; some modules such as inspect expect that built-in modules don't have such an attribute.
2019-10-24 09:24:42 +02:00
Arnaud Diederen 5958995d66 IDAPython for IDA 7.4 2019-10-15 15:05:24 +02:00
Disconnect3d effebe27f7 Simplifies _print_hex method
Simplifies the `_print_hex` method.

Note that there are ~4 different ways of implementing it:
```
In [1]: def a(x):
   ...:     return hex(x).rstrip('L')
   ...: def b(x):
   ...:     s = hex(x)
   ...:     return s[0:-1] if s.endswith("L") else s
   ...: def c(x):
   ...:     return '0x%x' % x
   ...: def d(x):
   ...:     return '0x{:x}'.format(x)
```
2019-07-19 00:04:12 +02:00
Arnaud Diederen dc8f62dc8b The 'displayhook' now uses 'hex()' again, but removes an ending 'L' 2019-06-26 15:35:44 +02:00
Arnaud Diederen d11393fe5c The 'displayhook' uses '0x%x' for formatting numbers, instead of 'hex()', which adds a 'L' in case the number is a long. 2019-06-26 14:50:34 +02:00
Arnaud Diederen 7a567eecf0 IDAPython for IDA 7.3 2019-06-26 14:37:39 +02:00
cclauss d7bacfa611 Modernize Python 2 code to get ready for Python 3 2018-12-01 23:58:26 +01:00
Arnaud Diederen 701bb1b44e IDAPython for IDA 7.2 2018-11-06 08:14:17 +01:00
Arnaud Diederen 29ec1ceba2 IDAPython for IDA 7.1 2018-02-28 07:45:21 +01:00
Arnaud Diederen d99a893697 IDAPython for IDA 7.0: Initial commit, plus bugfixes up to 2017 Oct, 13th. 2017-10-13 15:08:08 +02:00
Arnaud Diederen e22e859a41 Applied all fixes to IDAPython 6.95, to this date (2016 Sept 26th.) 2016-09-26 11:16:26 +02:00
Arnaud Diederen 62ddab8db6 IDAPython for IDA 6.95: Initial commit 2016-08-09 10:01:18 +02:00
Arnaud Diederen c4e4f24e67 IDAPython for IDA 6.9: Initial commit 2016-01-08 11:59:48 +01:00
Arnaud Diederen f9f3ccb63b IDA Pro 6.8 support
What's new: https://www.hex-rays.com/products/ida/6.8/index.shtml
2015-04-20 14:26:30 +02:00
elias.bachaalany@gmail.com fbb5bfabd6 IDA Pro 6.6 support
What's new:
- added the decompiler bindings
- Expose simpleline_t type to IDAPython. That lets the user to set the bgcolor & text for each line in the decompilation.
- Wrapped new functions from the IDA SDK

Various fixes:
for non-code locations, idc.GetOpnd() would create instructions instead of returning empty result
- idb_event::area_cmt_changed was never received in IDB_Hooks (and descendants)
- idb_event::ti_changed, and idb_event::op_ti_changed notifications were not accessible in IDAPython
- op_t.value was truncated to 32 bits under IDA64.
- print_tinfo() wouldn't return a valid string.
- readsel2() was not usable.
- read_selection() was buggy for 64-bit programs.
- StructMembers() considered holes in structures, and didn't properly iterate through the whole structure definition.
- There was no way to call calc_switch_cases() from IDAPython.
- when using multi-select/multi-edit choosers, erroneous event codes could be sent at beginning & end of batch deletion of lines.
- When, in a PluginForm#OnCreate, the layout of IDA was requested to change (for example by starting a debugging session), that PluginForm could be deleted and create an access violation.
- tinfo_t objects created from IDAPython could cause an assertion failure at exit time.
- Usage of IDAPython's DropdownListControl was broken.
2014-07-04 22:02:42 +00:00
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 930d7cbcd4 added PyWraps sources. This will facilitate deployment, development and debugging of IDAPython additions 2011-12-02 15:40:11 +00:00