0.4
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 toi386
for consistency. - library: Return "
le
" as a short name if it is one (LX).