Bug 244562 - Add Angr, the binary analysis platform, to ports
Summary: Add Angr, the binary analysis platform, to ports
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Mateusz Piotrowski
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-02 20:34 UTC by Mateusz Piotrowski
Modified: 2020-03-12 09:23 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mateusz Piotrowski freebsd_committer freebsd_triage 2020-03-02 20:34:12 UTC
This is an issue to track the efforts of porting Angr, the binary analysis platform. It was requested via the WantedPorts site on our wiki.
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-03-02 20:36:39 UTC
A commit references this bug:

Author: 0mp
Date: Mon Mar  2 20:35:53 UTC 2020
New revision: 527649
URL: https://svnweb.freebsd.org/changeset/ports/527649

Log:
  New port: devel/py-archinfo

  archinfo is a collection of classes that contain architecture-specific
  information. It is useful for cross-architecture tools (such as pyvex).

  WWW: https://github.com/angr/archinfo

  PR:		244562

Changes:
  head/devel/Makefile
  head/devel/py-archinfo/
  head/devel/py-archinfo/Makefile
  head/devel/py-archinfo/distinfo
  head/devel/py-archinfo/pkg-descr
Comment 2 commit-hook freebsd_committer freebsd_triage 2020-03-03 00:21:55 UTC
A commit references this bug:

Author: 0mp
Date: Tue Mar  3 00:21:34 UTC 2020
New revision: 527657
URL: https://svnweb.freebsd.org/changeset/ports/527657

Log:
  New port: security/py-pyvex

  PyVEX provides an interface that translates binary code into the VEX
  intermediate represenation (IR).

  WWW: https://github.com/angr/pyvex

  PR:		244562

Changes:
  head/security/py-pyvex/
  head/security/py-pyvex/Makefile
  head/security/py-pyvex/distinfo
  head/security/py-pyvex/files/
  head/security/py-pyvex/files/patch-pyvex__c_Makefile
  head/security/py-pyvex/files/patch-setup.py
  head/security/py-pyvex/files/patch-vex_Makefile-gcc
  head/security/py-pyvex/pkg-descr
Comment 3 commit-hook freebsd_committer freebsd_triage 2020-03-03 00:23:56 UTC
A commit references this bug:

Author: 0mp
Date: Tue Mar  3 00:23:09 UTC 2020
New revision: 527658
URL: https://svnweb.freebsd.org/changeset/ports/527658

Log:
  Hook security/py-pyvex to the build

  PR:		244562

Changes:
  head/security/Makefile
Comment 4 Mateusz Piotrowski freebsd_committer freebsd_triage 2020-03-03 00:36:28 UTC
Phabricator review of the Angr port: https://reviews.freebsd.org/D23935
Comment 5 commit-hook freebsd_committer freebsd_triage 2020-03-05 14:04:21 UTC
A commit references this bug:

Author: 0mp
Date: Thu Mar  5 14:03:19 UTC 2020
New revision: 527833
URL: https://svnweb.freebsd.org/changeset/ports/527833

Log:
  New port: devel/py-minidump

  Python library to parse and read Microsoft minidump file format. Can create
  minidumps on Windows machines using the windows API (implemented with
  ctypes).

  This module is primarily intended to be used as a library, however for the
  sake of demonstrating its capabilities there is a command line tool
  implemented called minidump. This tool has the following modes of
  operation:

  - Console, for one-shot parsing and information retrieval.
  - Shell, where a user may use an interactive command shell to get all info
    (modules, threads, exceptions etc) and browse the virtual memory of the
    process dumped (read/read int/read uint/move/peek/tell)

  WWW: https://github.com/skelsec/minidump

  PR:		244562

Changes:
  head/devel/Makefile
  head/devel/py-minidump/
  head/devel/py-minidump/Makefile
  head/devel/py-minidump/distinfo
  head/devel/py-minidump/pkg-descr
Comment 6 commit-hook freebsd_committer freebsd_triage 2020-03-05 14:25:23 UTC
A commit references this bug:

Author: 0mp
Date: Thu Mar  5 14:24:56 UTC 2020
New revision: 527835
URL: https://svnweb.freebsd.org/changeset/ports/527835

Log:
  New port: devel/py-cle

  CLE loads binaries and their associated libraries, resolves imports and
  provides an abstraction of process memory the same way as if it was loader
  by the OS's loader.

  WWW: https://github.com/angr/cle

  PR:		244562

Changes:
  head/devel/Makefile
  head/devel/py-cle/
  head/devel/py-cle/Makefile
  head/devel/py-cle/distinfo
  head/devel/py-cle/files/
  head/devel/py-cle/files/patch-setup.py
  head/devel/py-cle/pkg-descr
Comment 7 commit-hook freebsd_committer freebsd_triage 2020-03-06 23:41:50 UTC
A commit references this bug:

Author: 0mp
Date: Fri Mar  6 23:41:40 UTC 2020
New revision: 527904
URL: https://svnweb.freebsd.org/changeset/ports/527904

Log:
  New port: math/py-PySMT

  pySMT is a library for SMT formulae manipulation and solving, which makes
  working with Satisfiability Modulo Theory simple.

  Among others, the user can:

  - Define formulae in a solver independent way in a simple and inutitive
    way,
  - Write ad-hoc simplifiers and operators,
  - Dump your problems in the SMT-Lib format,
  - Solve them using one of the native solvers, or by wrapping any SMT-Lib
    complaint solver.

  pySMT provides methods to define a formula in Linear Real Arithmetic (LRA),
  Real Difference Logic (RDL), their combination (LIRA), Equalities and
  Uninterpreted Functions (EUF), Bit-Vectors (BV), and Arrays (A). The
  following solvers are supported through native APIs: MathSAT, Z3, CVC4,
  Yices, CUDD, PicoSAT, and Boolector. Additionally, you can use any SMT-LIB
  2 compliant solver.

  PySMT assumes that the python bindings for the SMT Solver are installed and
  accessible from your PYTHONPATH.

  WWW: http://www.pysmt.org

  PR:		244562

