Useful Tools

From DisNCord Community Wiki
Jump to navigation Jump to search

File System Manipulation

  • Aaru supports a fairly comprehensive collection of disk image, partition table, and file system formats, and is built with the Microsoft .NET Framework - builds exist, for several operating systems.
  • kpartx is a fairly standard command to automatically create loop devices for whole disk images (assuming regular partition table types Linux can understand).
  • macFUSE allows you to use FUSE filesystems on macOS.

Archive Manipulation

  • 7-Zip supports the Windows Imaging format (.WIM) disk images, with LZX compression, as used by Windows 8.1.
  • XADMaster supports a fairly comprehensive collection of compression, and archival formats, and can also expand some disk image formats - this seems to be the basis of the "unar" utility, provided for Ubuntu, and some other Linux distributions.
  • unshield is a CLI tool, for unpacking various flavours of InstallShield archive.

Firmware Image Extraction

  • The RandomSHX utility, for Windows will extract the contents of some Motorola P2K (e.g. A835) "UNIX Generated SuperFile" firmware archives - this requires Windows, and does not work with UNC paths.
  • The srecord package, under Ubuntu contains a utility, that can convert Motorola S-Record files, into plain binaries: (for example srec_cat C139_V1.0.03.E.m0 -Output C139_V1.0.03.E.bin -Binary).
  • BinWalk is extremely useful, for extracting files, and resources out of firmware images, executables, and file system structures.

Binary reverse engineering

  • Dependency Walker for understanding Windows program dependencies and what's used by the program, helpful for software archaeology.
  • Ghidra is an open-source set of RE tools, including a set of decompilers and disassemblers for most binary formats.

Development tools

  • The Amsterdam Compiler Kit is one of the few (mostly) C99 compilers around that can still target a PDP-11 Unix v7 target.
  • llvm-cbe is the C backend for LLVM -- it can convert LLVM bytecode into C (useful for compiling modern C++ targeting systems that don't have a functional modern C++ compiler, for example).
  • GNUish Project is a port of UNIX standard utilities for DOS with family mode support (useful for replacing equivalent utilities that cannot be ran under OS/2).