# IDA 8.2

**IDA 8.2.221215** ***December 15, 2022***

## IDA 8.2 Highlights

### 32-bit support in IDA64

As another step towards sunsetting 32-bit IDA which we started with 8.1, 32-bit debugging and decompilation is now possible in IDA64. For decompilation, you need to have a corresponding 32-bit decompiler license. IDA Home and IDA Free now also support decompilation of 32-bit binaries using the cloud decompiler.

![32-BIT decompiler in IDA64](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-548d4e9916657b40c5b429677e32f3e53e9a1c46%2Fdecompiler32.png?alt=media)

### Processor module improvements

* Xtensa module has been extensively reworked with the addition of various optional and macro instructions (number of supported instructions almost tripled) Most common switch patterns are recognized and marked up.

![Xtensa switch and options](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-0d43aaf8d9126df93bb365c4ab16a7f89e753dd9%2Fxtensa.png?alt=media)

Stack variables are now tracked and created in functions.

![Xtensa stack vars](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-9ba8dc6b6b78174a226c088d0d3dfe2c46e95599%2Fxtensa_stack.png?alt=media)

* RISC-V module can now disassemble vector extension instructions.

![RISC-V Vector instructions](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-9fef7ce2d39acab96df977167c8727867aab863f%2Friscv_v.png?alt=media)

### Swift

Metadata structures generated by the Swift compiler are parsed, fomatted and labeled. Some of the simple types which can be represented in IDA are imported into Local Types.

![SWIFT formatted metadata](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-34342538e67a7d6996ec5e4bbbaa0c2989ec8f0a%2Fswift_metadata.png?alt=media) ![SWIFT formatted metadata 2](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-574cc532be1d477b893fcb59a31677206e271154%2Fswift_metadata2.png?alt=media) ![SWIFT imported type](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-d0ec953ce46bf6e418e3aed4682cd775179e8b1a%2Fswift_type.png?alt=media) ![SWIFT imported struct](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-cc4571fa5f72428a7d98aa71dc326f4ac1c090f3%2Fswift_struct.png?alt=media)

### picture\_search

A new plugin which can search for and display images(pictures) embedded in the current binary.

![Image search plugin](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-3a8d062ac33f6b3535d44063fe73e5b3bad433ed%2Fpicture_search.png?alt=media)

### UI candy

CSS-based IDA themes now support background images in many of IDA's views

