lief/0.13.1

Library to Instrument Executable Formats
Recipe info
2023-06-06

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
lief/0.13.1

Using lief

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
lief/0.13.1
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("lief/0.13.1")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): LIEF
  • CMake target name(s): LIEF::LIEF
  • pkg-config file name(s): LIEF.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(LIEF REQUIRED)
# ...
target_link_libraries(YOUR_TARGET LIEF::LIEF)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the lief homepage listed above:

#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/Abstract.hpp"
#include "LIEF/Abstract/Binary.hpp"
#include "LIEF/Abstract/EnumToString.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/enums.hpp"
#include "LIEF/Abstract/hash.hpp"
#include "LIEF/Abstract/json.hpp"
#include "LIEF/BinaryStream/BinaryStream.hpp"
#include "LIEF/BinaryStream/Convert.hpp"
#include "LIEF/BinaryStream/FileStream.hpp"
#include "LIEF/BinaryStream/MemoryStream.hpp"
#include "LIEF/BinaryStream/SpanStream.hpp"
#include "LIEF/BinaryStream/VectorStream.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/enums.hpp"
#include "LIEF/ELF.h"
#include "LIEF/ELF.hpp"
#include "LIEF/ELF/Binary.h"
#include "LIEF/ELF/Binary.hpp"
#include "LIEF/ELF/Builder.hpp"
#include "LIEF/ELF/DynamicEntry.h"
#include "LIEF/ELF/DynamicEntry.hpp"
#include "LIEF/ELF/DynamicEntryArray.hpp"
#include "LIEF/ELF/DynamicEntryFlags.hpp"
#include "LIEF/ELF/DynamicEntryLibrary.hpp"
#include "LIEF/ELF/DynamicEntryRpath.hpp"
#include "LIEF/ELF/DynamicEntryRunPath.hpp"
#include "LIEF/ELF/DynamicSharedObject.hpp"
#include "LIEF/ELF/EnumToString.h"
#include "LIEF/ELF/EnumToString.hpp"
#include "LIEF/ELF/GnuHash.hpp"
#include "LIEF/ELF/Header.h"
#include "LIEF/ELF/Header.hpp"
#include "LIEF/ELF/Note.hpp"
#include "LIEF/ELF/NoteDetails.hpp"
#include "LIEF/ELF/NoteDetails/AndroidNote.hpp"
#include "LIEF/ELF/NoteDetails/Core.hpp"
#include "LIEF/ELF/NoteDetails/NoteAbi.hpp"
#include "LIEF/ELF/NoteDetails/core/CoreAuxv.hpp"
#include "LIEF/ELF/NoteDetails/core/CoreFile.hpp"
#include "LIEF/ELF/NoteDetails/core/CorePrPsInfo.hpp"
#include "LIEF/ELF/NoteDetails/core/CorePrStatus.hpp"
#include "LIEF/ELF/NoteDetails/core/CoreSigInfo.hpp"
#include "LIEF/ELF/Parser.hpp"
#include "LIEF/ELF/Relocation.hpp"
#include "LIEF/ELF/RelocationSizes.hpp"
#include "LIEF/ELF/Relocations/AArch64.def"
#include "LIEF/ELF/Relocations/ARM.def"
#include "LIEF/ELF/Relocations/Hexagon.def"
#include "LIEF/ELF/Relocations/Mips.def"
#include "LIEF/ELF/Relocations/PowerPC.def"
#include "LIEF/ELF/Relocations/PowerPC64.def"
#include "LIEF/ELF/Relocations/Sparc.def"
#include "LIEF/ELF/Relocations/SystemZ.def"
#include "LIEF/ELF/Relocations/i386.def"
#include "LIEF/ELF/Relocations/x86_64.def"
#include "LIEF/ELF/Section.h"
#include "LIEF/ELF/Section.hpp"
#include "LIEF/ELF/Segment.h"
#include "LIEF/ELF/Segment.hpp"
#include "LIEF/ELF/Symbol.h"
#include "LIEF/ELF/Symbol.hpp"
#include "LIEF/ELF/SymbolVersion.hpp"
#include "LIEF/ELF/SymbolVersionAux.hpp"
#include "LIEF/ELF/SymbolVersionAuxRequirement.hpp"
#include "LIEF/ELF/SymbolVersionDefinition.hpp"
#include "LIEF/ELF/SymbolVersionRequirement.hpp"
#include "LIEF/ELF/SysvHash.hpp"
#include "LIEF/ELF/enums.h"
#include "LIEF/ELF/enums.hpp"
#include "LIEF/ELF/enums.inc"
#include "LIEF/ELF/hash.hpp"
#include "LIEF/ELF/json.hpp"
#include "LIEF/ELF/undef.h"
#include "LIEF/ELF/utils.h"
#include "LIEF/ELF/utils.hpp"
#include "LIEF/LIEF.h"
#include "LIEF/LIEF.hpp"
#include "LIEF/MachO.h"
#include "LIEF/MachO.hpp"
#include "LIEF/MachO/Binary.h"
#include "LIEF/MachO/Binary.hpp"
#include "LIEF/MachO/BinaryParser.hpp"
#include "LIEF/MachO/BindingInfo.hpp"
#include "LIEF/MachO/BuildVersion.hpp"
#include "LIEF/MachO/Builder.hpp"
#include "LIEF/MachO/ChainedBindingInfo.hpp"
#include "LIEF/MachO/CodeSignature.hpp"
#include "LIEF/MachO/CodeSignatureDir.hpp"
#include "LIEF/MachO/DataCodeEntry.hpp"
#include "LIEF/MachO/DataInCode.hpp"
#include "LIEF/MachO/DyldBindingInfo.hpp"
#include "LIEF/MachO/DyldChainedFixups.hpp"
#include "LIEF/MachO/DyldEnvironment.hpp"
#include "LIEF/MachO/DyldExportsTrie.hpp"
#include "LIEF/MachO/DyldInfo.hpp"
#include "LIEF/MachO/DylibCommand.hpp"
#include "LIEF/MachO/DylinkerCommand.hpp"
#include "LIEF/MachO/DynamicSymbolCommand.hpp"
#include "LIEF/MachO/EncryptionInfo.hpp"
#include "LIEF/MachO/EnumToString.h"
#include "LIEF/MachO/EnumToString.hpp"
#include "LIEF/MachO/ExportInfo.hpp"
#include "LIEF/MachO/FatBinary.hpp"
#include "LIEF/MachO/FilesetCommand.hpp"
#include "LIEF/MachO/FunctionStarts.hpp"
#include "LIEF/MachO/Header.h"
#include "LIEF/MachO/Header.hpp"
#include "LIEF/MachO/LinkEdit.hpp"
#include "LIEF/MachO/LinkerOptHint.hpp"
#include "LIEF/MachO/LoadCommand.h"
#include "LIEF/MachO/LoadCommand.hpp"
#include "LIEF/MachO/MainCommand.hpp"
#include "LIEF/MachO/Parser.hpp"
#include "LIEF/MachO/ParserConfig.hpp"
#include "LIEF/MachO/RPathCommand.hpp"
#include "LIEF/MachO/Relocation.hpp"
#include "LIEF/MachO/RelocationDyld.hpp"
#include "LIEF/MachO/RelocationFixup.hpp"
#include "LIEF/MachO/RelocationObject.hpp"
#include "LIEF/MachO/Section.h"
#include "LIEF/MachO/Section.hpp"
#include "LIEF/MachO/Segment.h"
#include "LIEF/MachO/SegmentCommand.hpp"
#include "LIEF/MachO/SegmentSplitInfo.hpp"
#include "LIEF/MachO/SourceVersion.hpp"
#include "LIEF/MachO/SubFramework.hpp"
#include "LIEF/MachO/Symbol.h"
#include "LIEF/MachO/Symbol.hpp"
#include "LIEF/MachO/SymbolCommand.hpp"
#include "LIEF/MachO/ThreadCommand.hpp"
#include "LIEF/MachO/TwoLevelHints.hpp"
#include "LIEF/MachO/UUIDCommand.hpp"
#include "LIEF/MachO/VersionMin.hpp"
#include "LIEF/MachO/enums.h"
#include "LIEF/MachO/enums.hpp"
#include "LIEF/MachO/enums.inc"
#include "LIEF/MachO/hash.hpp"
#include "LIEF/MachO/json.hpp"
#include "LIEF/MachO/type_traits.hpp"
#include "LIEF/MachO/undef.h"
#include "LIEF/MachO/utils.hpp"
#include "LIEF/OAT.hpp"
#include "LIEF/OAT/Binary.hpp"
#include "LIEF/OAT/Class.hpp"
#include "LIEF/OAT/DexFile.hpp"
#include "LIEF/OAT/EnumToString.hpp"
#include "LIEF/OAT/Header.hpp"
#include "LIEF/OAT/Method.hpp"
#include "LIEF/OAT/Parser.hpp"
#include "LIEF/OAT/enums.hpp"
#include "LIEF/OAT/hash.hpp"
#include "LIEF/OAT/json.hpp"
#include "LIEF/OAT/type_traits.hpp"
#include "LIEF/OAT/utils.hpp"
#include "LIEF/Object.hpp"
#include "LIEF/PE.h"
#include "LIEF/PE.hpp"
#include "LIEF/PE/AuxiliarySymbol.hpp"
#include "LIEF/PE/Binary.h"
#include "LIEF/PE/Binary.hpp"
#include "LIEF/PE/Builder.hpp"
#include "LIEF/PE/CodeIntegrity.hpp"
#include "LIEF/PE/CodeView.hpp"
#include "LIEF/PE/CodeViewPDB.hpp"
#include "LIEF/PE/DataDirectory.h"
#include "LIEF/PE/DataDirectory.hpp"
#include "LIEF/PE/Debug.hpp"
#include "LIEF/PE/DelayImport.hpp"
#include "LIEF/PE/DelayImportEntry.hpp"
#include "LIEF/PE/DosHeader.h"
#include "LIEF/PE/DosHeader.hpp"
#include "LIEF/PE/EnumToString.h"
#include "LIEF/PE/EnumToString.hpp"
#include "LIEF/PE/Export.hpp"
#include "LIEF/PE/ExportEntry.hpp"
#include "LIEF/PE/Header.h"
#include "LIEF/PE/Header.hpp"
#include "LIEF/PE/Import.h"
#include "LIEF/PE/Import.hpp"
#include "LIEF/PE/ImportEntry.h"
#include "LIEF/PE/ImportEntry.hpp"
#include "LIEF/PE/LoadConfigurations.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfiguration.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV0.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV1.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV10.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV11.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV2.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV3.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV4.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV5.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV6.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV7.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV8.hpp"
#include "LIEF/PE/LoadConfigurations/LoadConfigurationV9.hpp"
#include "LIEF/PE/OptionalHeader.h"
#include "LIEF/PE/OptionalHeader.hpp"
#include "LIEF/PE/Parser.hpp"
#include "LIEF/PE/Pogo.hpp"
#include "LIEF/PE/PogoEntry.hpp"
#include "LIEF/PE/Relocation.hpp"
#include "LIEF/PE/RelocationEntry.hpp"
#include "LIEF/PE/ResourceData.hpp"
#include "LIEF/PE/ResourceDirectory.hpp"
#include "LIEF/PE/ResourceNode.hpp"
#include "LIEF/PE/ResourcesManager.hpp"
#include "LIEF/PE/RichEntry.hpp"
#include "LIEF/PE/RichHeader.hpp"
#include "LIEF/PE/Section.h"
#include "LIEF/PE/Section.hpp"
#include "LIEF/PE/Symbol.hpp"
#include "LIEF/PE/TLS.hpp"
#include "LIEF/PE/enums.h"
#include "LIEF/PE/enums.hpp"
#include "LIEF/PE/enums.inc"
#include "LIEF/PE/hash.hpp"
#include "LIEF/PE/json.hpp"
#include "LIEF/PE/resources/LangCodeItem.hpp"
#include "LIEF/PE/resources/ResourceAccelerator.hpp"
#include "LIEF/PE/resources/ResourceDialog.hpp"
#include "LIEF/PE/resources/ResourceDialogItem.hpp"
#include "LIEF/PE/resources/ResourceFixedFileInfo.hpp"
#include "LIEF/PE/resources/ResourceIcon.hpp"
#include "LIEF/PE/resources/ResourceStringFileInfo.hpp"
#include "LIEF/PE/resources/ResourceStringTable.hpp"
#include "LIEF/PE/resources/ResourceVarFileInfo.hpp"
#include "LIEF/PE/resources/ResourceVersion.hpp"
#include "LIEF/PE/signature/Attribute.hpp"
#include "LIEF/PE/signature/ContentInfo.hpp"
#include "LIEF/PE/signature/OIDToString.hpp"
#include "LIEF/PE/signature/RsaInfo.hpp"
#include "LIEF/PE/signature/Signature.hpp"
#include "LIEF/PE/signature/SignatureParser.hpp"
#include "LIEF/PE/signature/SignerInfo.hpp"
#include "LIEF/PE/signature/attributes.hpp"
#include "LIEF/PE/signature/attributes/ContentType.hpp"
#include "LIEF/PE/signature/attributes/GenericType.hpp"
#include "LIEF/PE/signature/attributes/MsCounterSign.hpp"
#include "LIEF/PE/signature/attributes/MsSpcNestedSignature.hpp"
#include "LIEF/PE/signature/attributes/MsSpcStatementType.hpp"
#include "LIEF/PE/signature/attributes/PKCS9AtSequenceNumber.hpp"
#include "LIEF/PE/signature/attributes/PKCS9CounterSignature.hpp"
#include "LIEF/PE/signature/attributes/PKCS9MessageDigest.hpp"
#include "LIEF/PE/signature/attributes/PKCS9SigningTime.hpp"
#include "LIEF/PE/signature/attributes/SpcSpOpusInfo.hpp"
#include "LIEF/PE/signature/types.hpp"
#include "LIEF/PE/signature/x509.hpp"
#include "LIEF/PE/undef.h"
#include "LIEF/PE/utils.hpp"
#include "LIEF/VDEX.hpp"
#include "LIEF/VDEX/File.hpp"
#include "LIEF/VDEX/Header.hpp"
#include "LIEF/VDEX/Parser.hpp"
#include "LIEF/VDEX/hash.hpp"
#include "LIEF/VDEX/json.hpp"
#include "LIEF/VDEX/type_traits.hpp"
#include "LIEF/VDEX/utils.hpp"
#include "LIEF/Visitor.hpp"
#include "LIEF/associative_iterators.hpp"
#include "LIEF/config.h"
#include "LIEF/enums.hpp"
#include "LIEF/errors.hpp"
#include "LIEF/hash.hpp"
#include "LIEF/iostream.hpp"
#include "LIEF/iterators.hpp"
#include "LIEF/json.hpp"
#include "LIEF/logging.h"
#include "LIEF/logging.hpp"
#include "LIEF/platforms.hpp"
#include "LIEF/platforms/android.hpp"
#include "LIEF/platforms/android/version.hpp"
#include "LIEF/span.hpp"
#include "LIEF/third-party/leaf.hpp"
#include "LIEF/third-party/span.hpp"
#include "LIEF/to_json.hpp"
#include "LIEF/types.h"
#include "LIEF/types.hpp"
#include "LIEF/utils.hpp"
#include "LIEF/version.h"
#include "LIEF/visibility.h"
#include "LIEF/visitor_macros.hpp"