Useful Tools: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
→FUSE File Systems: ratarmount |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== File System Manipulation == | == File System Manipulation == | ||
* [https://github.com/aaru-dps/Aaru 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. | * [https://github.com/aaru-dps/Aaru 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. | ||
* [https://linux.die.net/man/8/kpartx kpartx] is a fairly standard command to automatically create loop devices for whole disk images (assuming regular partition table types Linux can understand) | * [https://linux.die.net/man/8/kpartx kpartx] is a fairly standard command to automatically create loop devices for whole disk images (assuming regular partition table types Linux can understand). | ||
* [https://osxfuse.github.io/ macFUSE] allows you to use FUSE filesystems on macOS | * [https://osxfuse.github.io/ macFUSE] allows you to use FUSE filesystems on macOS. | ||
* [https://www.vms2linux.de/ods5fs.html OpenVMS ODS-5 file system for Linux] is a kernel module, in source form. A TinyCore Linux VM, with it pre-installed is also available. | |||
== FUSE File Systems == | |||
* [https://llg.cubic.org/tools/cbmfs/ CBMFS] supports various disk image formats (d64, d71, d81, d80, and d82), from 8-bit Commodore systems | |||
* [https://github.com/pcrow/atari_8bit_utils Atari 8-bit Utils] contains ATRFS, which supports Atari DOS 1, Atari DOS 2.0s, Atari DOS 2.5, MyDOS 4.53, SpartaDOS, Atari DOS 3 (read-only), Atari DOS 4 published by Antic (read-only), and LiteDOS volumes, in ATR disk image files. | |||
* [https://gitlab.com/t-m/fuseadf FUSEADF] supports AmigaOS disk images, and requires ADFLib, to compile. | |||
* [https://github.com/realchonk/fuse-ufs FUSE-UFS] supports FreeBSD UFSv2 volumes. | |||
* [https://github.com/0x09/hfsfuse HFS-FUSE] supports Apple HFS+ volumes, including resource forks, and extended attributes. | |||
* [https://www.adsb.co.uk/bbc/linux/ Acorn ADFS, and DFS] implementations, written in Perl. Requires the "Fuse" CPAN module to be installed, to build. | |||
* [https://github.com/jaylogue/retro-fuse RetroFUSE] supports 5th/6th/7th Edition Research UNIX, 2.9BSD, and 2.11BSD file systems | |||
* [https://github.com/FranciscoDA/ps2mcfs PlayStation 2 Memory Card File System] implementation, in FUSE | |||
* [https://github.com/mxmlnkn/ratarmount ratarmount] is a FUSE file system, that can mount various archive formats, and allow random access to files, stored within them | |||
== Archive Manipulation == | == Archive Manipulation == | ||
* 7-Zip supports the Windows Imaging format (<code>.WIM</code>) disk images, with LZX compression, as used by Windows 8.1 | * [https://www.7-zip.org/ 7-Zip] supports the Windows Imaging format (<code>.WIM</code>) disk images, with LZX compression, as used by Windows 8.1. | ||
* [https://github.com/MacPaw/XADMaster 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. | * [https://github.com/MacPaw/XADMaster 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. | ||
* [https://github.com/twogood/unshield unshield] is a CLI tool, for unpacking various flavours of InstallShield archive | * [https://github.com/twogood/unshield unshield] is a CLI tool, for unpacking various flavours of InstallShield archive. | ||
* [https://www.anerty.net/software/file/jSAVF/?lang=en jSAVF] is a Java-based application, for accessing IBM i (AKA OS/400) save files, under Windows, and Linux | |||
== Firmware Image Extraction == | == Firmware Image Extraction == | ||
* The [http://marksmods.com/Hack-the-L7/zip/random.zip 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 [http://marksmods.com/Hack-the-L7/zip/random.zip 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 <code>srecord</code> package, under Ubuntu contains a utility, that can convert Motorola S-Record files, into plain binaries: (for example <code>srec_cat C139_V1.0.03.E.m0 -Output C139_V1.0.03.E.bin -Binary</code> | * The <code>srecord</code> package, under Ubuntu contains a utility, that can convert Motorola S-Record files, into plain binaries: (for example <code>srec_cat C139_V1.0.03.E.m0 -Output C139_V1.0.03.E.bin -Binary</code>). | ||
* BinWalk is extremely useful, for extracting files, and resources out of firmware images, executables, and file system structures | * BinWalk is extremely useful, for extracting files, and resources out of firmware images, executables, and file system structures. | ||
== Binary reverse engineering == | == Binary reverse engineering == | ||
Line 22: | Line 35: | ||
== Development tools == | == Development tools == | ||
* [https://github.com/davidgiven/ack The Amsterdam Compiler Kit] is one of the few (mostly) C99 compilers around that can still target a PDP-11 Unix v7 target. | * [https://github.com/davidgiven/ack The Amsterdam Compiler Kit] is one of the few (mostly) C99 compilers around that can still target a PDP-11 Unix v7 target. | ||
* [https://github.com/JuliaHubOSS/llvm-cbe 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) | * [https://github.com/JuliaHubOSS/llvm-cbe 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). | ||
* [https://www.ibiblio.org/pub/micro/pc-stuff/freedos/gnuish/gnuish_t.htm 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). | |||
[[Category:Preservation and Documentation]] | [[Category:Preservation and Documentation]] |
Latest revision as of 21:23, 31 October 2024
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.
- OpenVMS ODS-5 file system for Linux is a kernel module, in source form. A TinyCore Linux VM, with it pre-installed is also available.
FUSE File Systems
- CBMFS supports various disk image formats (d64, d71, d81, d80, and d82), from 8-bit Commodore systems
- Atari 8-bit Utils contains ATRFS, which supports Atari DOS 1, Atari DOS 2.0s, Atari DOS 2.5, MyDOS 4.53, SpartaDOS, Atari DOS 3 (read-only), Atari DOS 4 published by Antic (read-only), and LiteDOS volumes, in ATR disk image files.
- FUSEADF supports AmigaOS disk images, and requires ADFLib, to compile.
- FUSE-UFS supports FreeBSD UFSv2 volumes.
- HFS-FUSE supports Apple HFS+ volumes, including resource forks, and extended attributes.
- Acorn ADFS, and DFS implementations, written in Perl. Requires the "Fuse" CPAN module to be installed, to build.
- RetroFUSE supports 5th/6th/7th Edition Research UNIX, 2.9BSD, and 2.11BSD file systems
- PlayStation 2 Memory Card File System implementation, in FUSE
- ratarmount is a FUSE file system, that can mount various archive formats, and allow random access to files, stored within them
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.
- jSAVF is a Java-based application, for accessing IBM i (AKA OS/400) save files, under Windows, and Linux
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 examplesrec_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).