BSD Ports

devel/lief 0.17.6 FreeBSD

Library to Instrument Executable Formats (C++)

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
f469b15dd8
License
APACHE20
Categories
devel
Package size
1616.2 KiB, 7955.5 KiB installed

Description

The purpose of this project is to provide a cross-platform library to parse, modify and abstract ELF, PE and MachO formats.

Main features:

  • Parsing: LIEF can parse ELF, PE, MachO, COFF, OAT, DEX, VDEX, ART and provides an user-friendly API to access to internals.
  • Modify: LIEF can use to modify some parts of these formats (adding a section, changing a symbol's name, ...)
  • Abstract: Three formats have common features like sections, symbols, entry point... LIEF factors them.
  • API: LIEF can be used in C++, Python, Rust, C and Node.js (unofficial, AI-generated)

Extended features:

  • DWARF/PDB Support
  • Objective-C Metadata
  • Dyld Shared Cache with support for extracting Dylib
  • Disassembler: AArch64, x86/x86-64, ARM, RISC-V, Mips, PowerPC, eBPF
  • Assembler: AArch64, x86/x86-64

Install

Binary package:

pkg install lief

From the ports tree:

cd /usr/ports/devel/lief/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	lief>0:devel/lief
LIB_DEPENDS=	libLIEF.so:devel/lief

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.17.60.17.6--0.17.6
FreeBSD:14:quarterly0.17.60.17.6n/a-0.17.6
FreeBSD:15:latest0.17.60.17.6n/a--
FreeBSD:15:quarterly0.17.60.17.6n/an/an/a
FreeBSD:16:latest0.17.60.17.6n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 6

Library 3

The full lists below include those, and their dependencies in turn.

Build dependencies 36
Run dependencies 3

Configuration

No options to configure.

USES
cmake:testing cpe localbase:ldflags pkgconfig
Service scripts
none

Files

pkg-plist 595
  • bin/abstract_reader
  • bin/art_reader
  • bin/benchmark
  • bin/dex_reader
  • bin/disassembler
  • bin/dwarf_editor
  • bin/dwarf_inspect
  • bin/dyld_shared_cache_reader
  • bin/elf_add_section
  • bin/elf_builder
  • bin/elf_reader
  • bin/elf_section_rename
  • bin/elf_strip
  • bin/elf_symbols
  • bin/logging
  • bin/macho_builder
  • bin/macho_reader
  • bin/oat_reader
  • bin/objc_inspect
  • bin/pdb_inspect
  • bin/pe_authenticode_check
  • bin/pe_builder
  • bin/pe_reader
  • bin/vdex_reader
  • include/LIEF/ART.hpp
  • include/LIEF/ART/EnumToString.hpp
  • include/LIEF/ART/File.hpp
  • include/LIEF/ART/Header.hpp
  • include/LIEF/ART/Parser.hpp
  • include/LIEF/ART/enums.hpp
  • include/LIEF/ART/hash.hpp
  • include/LIEF/ART/java_structures.hpp
  • include/LIEF/ART/json.hpp
  • include/LIEF/ART/types.hpp
  • include/LIEF/ART/utils.hpp
  • include/LIEF/ASM.hpp
  • include/LIEF/Abstract.hpp
  • include/LIEF/Abstract/Binary.hpp
  • include/LIEF/Abstract/DebugInfo.hpp
  • include/LIEF/Abstract/Function.hpp
  • include/LIEF/Abstract/Header.hpp
  • include/LIEF/Abstract/Parser.hpp
  • include/LIEF/Abstract/Relocation.hpp
  • include/LIEF/Abstract/Section.hpp
  • include/LIEF/Abstract/Symbol.hpp
  • include/LIEF/Abstract/hash.hpp
  • include/LIEF/Abstract/json.hpp
  • include/LIEF/BinaryStream/ASN1Reader.hpp
  • include/LIEF/BinaryStream/BinaryStream.hpp
  • include/LIEF/BinaryStream/FileStream.hpp
  • include/LIEF/BinaryStream/MemoryStream.hpp
  • include/LIEF/BinaryStream/SpanStream.hpp
  • include/LIEF/BinaryStream/VectorStream.hpp
  • include/LIEF/COFF.hpp
  • include/LIEF/COFF/AuxiliarySymbol.hpp
  • include/LIEF/COFF/AuxiliarySymbols/AuxiliaryCLRToken.hpp
  • include/LIEF/COFF/AuxiliarySymbols/AuxiliaryFile.hpp
  • include/LIEF/COFF/AuxiliarySymbols/AuxiliaryFunctionDefinition.hpp
  • include/LIEF/COFF/AuxiliarySymbols/AuxiliarySectionDefinition.hpp
  • include/LIEF/COFF/AuxiliarySymbols/AuxiliaryWeakExternal.hpp
  • include/LIEF/COFF/AuxiliarySymbols/AuxiliarybfAndefSymbol.hpp
  • include/LIEF/COFF/BigObjHeader.hpp
  • include/LIEF/COFF/Binary.hpp
  • include/LIEF/COFF/Header.hpp
  • include/LIEF/COFF/Parser.hpp
  • include/LIEF/COFF/ParserConfig.hpp
  • include/LIEF/COFF/RegularHeader.hpp
  • include/LIEF/COFF/Relocation.hpp
  • include/LIEF/COFF/Section.hpp
  • include/LIEF/COFF/String.hpp
  • include/LIEF/COFF/Symbol.hpp
  • include/LIEF/COFF/utils.hpp
  • include/LIEF/DEX.hpp
  • include/LIEF/DEX/Class.hpp
  • include/LIEF/DEX/CodeInfo.hpp
  • include/LIEF/DEX/EnumToString.hpp
  • include/LIEF/DEX/Field.hpp
  • include/LIEF/DEX/File.hpp
  • include/LIEF/DEX/Header.hpp
  • include/LIEF/DEX/MapItem.hpp
  • include/LIEF/DEX/MapList.hpp
  • include/LIEF/DEX/Method.hpp
  • include/LIEF/DEX/Parser.hpp
  • include/LIEF/DEX/Prototype.hpp
  • include/LIEF/DEX/Type.hpp
  • include/LIEF/DEX/deopt.hpp
  • include/LIEF/DEX/enums.hpp
  • include/LIEF/DEX/hash.hpp
  • include/LIEF/DEX/instructions.hpp
  • include/LIEF/DEX/json.hpp
  • include/LIEF/DEX/types.hpp
  • include/LIEF/DEX/utils.hpp
  • include/LIEF/DWARF.hpp
  • include/LIEF/DWARF/CompilationUnit.hpp
  • include/LIEF/DWARF/DebugInfo.hpp
  • include/LIEF/DWARF/Editor.hpp
  • include/LIEF/DWARF/Function.hpp
  • include/LIEF/DWARF/Parameter.hpp
  • include/LIEF/DWARF/Scope.hpp
  • include/LIEF/DWARF/Type.hpp

The first 100 are listed.

distinfo 1
FileSizeSHA256
lief-project-LIEF-0.17.6_GH0.tar.gz2.0662368e+075fbbd19c85912d417eabbaef2b98e70144496356964685b82e0792d708b9be87

Commit history 3

DateCommitCreditsLog message
f469b15dd8 Po-Chuan Hsieh devel/lief: Allow build with utf8cpp 4.2.0+
Reference: https://github.com/nemtrif/utfcpp/commit/ef75b565c3998f32f2ebd580556a23e0b9261560
b5bccd2def Chris.Torek devel/lief: fix build issue
Use vendored utf8cpp module. The system installed one in incompatible. PR: 298528 Approved by: blanket (fix build)
0047b5fb11 Po-Chuan Hsieh devel/lief: Use PLIST_SUB to reduce further shilb changes in PLIST