Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructuring of the project #11

Open
wants to merge 155 commits into
base: master
Choose a base branch
from

Conversation

giladreich
Copy link

@giladreich giladreich commented Aug 26, 2021

One Dockerfile to do it all!

See README.md for further details about this update.

Given that the project is under the GPL-v3 License, I created this PR for you to consider merging to master.

Main motivation behind this; so people who want to learn Angr don't have to go through a long process of installing dependencies and making sure they get it right. Having this current setup in place they can get started with these wonderful CTFs in a minute regardless of the platform they're currently working on.

In case you wonder about the previous modified commits, it's because I removed the dist directory from history to reduce the repository size.

Let me know if you have any questions. I would be happy to help.

saagarjha and others added 29 commits August 25, 2021 17:15
Update py3 compatibility and solutions
These artifacts are duplicated under the solutions directory and should be recompiled in order for the offsets to be different per distribution.
This should be installed manually using Python3, as Angr dropped support for Python2 whilst on the other hand templite only supports Python2 which uses to compile this project.
That being said, for bootstrapping the project use Python2 and for Angr use Python3.
This is not as convenient, but when using virtualenv this is a simple switch.
Apple deprecated x86 architecture a couple of years ago. This project is pretty much unusable on macOS due to `gcc -m32` compiler flags.
These scripts will pretty much bootstrap within minutes the CTFs solutions so that the compiled binaries offsets are unique per candidate.
This prints to stdout unfortunately:
Deprecation warning: Use self.model.get_any_node() instead of get_any_node
Restructuring of the whole project
…sh variables

The `--platform linux/amd64` was added to force the usage of said architecture, support
the dependencies/packages as mentioned in the `Dockerfile` and accomodate the M1 chips
that Apple produces.
Accomodate for the usage on Apple's M1 machines
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants