v0.4.0
ddfa846
on 23 May

0.4

@dd86k dd86k released this on 23 May

Overview

Minor release featuring various work on object dumping.

New License

The license was changed from BSD-3-Clause to BSD-3-Clause-Clear.

New CLI Module

A new CLI module was introduced to keep options and behaviors consistent in both Alicedbg and Alicedump.

Long format options now require the equal sign (--example=) with options that requires a value.

New Alicedump Configuration

A new Alicedump configuration was created with its own set of options, to avoid polluting the debugger's set of options.

Alicedump is a direct alternative, but still work-in-progress, to tools such as objdump(1), nm(1), and readelf(1).

By default, without any specific data requested, a file(1)-like output is provided:

$ alicedump alicedump
alicedump: Executable and Linkable Format (elf), Executable, for AMD x86-64 (amd64) machines

$ alicedump alicedump.exe
alicedump.exe: Portable Executable (pe32), Executable, for AMD x86-64 (amd64) machines

The --extract option was added to allow for some binary information to be set to stdout, allowing data to be piped to other tools.

The --hexdump option was added to allow for some binary information to be hexdumped and formatted on screen.

Support for OMF objects and libraries were initiated.

New Shared Configuration

The Alicedbg library can now be compiled as a shared object (also known as a dynamically linked library).

Notes

The Linux static builds should work regardless of the host C runtime environment, such as glibc, because the executables do not rely on the host C runtime and includes its own.

Changelog

  • cli: Change --debug-info to --build-info.
  • cli: Change -a|--arch to -m|--machine=.
  • debugger: Align disassembly output.
  • debugger: disassemble command uses EIP or RIP by default if no memory location was given.
  • dumper: Now available as a alicedump command.
  • dumper: Add a new "Summary View", which is the new default, and outputs information in a file(1) style format.
  • dumper: Add --hexdump. Certain elements can be dumped using Alicedump's internal hexdump printer.
  • dumper: Remove redundant quotes for UNIX archive (ar) names.
  • dumper: Able to dump all UNIX archive (ar) headers.
  • library: Add missing OS values for LX objects.
  • library: Add missing header flags and OS values for NE objects.
  • library: Add XBOX Code Catalog subsystem value for PE objects.
  • library: Add VC Feature debug structure for PE objects.
  • library: Limit to 96 sections when selecting a PE section, not when loading, as per spec.
  • library: Start support for OMF objects and libraries.
  • library: Add support for ELF dynamic symbols. Sort of.
  • library: x86 machine was renamed to i386 for consistency.
  • library: Return "le" as a short name if it is one (LX).