• v0.1.1 (7 November 2017)

    • IDA plug-in: built for IDA 7.0.

    • Support for custom color schemes.

    • Minor fixes and improvements.

  • v0.1.0 (24 September 2016)

    • IDA plug-in: built for IDA 6.95.

    • Workaround for a behavior change in QProgressDialog in Qt > 5.4 (thanks to Duncan Ogilvie).

    • PE base relocations got an internal representation (thanks to Jeff Muizelaar).

  • v0.0.9 (23 January 2016)

    • Mach-O parser: added dysymtab parsing (thanks to Jeff Muizelaar).

    • IDA plug-in: fixed detection of big endian ARM executables, undoing byte swapping done by IDA for them.

    • Code generation: producing static_cast and reinterpret_cast instead of C casts.

  • v0.0.8 (17 September 2015)

    • x86: automatic choice between AMD64 and MSVC 64-bit calling conventions.

    • PE parser: added parsing of exports (thanks to Jeff Muizelaar).

    • ELF parser: fixed reading of section headers in big-endian executables (thanks to Markus Gothe for reporting).

    • Improved LikeC code simplification: support for the index operator, special treatment of expressions in the boolean context, simplification of mathematical identities.

    • Improved and corrected reconstruction of expressions.

    • Fixed an error in the structural analysis leading to assertion failure during code generation.

    • ASCII strings detection is now more pessimistic.

  • v0.0.7 (26 July 2015)

    • Added Mach-O parser.

    • ARM: handling of mov-ldr call idiom, support for mla, mls (thanks to Jeff Muizelaar), uxtb, uxtab, uxth, uxtah (thanks to archshift), mul, eor, mvn, cmn instructions.

    • x86: support for cqo instruction, fixed handling of memory operands with unspecified scale.

    • Support for building with Qt5.

  • v0.0.6 (21 June 2015)

    • Snowman is now free software.

    • IDA plug-in: changed IDA hotkeys from F4 to F3, support for building on Linux (thanks to Philippe Teuwen for testing) and Mac OS X (thanks to Mathieu RenĂ©).

    • ARM: initial support.

    • x86: fixed handling of push instructions with constant argument, better detection of stdcall, support for thiscall-like passing arguments via ecx.

    • GUI: fixed crashes on Ctrl-F when no file is loaded (thanks to Mr. eXoDia).

    • Fixed stack arguments reconstruction.

    • External demangler is now integrated.

  • v0.0.5 (20 September 2014)

    • GUI: added font selection, fixed performance problems, implemented refactoring (no persistence so far), go to function definition, shortcuts for navigation.

    • IDA plug-in: correct handling of imports.

    • PE parser: parsing imports.

    • x86: support for hlt and movsxd instructions.

  • v0.0.4 (17 August 2014)

    • x86: intermediate representation uses less memory, instructions are now printed in Intel assembly style.

    • PE parser: adding ImageBase to section addresses, adding virtual addresses of sections to symbols' values.

    • Dataflow: fixed constant folding for binary not operator.

    • Disassembled instructions are represented using much less memory.

    • Known bugs: structural analysis can produce reduced control flow graphs from which it is impossible to generate code. Beware of assertion failures!

  • v0.0.3 (13 July 2014)

    • x86: correct handling of rip-based addressing.

    • ELF parser: parsing of relocations, correct handling of bss sections, support for byte order.

    • PE parser: correct handling of bss sections, support for byte order.

    • Code generation: generating initial values for global variables, generating function names instead of constants.

    • GUI: symbols view, sorting in sections and symbols views.

    • The decompiler is now distributed under the CC BY-NC-ND 4.0 license.

  • v0.0.2 (4 July 2014)

    • The IDA plug-in works under Windows XP.

  • v0.0.1 (25 June 2014)

    • Initial release.

    • Architectures: x86, x86-64 (150 supported instructions).

    • File formats: ELF, PE.

    • Calling conventions: AMD64, Microsoft64, cdecl, stdcall.

    • Demanglers: MSVC, GNU V3.

    • Symbolic bit-precise byte-order-aware joint reaching definitions and constant folding analysis.

    • Interprocedural type reconstruction.

    • Interprocedural reconstruction of function arguments and return values.

    • Interprocedural reconstruction of variables.

    • Structural analysis of control flow.

    • Ascetic GUI.

    • Plug-in for IDA.