Changes:
  head/math/Makefile
  head/math/py-PySMT/
  head/math/py-PySMT/Makefile
  head/math/py-PySMT/distinfo
  head/math/py-PySMT/pkg-descr
Comment 8 commit-hook freebsd_committer freebsd_triage 2020-03-07 00:00:52 UTC
A commit references this bug:

Author: 0mp
Date: Sat Mar  7 00:00:18 UTC 2020
New revision: 527905
URL: https://svnweb.freebsd.org/changeset/ports/527905

Log:
  New port: math/py-claripy

  Claripy is an abstracted constraint-solving wrapper for Python.

  It is being developed by the Angr project.

  WWW: https://github.com/angr/claripy

  PR:		244562

Changes:
  head/math/Makefile
  head/math/py-claripy/
  head/math/py-claripy/Makefile
  head/math/py-claripy/distinfo
  head/math/py-claripy/pkg-descr
Comment 9 commit-hook freebsd_committer freebsd_triage 2020-03-07 00:48:59 UTC
A commit references this bug:

Author: 0mp
Date: Sat Mar  7 00:48:48 UTC 2020
New revision: 527912
URL: https://svnweb.freebsd.org/changeset/ports/527912

Log:
  New port: devel/py-mulpyplexer

  Mulpyplexer is a piece of code that can multiplex interactions with lists
  of Python objects.

  WWW: https://pypi.org/project/mulpyplexer/

  PR:		244562

Changes:
  head/devel/Makefile
  head/devel/py-mulpyplexer/
  head/devel/py-mulpyplexer/Makefile
  head/devel/py-mulpyplexer/distinfo
  head/devel/py-mulpyplexer/pkg-descr
Comment 10 commit-hook freebsd_committer freebsd_triage 2020-03-08 16:32:05 UTC
A commit references this bug:

Author: 0mp
Date: Sun Mar  8 16:31:19 UTC 2020
New revision: 528053
URL: https://svnweb.freebsd.org/changeset/ports/528053

Log:
  New port: devel/py-itanium_demangler

  The Python Itanium Demangler is a pure Python parser for the Itanium C++
  ABI symbol mangling language. Note that MSVC mangling language is not
  supported.

  This demangler generates an abstract syntax tree from mangled symbols,
  which can be used for directly extracting type information, as opposed to
  having to interpret the C++ source code corresponding to the demangled
  symbol.

  There is also a built-in AST stringifier, so the demangler can be used
  as a replacement for c++filt or for formatting backtraces.

  WWW: https://github.com/whitequark/python-itanium_demangler

  PR:		244562

Changes:
  head/devel/Makefile
  head/devel/py-itanium_demangler/
  head/devel/py-itanium_demangler/Makefile
  head/devel/py-itanium_demangler/distinfo
  head/devel/py-itanium_demangler/pkg-descr
Comment 11 commit-hook freebsd_committer freebsd_triage 2020-03-10 18:35:02 UTC
A commit references this bug:

Author: 0mp
Date: Tue Mar 10 18:34:51 UTC 2020
New revision: 528189
URL: https://svnweb.freebsd.org/changeset/ports/528189

Log:
  New port: security/py-ailment

  AIL is the angr intermediate language.

  It is developed within the angr project.

  WWW: https://github.com/angr/pyvex

  PR:		244562

Changes:
  head/security/Makefile
  head/security/py-ailment/
  head/security/py-ailment/Makefile
  head/security/py-ailment/distinfo
  head/security/py-ailment/pkg-descr
Comment 12 commit-hook freebsd_committer freebsd_triage 2020-03-12 09:13:48 UTC
A commit references this bug:

Author: 0mp
Date: Thu Mar 12 09:13:37 UTC 2020
New revision: 528280
URL: https://svnweb.freebsd.org/changeset/ports/528280

Log:
  New port: security/py-angr

  angr is a platform-agnostic binary analysis framework in a form of a suite
  of Python 3 libraries that let you load a binary and do a lot of cool
  things to it:

  - Disassembly and intermediate-representation lifting
  - Program instrumentation
  - Symbolic execution
  - Control-flow analysis
  - Data-dependency analysis
  - Value-set analysis (VSA)
  - Decompilation

  The most common angr operation is loading a binary:

      p = angr.Project('/bin/bash')

  If you do this in an enhanced REPL like IPython, you can use
  tab-autocomplete to browse the top-level-accessible methods and their
  docstrings.

  angr is brought to you by the Computer Security Lab at UC Santa Barbara,
  SEFCOM at Arizona State University, their associated CTF team, Shellphish,
  the open source community, and @rhelmot.

  WWW: https://github.com/angr/angr

  PR:		244562
  Requested by:	lwhsu@ (via wiki.freebsd.org/WantedPorts)
  Reviewed by:	kaktus (local patches for native_log.c)
  Differential Revision:	https://reviews.freebsd.org/D23935

Changes:
  head/security/Makefile
  head/security/py-angr/
  head/security/py-angr/Makefile
  head/security/py-angr/distinfo
  head/security/py-angr/files/
  head/security/py-angr/files/patch-native_Makefile
  head/security/py-angr/files/patch-native_log.c
  head/security/py-angr/files/patch-setup.py
  head/security/py-angr/pkg-descr