IDA 4.9SP

Major features

  • Introduction of the debugger for Windows CE 5.0 for customers of the Windows CE/ARM Remote debugging module.

Bug Fixes

  • The 'Window popup' keyboard key (F10) was not working in the disassembly listing window

  • COM files were loaded at the segment 0 which made impossible to add PSP

  • 64-bit debugging could fail with latest version of Windows XP Professional x64 Edition

  • address expressions containing middle spaces were not parsed correctly in the 'jump to address' command.

  • Alt-K was not closing dialog forms anymore

  • AMD64: 16bit instructions with 66 prefix which are 64-bit by default were disassembled with the 66 prefix in a separate line

  • any IDC error before a function definition might cause an access violation.

  • ASCSTR_C was missing in idc.idc

  • TMS320C55 binaries were loaded in little-endian mode; coff files were loaded correctly

  • changing the target assembler could lead to a crash if the comment sequences for the current and new assemblers were of different length

  • comments at the end of line in plugins.cfg were causing syntax errors

  • the operand size of cwde was wrong (not visible in the listing)

  • calling a synchronous command from a debugger notification handler was cancelling the eventual current asynchronous command.

  • debugging for WinCE: if the input file was not present on the device and IDA proposed to copy it, and the user accepted, then the startup directory parameter would be set wrongly to the input file name. This does not really matter since this parameter was not used in WinCE (it has no concept of the current directory)

  • deleting the last entries from the sorted problem list could cause an internal error.

  • DelFunction(ea) where ea is not equal to the function beginning was not deleting the function from the list but was deleting the function description

  • DLL rebasing was not working when attaching to a process

  • create_flow_chart() could display wrong graph because function tail iterators could become invalid after several calls to the kernel. A workaround for this has been added in the form of reset_func() function

  • gui: some options set in the classic 'load file' were not taken into account.

  • The CommentEx() IDC function help page was wrong.

  • The help pages erroneously stated that win32_remote uses -p switch for the password. It is -P.

  • hex views and watches were not refreshed in the debugger

  • IBM PC pop instruction was never using 'small' keyword

  • IDA could endlessly loop during final pass of the analysis

  • IDA was unable to copy the debugger server to WinCE 5.0 because this OS requires the numberOfWritten bytes parameter to CeWriteFile to be non zero

  • IDA up to 4.9 was not saving ARM specific options in the database. The problem has been corrected the old databases use the default settings from the configuration files (as before)

  • IDA was loading M68K COFF files with wrong byte endianness

  • IDA was not automatically loading PDB information for 64-bit PE files (manually loading them was working)

  • IDA was not aware that in the Watcom __fastcall calling convention a stack parameter prevents the remaining parameters to be passed in the registers

  • IDA would complain that some manual operands did not match the original operand value

  • ida_kdstub.dll was missing in the arm debugger

  • idagui.cfg was missing some hotkey definitions

  • IDC: it was impossible to use Comment() and RptCmt() functions

  • IDC: SetDefReg() was truncating the register value to be 16-bits

  • if the user refused to upgrade his database, temporary files were not deleted

  • The input fields of the 'user defined offset' dialog box were cleared each time - this made it more difficult to use.

  • It was impossible to delete the type of an unnamed item.

  • It was impossible to patch an uninitialized byte with 0xFF

  • It was impossible to start the debugger for a remote file with full path because the input file path would be stripped away

  • The M68K module was erroneously complaining about missing names for near typed references

  • The MIPS HI16 relocation was not handled properly in some cases. This fix is a best guess.

  • The navigation band range was not refreshed when one database was closed and another opened

  • NTSTATUS error codes were missing in ntddk.til and wdm.til

  • PC: 8F D8 was incorrectly disassembled as an instruction; it is an invalid opcode

  • PC: memory operand of "mov mem, segreg" is always 16-bit

  • PC: movsxd instruction was disassembled as movsx (the difference is important for 16- bit source operand)

  • PC: xchg rax, r15 was disassembled incorrectly

  • The PE header segment would also contain the contents of the first segment.

  • The PE loader could cause an access violation if the input file had wrong debug information offset.

  • The PPC module was sign extending absolute addresses to 64-bit in the 64-bit version of IDA

  • pro.h could not be used with VS2005

  • processor specific options were not always correctly saved into the database

  • rebasing the program could lead to access violations

  • SDK: qvector assign() method was incorrect

  • SDK: select_thread() was not working if called from a debugger notification handler

  • segment names were not recognized in the 'jump to address' command

  • struct and member repeatable comments were not displayed in structure variable definitions

  • SUPER10: all jmpt instructions were disassembled with cc_UC condition

  • The confirmation dialog box was not resized correctly for big fonts; the same problem with the chart builder plugin

  • The exception code in the 'edit exception' dialog box was displayed incorrectly

  • The types of local names were not displayed in the listing

  • Unloading type information from the database to an idc file could produce wrong idc file in some cases (structure members of enum type would not have the closing quote after the enum name)

  • the vc8extra.sig was named "VC7 Extra (technology) library"

  • Very long comments (>1KB) were not correctly displayed

  • Visual Studio 'vftable' mangled names were demangled incorrectly

  • When converting operand types IDA was not considering ds:### numbers as immediate values which for example could lead to a strange selection of structure offset fields

  • When detaching the debugger from a process ida would presume that detaching failed and not switch to normal desktop

  • xrefs from structure instances to structure type definitions were not created for terse structures

Last updated

Logo

Need Help?

FAQsSupport

Community

ForumPlugins

© 2025 Copyright Hex-Rays