Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
LIEF — Bibliothèque multiplateforme pour analyser, modifier et abstraire les formats exécutables ELF, PE et MachO. Prend en charge les API C++, Python et Rust avec des fonctionnalités de désassembleur, d'assembleur et d'informations de débogage. | Kitploit
Outils/GitHubGitHub/lief-project/lief
Sécurité AndroidSécurité des Systèmes EmbarquésAnalyse StatiqueOutils de Chiffrement/DéchiffrementSécurité iOSPentesting d'Applications MobilesRétro-ingénierieDébogueursAnalyse de MalwareSécurité MobileAnalyse de BinairesApprentissage et Éducation
5.5k74611il y a 3 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Rétro-Ingénierie Assistée par IA
Analyse de Micrologiciel
Exploitation de Binaires
Top en Rétro-Ingénierie Assistée par IA n°17
Top en Sécurité Android n°17
Top en Analyse de Binaires n°9
Top en Exploitation de Binaires n°14
Top en Sécurité des Systèmes Embarqués n°13
Top en Analyse de Micrologiciel n°11
Top en Analyse de Malware n°16
Top en Pentesting d'Applications Mobiles n°17
Top en Sécurité Mobile n°17
Top en Rétro-ingénierie n°14
Top en Analyse Statique n°8
GitHublief-project/lief

LIEF

Bibliothèque multiplateforme pour analyser, modifier et abstraire les formats exécutables ELF, PE et MachO. Prend en charge les API C++, Python et Rust avec des fonctionnalités de désassembleur, d'assembleur et d'informations de débogage.

Voir le dépôtSite web
Partager



Blog • Documentation • À propos


À propos

L'objectif de ce projet est de fournir une bibliothèque multiplateforme pour analyser, modifier et abstraire les formats ELF, PE et MachO.

Fonctionnalités principales :

  • Analyse (Parsing) : LIEF peut analyser ELF, PE, MachO, COFF, OAT, DEX, VDEX, ART et fournit une API conviviale pour accéder à leurs internes.
  • Modification : LIEF peut être utilisé pour modifier certaines parties de ces formats (ajouter une section, changer le nom d'un symbole, ...)
  • Abstraction : Les trois formats ont des caractéristiques communes comme les sections, les symboles, le point d'entrée... LIEF les factorise.
  • API : Vous pouvez utiliser LIEF via C++, Python, Rust, C et Node.js (non officiel, généré par IA)

Fonctionnalités étendues :

  • Runtime
Support DWARF/PDB
  • Métadonnées Objective-C
  • Cache partagé Dyld (Dyld Shared Cache) avec prise en charge de l'extraction des Dylib
  • Désassembleur : AArch64, x86/x86-64, ARM, RISC-V, Mips, PowerPC, eBPF
  • Assembleur : AArch64, x86/x86-64, RISC-V
  • Plugins :

    • Ghidra
    • BinaryNinja

    Sponsors



    Sommaire

    • À propos
    • Téléchargements / Installation
    • Pour commencer
    • Blog
    • Documentation
      • Rust
      • Sphinx
      • Doxygen
      • Tutoriels :
        • Analyser et manipuler les formats
        • Jouer avec les symboles ELF
        • Ressources PE
        • Transformer un exécutable ELF en bibliothèque
        • Comment utiliser frida sur un appareil non rooté
        • Formats Android
        • Modification Mach-O
        • Coredump ELF
        • Authenticode PE
    • Contact
    • À propos
      • Auteurs
      • Licence
      • Bibtex

    Téléchargements / Installation

    C++

    root@kitploit:~
    find_package(LIEF REQUIRED)
    target_link_libraries(my-project LIEF::LIEF)
    

    Rust

    root@kitploit:~
    [package]
    name    = "my-awesome-project"
    version = "0.0.1"
    edition = "2024"
    
    [dependencies]
    lief = "1.0.0"
    

    Homebrew

    root@kitploit:~
    brew install lief
    

    Python

    Pour installer la version la plus récente (release) :

    root@kitploit:~
    pip install lief
    

    Pour installer la version nightly :

    root@kitploit:~
    pip install [--user] --force-reinstall --index-url https://lief.s3-website.fr-par.scw.cloud/latest lief==2.0.0.dev0
    

    Paquets

    • LIEF Extended : https://extended.lief.re (OAuth GitHub)
    • Nightly :
      • SDK : https://lief.s3-website.fr-par.scw.cloud/latest/sdk
      • Wheels Python : https://lief.s3-website.fr-par.scw.cloud/latest/lief
    • v1.0.0 : https://github.com/lief-project/LIEF/releases/tag/1.0.0

    Voici des guides pour installer ou intégrer LIEF :

    • Python
    • Visual Studio
    • XCode
    • CMake

    Pour commencer

    Python

    root@kitploit:~
    import lief
    
    # ELF
    binary = lief.parse("/usr/bin/ls")
    for section in binary.sections:
        print(section.name, section.virtual_address)
    
    # PE
    binary = lief.parse(r"C:\Windows\explorer.exe")
    if (rheader := binary.rich_header) is not None:
        print(rheader.key)
    
    # Mach-O
    binary = lief.parse("/usr/bin/ls")
    if (fixups := binary.dyld_chained_fixups) is not None:
        print(fixups)
    

    Rust

    root@kitploit:~
    use lief::Binary;
    use lief::pe::debug::Entries::CodeViewPDB;
    
    if let Some(Binary::PE(pe)) = Binary::parse(path.as_str()) {
        for entry in pe.debug() {
            if let CodeViewPDB(pdb_view) = entry {
                println!("{}", pdb_view.filename());
            }
        }
    }
    

    C++

    root@kitploit:~
    #include <iostream>
    #include <LIEF/LIEF.hpp>
    
    int main(int argc, char** argv) {
      // ELF
      if (std::unique_ptr<const LIEF::ELF::Binary> elf = LIEF::ELF::Parser::parse("/bin/ls")) {
        for (const LIEF::ELF::Section& section : elf->sections()) {
          std::cout << section.name() << ' ' << section.virtual_address() << '\n';
        }
      }
    
      // PE
      if (std::unique_ptr<const LIEF::PE::Binary> pe = LIEF::PE::Parser::parse("C:\\Windows\\explorer.exe")) {
        if (const LIEF::PE::RichHeader* rheader = pe->rich_header()) {
          std::cout << rheader->key() << '\n';
        }
      }
    
      // Mach-O
      if (std::unique_ptr<LIEF::MachO::FatBinary> macho = LIEF::MachO::Parser::parse("/bin/ls")) {
        for (const LIEF::MachO::Binary& bin : *macho) {
          if (const LIEF::MachO::DyldChainedFixups* fixups = bin.dyld_chained_fixups()) {
            std::cout << *fixups << '\n';
          }
        }
      }
    
      return 0;
    }
    
    

    Documentation

    • Documentation principale
    • Doxygen
    • Rust

    Contact

    • Mail : contact at lief re
    • Discord : LIEF

    À propos

    Auteurs

    Romain Thomas (@rh0main) - Anciennement chez Quarkslab

    Licence

    Apache 2.0.

    Bibtex

    root@kitploit:~
    @MISC {LIEF,
      author       = "Romain Thomas",
      title        = "LIEF - Library to Instrument Executable Formats",
      howpublished = "https://lief.quarkslab.com/",
      month        = "apr",
      year         = "2017"
    }
    
    Télécharger l’outil