Thankfully the wait from 1.2 to 1.3 was much less than last time. Our goal is to aim for quarter releases as often as possible, and yet we still managed to pack in a large number of fixes and features into just a few months.
As always, another good reference for what has changed is our list of closed issues.
If you just want the highlights, here’s a short list of some of the most noticeable new features:
The rest of the updates are in the following sections:
One of our favorite new features of 1.3 is our more intelligent structure creation. With the 2.0 release with decompiler looming, we want to really focus on improving the structure creation workflow and we’ve started the process in 1.3. You can check things out by trying the following new workflows:
malloc
, or VirtualAlloc
in an IL view and press S
. This will automatically create a structure of the appropriate size.S
to automatically create a structure member1, 2, 4, 8, d, a, o, -, s
to quickly create or modify types and structures. This even works inside of existing structures with undefined sections.While 1.2 brought a new type library (with even more libraries expected shortly), those are only applicable to situations where you have dynamically linked applications with external functions whose prototypes you’d like to apply. What about statically compiled binaries? The ability to create function fingerprints and apply them to a statically compiled binary is a critically important feature that is now shipping.
Function Fingerprinting Before/After - Figure 1
You can not only create your own libraries, but we’re also rolling out an extensive set of libraries you’ll be able to download on-demand in future updates. Access this new feature in: Tools
/Run Analysis Module
/Signature Matcher
. Keep an eye on the blog for an upcoming entry dedicated to this feature.
maxLookupTableSize
setting configures maximum jump table size.possible_values
in ILs)Feature: Ability to modify/define jump tables by simply changing the type at the table location (use y
on the base of the table to change the size and the jump table will automatically adjust)
Override Call Type...
)Improved: Coerce DataSymbol to FunctionSymbol when it’s actually a function