Today we are happy to release Relyze 1.5.0 which contains a number of new features, performance improvements and bug fixes. For the full list of the changes please see the download page.

Static Library Analysis

The main addition for this release is static library analysis, which allows for the identification of statically linked library code, such as compiler run-times, during analysis. We describe a functions structural properties via static library signatures which are then grouped together and held in static library packages. During static library analysis these packages are processed via Relyze's differential analysis engine, which is really a comparison engine based on graph isomorphisims, allowing packages to be identified which contain similar functions to that of the binary being analyzed. The signatures from these packages are then matched and subsequently applied during analysis, renaming the identified functions in the binary being analyzed with their newly discovered names and flagging them as library code (As can be seen in the before and after screenshots below).

Relyze is shipping with several static library packages for some common compiler run-times, including the MSVC, PellesC, DJGPP and MinGW based compilers. We will be adding more based on customer feedback. The ability to create and apply packages is exposed via the plugin framework, allowing you to create and manage your own packages and we will touch on this in more detail in a later blog post.

Analysis Options

This release also exposes enabling or disabling several analysis features from both the GUI as well as the plugin framework. This will let you speed up the initial analysis of a binary by disabling any features you don't require.

Try Relyze for yourself and download the latest trial! Existing users can use the builtin update feature to receive the latest version.