Torna agli aggiornamenti
New releaseJul 21, 2026

angr v9.3.0

Una potente e intuitiva piattaforma di analisi binaria!

Condividi

angr

Ultima release Versione Python Statistiche PyPI Licenza

angr è un framework di analisi binaria indipendente dalla piattaforma. È realizzato da il Computer Security Lab dell'UC Santa Barbara, SEFCOM dell'Arizona State University, il loro team CTF associato, Shellphish, la comunità open source e @rhelmot.

Collegamenti del progetto

Homepage: https://angr.io

Repository del progetto: https://github.com/angr/angr

Documentazione: https://docs.angr.io

Documentazione API: https://docs.angr.io/en/latest/api.html

Cos'è angr?

angr è una suite di librerie Python 3 che ti consente di caricare un binario e fare molte cose interessanti con esso:

  • Disassemblaggio e sollevamento della rappresentazione intermedia
  • Strumentazione del programma
  • Esecuzione simbolica
  • Analisi del flusso di controllo
  • Analisi delle dipendenze dai dati
  • Analisi degli insiemi di valori (VSA)
  • Decompilazione

L'operazione più comune con angr è caricare un binario: p = angr.Project('/bin/bash') Se lo fai in un REPL potenziato come IPython, puoi usare il completamento con tab per esplorare i metodi accessibili dal livello superiore e le loro docstring.

La versione breve di "come installare angr" è mkvirtualenv --python=$(which python3) angr && python -m pip install angr.

Esempio

angr fa molte cose di analisi binaria. Per iniziare, ecco un semplice esempio di utilizzo dell'esecuzione simbolica per ottenere una flag in una sfida CTF.

import angr

project = angr.Project("angr-doc/examples/defcamp_r100/r100", auto_load_libs=False)

@project.hook(0x400844)
def print_flag(state):
    print("FLAG SHOULD BE:", state.posix.dumps(0))
    project.terminate_execution()

project.execute()

Avvio rapido

Categorie