vagd.virts.cogd
Classes
Module Contents
- class vagd.virts.cogd.Cogd(binary: str, containerhome: str, cogd_type: str, lockfile: str, image: str = DEFAULT_IMAGE, user: str = DEFAULT_USER, forward: Dict[str, int] | None = None, packages: List[str] | None = None, symbols: bool = True, rm: bool = True, ex: bool = False, fast: bool = False, alpine: bool = False, **kwargs: Any)
Bases:
vagd.virts.shgd.ShgdContainer virtualization for pwntools- Parameters:
binary – binary to execute
containerhome – home directory of container runtime
lockfile – lockfile of container runtime
cogd_type – type of container tool
image – docker base image
user – name of user on docker container
forward – Dictionary of forwarded ports, needs to follow docker api format: ‘hostport/(tcp|udp)’ : guestport
packages – packages to install on the container
symbols – additionally install libc6 debug symbols (also updates libc6)
ex – if experimental features, e.g. alpine, gdbserver should be enabled
rm – remove container after exit
alpine – if the conainter is alpine (also autochecks image name)
fast – mounts libs locally for faster symbol extraction (experimental) NOT COMPATIBLE WITH ALPINE
kwargs – parameters to pass through to super
- _image: str
- _name: str
- _user: str
- _port: int
- _packages: List[str]
- _client: docker.DockerClient | podman.PodmanClient
- _id: str
- _containerdir: str
- _dockerfile: str
- _has_not_apt: bool
- _rm: bool
- _ex: bool
- _forward: Dict[str, int]
- _symbols: bool
- _template: str
- _containerhome: str
- _lockfile: str
- _type: str
- VAGD_PREFIX = 'vagd-'
- DEFAULT_USER = 'vagd'
- DEFAULT_PORT = 2222
- DEFAULT_IMAGE = 'ubuntu:noble'
- DEFAULT_PACKAGES = ['gdbserver', 'python3', 'sudo', 'openssh-server']
- _create_dockerfile()
- _create_container_instance()
- _build_image()
- _vm_setup() None
pass
- _vm_create()
- abstractmethod _client_setup() Any