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.
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
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
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
Phabricator review of the Angr port: https://reviews.freebsd.org/D23935
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
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
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
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
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
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
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
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