![IDA custom background](https://920252027-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXnMt6HMopakRTMzxxSKh%2Fuploads%2Fgit-blob-968b7361ea4711a95af572f5b236fa4e7f88f26a%2Fida_bg.jpg?alt=media)

## Full list of changes and new features:

### IDA Teams and Lumina

* lumina: added support for recent MySQL versions which default to TLS connection
* teams: the password for Vault is now saved securely in the OS-specific keychain
* vault/lumina: allow any local MAC address to match the one specified in .lic file

### Procesor modules

* XTENSA: added support for many additional instructions, registers, stack variables (thanks to Zak Escano)
* XTENSA: added support for many standard switch patterns (thanks to Zak Escano)
* XTENSA: detect used ABI (CALL0 or windowed)
* RISC-V: added support for vector extension instructions
* TRICORE: decode FTOHP and HPTOF instructions from TC1.6.2

### File formats

* macho: added USE\_SEG\_PREFIXES option to macho.cfg, which instructs IDA to use the Mach-O segment name as a prefix for IDA segment names, e.g. "\_\_TEXT:\_\_text"

### FLIRT / TILS / IDS

* FLIRT: added signatures for vc1434 (Visual Studio 16.11)
* FLIRT: added MFC signatures for vc1434 (Visual Studio 16.11)
* FLIRT: added signatures for icl 222 (Intel C++ 2021.2)
* FLIRT: added signatures for icl 2221 (Intel C++ 2021.2.1)
* TIL: added a type library for Aarch64 (ARM64) UEFI 2.5
* idaclang: added "--idaclang-mangle-format" switch. it works similarly to the -G option for tilib when the user wants to set a custom name mangling format

### Standard plugins

* PDB: on Windows, enabled fallback mode by default so that MSDIA is used to load legacy PDB files
* picture\_search: new plugin for finding and displaying raster images embedded in the binary
* svdimport: added support for cluster, derivedFrom and dim/dimIncrement peripheral attributes
* svdimport: use a folder-based tree for the plugin's UI
* swift: parse and format Swift metadata
* swift: import simple types (enums, structs) into Local Types

### Kernel

* kernel: added a new flag REFINFO\_SELFREF for offsets (base is equal to the address of the current element)

### Scripting & SDK

* IDAPython: expose the C++ SDK's `processor_t` (as `ida_idp._processor_t`)
* SDK: added capture\_process\_output() to capture output of an external program;
* SDK: added support for lazy-loaded dirtree choosers. CH2\_LAZY\_LOADED flag can be used with dirtree-based choosers to load contents of a directory when it's expanded.
* SDK: deprecated qerrcode() (errno can be accessed directly instead)

### UI

* UI: added an easy way to take memory snapshot of current segment
* UI: improved highlighting of matching registers on platforms which use various prefixes (e.g. @r1)
* UI: in the disassembly, addresses in the line prefixes of structure or array members now increase with those members' offsets.
* UI: it is now possible to attribute an image as background to the listings (IDA View, Pseudocode, ...) using CSS in themes
* UI: jumping to an address in the middle of a struct or an array now positions cursor on the correct line of the disassembly listing
* UI: the "Wait" dialog now only shows after a certain timeout (thereby reducing the number of interfering popping dialogs)

### Decompilers

* decompiler: added an action to jump to a new pseudocode windows with 'alt+enter' shortcut
* decompiler: enabled decompiling of 32-bit files in IDA64 if a corresponding 32-bit decompiler license is available

### Bugfixes

* BUGFIX: arm: "set callee" (Alt-F11) failed to create cross-references for BLR instructions
* BUGFIX: alpha: 'lda' instructions could cause wrong sized stack variables to be created
* BUGFIX: DWARF: Debug information present in .dwz companion files (pointed to by .gnu\_debugaltlink) would be skipped when the link is absolute
* BUGFIX: FLAIR: The pelf utility could crash when used with incorrect 'pelf.rtb' files
* BUGFIX: IDA could crash if an array typedef was replaced by a structure of the same size
* BUGFIX: IDA could fail to detect dyld (and any loaded modules) after attaching to a process on macOS 13.
* BUGFIX: IDA could fail to parse Objective-C method data during debugging.
* BUGFIX: IDAPython: cfunc\_t.arguments array could have function arguments in wrong order
* BUGFIX: IDAPython: documentation for `ida_kernwin.Choose` callbacks was missing
* BUGFIX: IDAPython: get\_reg\_vals() was not usable
* BUGFIX: IDAPython: using values in the range \[128,255) as 'tag' for ida\_netnode functions, would fail
* BUGFIX: ios\_deploy "symbols" phase would fail on iOS 14-16.
* BUGFIX: lumina: private lumina server could fail starting with certain MySQL setups, due to case sensitivity in INFORMATION\_SCHEMA.COLUMNS fields
* BUGFIX: PC: callee target was not printed for some call instructions
* BUGFIX: svdimport: fixed problem with odd (+1) start addresses in segments
* BUGFIX: ui/qt: IDA could crash when passed the wrong widget to `ida_kernwin.get_highlight()`
* BUGFIX: ui: "size" expressions in 'Structure offset' context menu differed from 'T' hotkey
* BUGFIX: ui: exporting data from hex view with non-default item width could produce wrong output
* BUGFIX: UI: IDA on Windows would hang if the accessibilty option "Use text cursor indicator" was enabled
* BUGFIX: ui: improvements for accessibility under Windows for "Text Cursor Indicator" on "Output" widget
* BUGFIX: vault: 'hv purge' command was not usable
* BUGFIX: xtensa: write acccesses for stack variables were not shown properly


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/release-notes/8_2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
