Package: ofrak
OFRAKOFRAK (Open Firmware Reverse Analysis Konsole) is a binary analysis and modification platform that combines the ability unpack, analyze, modify, and repack binaries.OFRAK combines the ability to:IdentifyandUnpackmany binary formatsAnalyzeunpacked binaries with field-tested reverse engineering toolsModifyandRepackbinaries with powerful patching strategiesOFRAK supports a range of embedded firmware file formats beyond userspace executables, including:Compressed filesystemsCompressed & checksummed firmwareBootloadersRTOS/OS kernelsOFRAK equips users with:AGraphical User Interface (GUI)for interactive exploration and visualization of binariesAPython APIfor readable and reproducible scripts that can be applied to entire classes of binaries, rather than just one specific binaryRecursiveidentification, unpacking, and repackingof many file formats, from ELF executables, to filesystem archives, to compressed and checksummed firmware formatsBuilt-in, extensibleintegration with powerful analysis backends(angr, Binary Ninja, Ghidra, IDA Pro)Extensibility by designvia a common interface to easily write additional OFRAK components and add support for a new file format or binary patching operationSeeofrak.comfor more details.Package: ofrakOFRAK
└───ofrak  <-- //YOU ARE HERE//
│   └───component   // Definitions for abstract Component classes (e.g. Analyzer)
│   └───core        // Definitions for standard OFRAK components (plus related tags, views, etc.)
│   └───model       // Definitions for core OFRAK data structures
│   └───service     // Definitions for core OFRAK services
│   
└───ofrak_type
└───ofrak_io
└───ofrak_patch_maker
└───ofrak_tutorialThis is the package containing the core of the OFRAK framework. Install this first to get started with OFRAK!What is included:Definitions for core OFRAK data structures and services, such asResource,OFRAKContext, andDataService.Components to handle unpacking, modifying, and repacking common executable file formats:ELFPE FilesDefinitions for common software and reverse engineering abstractions likeInstruction,File, andBasicBlockUnpackers & Packers for a number of file types, including:APKbzip2CPIOgipISO 9660LZMA/XZLZO7zsquashfstarUImagezipzlibMiscellaneous helpful components:MagicAnalyzerand two Identifier components which usespython-libmagicto automatically tag OFRAKResourcesBasic modifiers likeStringFindReplaceModifierandBinaryInjectorModifierBasic useful analyzers likeSha256AnalyzerandMD5Analyzerwhich calculate the respective checksums of OFRAKResourcesAn unpacker for Linux device tree blobs (DTB)Analyzers wrappingstringsandbinwalkAn analyzer to calculate Shannon entropy of binary dataThis is only a representative sampling of the features in the core OFRAK. Consult the code referencedocsfor a complete manifest.What isnotincluded:The OFRAK PatchMakerComponents which integrate the disassembler backends (Ghidra, BinaryNinja, Angr, Capstone)TestingThis package maintains 100% test coverage of functions.LicenseThe code in this repository comes with anOFRAK Community License, which is intended for educational uses, personal development, or just having fun.Users interested in using OFRAK for commercial purposes can request the Pro or Enterprise License. SeeOFRAK Licensingfor more information.DocumentationOFRAK has general documentation and API documentation, which can be viewed athttps://ofrak.com/docs.