WineHQ

IDA Pro

No Screenshot

Submit Screenshot

Welcome to IDA 7.0!

  • The biggest news is that IDA is a native 64-bit application! First of all it means that now it can eat all memory of your computer and thrash it :) But jokes aside, switching to 64-bit aligns IDA with other modern software and makes it more compatible with the rest of the world. For example, IDAPython integration will be easier and more streamlined because many operating systems nowadays come with the 64-bit Python preinstalled (32-bit Python won't work anymore).
  • Second, we took this change as an opportunity (since old 32-bit plugins won't work with 64-bit IDA anyway) to clean up the IDA API, make it more consistent and less confusing. If we failed or succeeded is to be seen, but we ourselves like the new API much more. The fundamental concepts remain the same and IDA did not lose any bit of its functionality during the cleanup. We minutely tested all changes and ensured that all our tests continue to pass as before or better. We also tried to make our 3 APIs: C++, Python, and IDC, to be closer to each other. Function names and their functionality are the same in most cases, but we tried to stay pythonic in Python and C++-ish in the C++ interface. Since the changes are huge and it is easy to lose your way, we prepared a Porting guide from the IDA 4.9-6.x API to the IDA 7.0 API which explains what has changed and how. We hope that it will greatly help you when porting your plugins to the new 7.0 API.
  • For Python and IDC we implemented a compatibility layer that will help you with your scripts. Most of them should run fine on 7.0 with very minor or no changes. We plan to turn off the compatibility layer in the next release, so please dedicate some of your time to port your scripts to run without it. See the IDA 7.0: IDAPython backward-compatibility with 6.95 APIs page for more info.
  • To make the transition even smoother, we are also publishing a 32-bit version of IDA. It can (and should) be only used to run old 32-bit plugins while you are porting them to 64-bit. The 32-bit version of IDA can read v7 databases but it lacks some very nice new features. Let us introduce them now.
  • Now IDA is a truly international application that can speak all languages of the world because it uses UTF-8 everywhere. All scripts and plugins can use it. You can use UTF-8 in the disassembly listing, including comments or even the function names. This is not what we advise, therefore odd characters in names require some fine tuning. See the IDA 7.0: Automatic discovery of string literals during auto-analysis page for all the gory details.
  • By the way, the existing databases will have to be upgraded to benefit from the UTF-8 encoding. We tried to make the upgrade process as simple as before but there is a catch: since old databases could use any encoding, IDA has to guessthe old encoding on the fly. To learn how to help IDA with this error prone task, see the IDA 7.0: Internationalization page.
  • IDA now parses and annotates exception handling information and RTTI. We plan to improve the decompiler and IDA to take advantage of this information in the future.
  • We greatly improved Objective C support both in IDA and the Decompiler. Now the metadata can be parsed on demand, not only at the loading time. The decompiler produces much nicer output:
  • We improved the OSX and iOS debuggers to handle OSX 10.13 and iOS 11. There are many changes under the hood but your experience should be the same as before or even better.

Application Details:

Version: 7.0
License: Subscription
URL: https://www.hex-rays.com/idapr...
Votes: Marked as obsolete
Latest Rating: Gold
Latest Wine Version Tested: 4.0.1

Maintainers: About Maintainership

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

Everything I've used over the last 20 months works. Disassembly, Hex-Rays, database reading/writing, IDC, IDAPython, debugger, etc.

What does not

See the workaround section.

Workarounds

For some reason, IDA sometimes crashes in Qt code during some operations, such as reading or writing a packed database.

After several hours of testing and comparing with a working install in another Wine prefix, I eventually found the following workaround:

1. Import the following registry file.

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
"Arial Unicode MS"="unifont"

2. Copy unifont.ttf to C:/windows/Fonts/

"Arial Unicode MS" is hardcoded in Qt font manager code, which kind of confirms it's a Qt issue, but I have no idea how this workaround works or what the underlying issue is.

What was not tested

Nothing to my knowledge

Hardware tested

Graphics:

  • GPU: Intel
  • Driver: open source

Additional Comments

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
CurrentDebian GNU/Linux Unstable "Sid" x86_64Jun 26 20194.0.1Yes Yes YesGoldLeo 
ShowDebian GNU/kFreeBSD Unstable "Sid"Jun 25 20194.0.1Yes Yes YesGoldKamay 
ShowManjaro LinuxMay 19 20194.8-stagingYes Yes NoGarbageBent 
ShowUbuntu 18.04 "Bionic" amd64 (+variants like Kubuntu)Jan 08 20193.0.4Yes Yes YesGoldMarisa Kirisame 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

HowTo / Notes

Text is cut off/garbled in the disassembly view

Use winetricks work around the font display problem:

$ wget http://winetricks.googlecode.com/svn/trunk/src/winetricks

­

$ bash winetricks corefonts
Keyboard layout error: Failed to get the scan code

If you get a message box on startup, stating:

­­"Keyboard layout error: Failed to get the scan code of '~' (VkKeySca­n failure)"

Either check the box "don't display that message again" or go to the following directory:

­$ cd /home/.wine/c_drive/Program Files/IDA/cfg

Then open the file "idagui.cfg" with a text editor, and locate the line containing the following:

"BitwiseNegate" = '~'

and comment it out:

//"BitwiseNegate" = '~'

save and restart.

Comments

Back