{"id":17015425,"url":"https://github.com/plusls/pwn-docker-environment","last_synced_at":"2025-07-03T14:34:32.445Z","repository":{"id":110306362,"uuid":"241074491","full_name":"plusls/pwn-docker-environment","owner":"plusls","description":"Debug pwn in docker, no need for virtual machines","archived":false,"fork":false,"pushed_at":"2022-04-06T05:23:11.000Z","size":4985,"stargazers_count":35,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T13:44:44.683Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plusls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-17T10:01:46.000Z","updated_at":"2024-09-07T09:29:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f570bb7-bc12-49fd-9891-bd8de7ba1e04","html_url":"https://github.com/plusls/pwn-docker-environment","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plusls%2Fpwn-docker-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plusls%2Fpwn-docker-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plusls%2Fpwn-docker-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plusls%2Fpwn-docker-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plusls","download_url":"https://codeload.github.com/plusls/pwn-docker-environment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244986522,"owners_count":20543027,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T06:28:38.502Z","updated_at":"2025-03-22T16:31:13.494Z","avatar_url":"https://github.com/plusls.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pwn-docker-environment\n\nDebug pwn in docker, no need for virtual machines\n\n\n\n## Introduction\n\nDid you debug pwn in a virtual machine?\n\nAre you still worried about the virtual machine taking up too much hard disk?\n\n![1.png](readme/1.png)\n\nTry this!\n\nJust need to install the basic libraries in docker, you can debug the program as usual!\n\nThe docker image will take up very little space.\n\n![2.png](readme/2.png)\n\n\n\n## Quick Start\n\n### Linux\n\n1. Install docker and docker-compose pwndbg\n\n2. Add your user to docker group.\n\n3. Install requirements:\n\n   ```bash\n   pip3 install pwntools --user\n   ```\n\n4. Install pwn-docker-environment.\n\n   ```bash\n   git clone https://github.com/plusls/pwn-docker-environment.git\n   cd pwn-docker-environment\n   docker-compose up -d\n   ```\n\n5. Run test script\n\n   ```bash\n   cd binary\n   python3 test.py\n   ```\n\n### Screenshot\n\n1. wsl2 + tmux\n\n    ![3.png](readme/3.png)\n\n2. wsl2 + windows terminal\n\n    ![windows-terminal.jpg](readme/windows-terminal.jpg)\n\n\n### Tips\n\n1. You can link `docker_debug.py` to `~/.local/lib/{python_version}/site-packages/docker_debug.py`\n\n   ```bash\n   ln -s ~/pwn-docker-environment/docker_debug.py ~/.local/lib/{python_version}/site-packages/docker_debug.py\n   ```\n\n2. You can add `cp-pwn` script to `~/.local/bin` to quick copy binary to docker\n\n   example:\n\n   ```bash\n   #!/bin/bash\n   cp -r $1 ~/pwn-docker-environment/binary/.\n   ```\n\n   You can use it like this:\n\n   ```bash\n   cp-pwn ./mybinary\n   ```\n   \n   You also can add alias in `.bashrc`\n\n   ```bash\n   alias cp-pwn='_cp_pwn(){ if [ ! -n \"$1\" ] ;then echo \"cp-pwn \u003cfilename\u003e\";else cp -r $1 ${HOME}/pwn-docker-environment/binary/.; fi}; _cp_pwn'\n   ```\n\n3. When use windows terminal with wsl2, you can add config to `~/.config/pwn.conf`\n\n    ```\n    [context]\n    terminal=['wt.exe', '-w', '0', 'split-pane', 'wsl.exe', '-e']\n\n    [update]\n    interval=never\n    ```\n\n3. When use tmux, you can add config to `~/.config/pwn.conf`\n\n    ```\n    [context]\n    terminal=['tmux', 'splitw', '-h']\n\n    [update]\n    interval=never\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplusls%2Fpwn-docker-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplusls%2Fpwn-docker-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplusls%2Fpwn-docker-environment/lists"}