Angr + Notebook Docker

Try angr with Jupyter Notebook using this dockerfile.

Use my dockerfile:

Dockerfile
FROM --platform=linux/amd64 ubuntu:18.04
RUN apt update && apt install -y python3-pip
RUN pip3 -q install pip --upgrade
RUN pip3 install jupyter
RUN apt install -y git graphviz
# Install angr/dev in GitHub
RUN git clone https://github.com/angr/angr-dev && cd angr-dev && ./setup.sh -i -e angr
RUN cd angr-dev && git clone https://github.com/axt/bingraphvis && pip3 install -e ./bingraphvis/ && git clone https://github.com/axt/angr-utils && pip3 install -e ./angr-utils/

WORKDIR src/
COPY . .
CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]

1

Build docker image

Make a new directory and put the snippet in a file called Dockerfile.

mkdir angr-notebook && cd angr-notebook
touch Dockerfile

Build the docker image with the following command:

docker build -t angr-notebook .

2

Run container

Run a docker container, forwarding jupyter notebook server to the host with the following command:

docker run --platform=linux/amd64 -p 8888:8888 -d whexy/angr_notebook

3

Login Jupyter notebook

Visit http://localhost:8888 in your browser. You should see the Jupyter notebook server. You should provide a token to login in.

The token can be checked with the following command (replace the <container_id> with the real container id):

docker inspect <container_id>

4

Enjoy!