{"id":22890073,"url":"https://github.com/adamhlt/cave-finder","last_synced_at":"2025-05-07T14:46:32.529Z","repository":{"id":46904574,"uuid":"469804435","full_name":"adamhlt/Cave-Finder","owner":"adamhlt","description":"Tool to find code cave in PE image (x86 / x64) - Find empty space to place code in PE files","archived":false,"fork":false,"pushed_at":"2023-08-01T21:04:35.000Z","size":799,"stargazers_count":60,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-08T22:01:26.412Z","etag":null,"topics":["codecave","cpp","pe","winapi","windows","windows-internals"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adamhlt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-14T15:58:16.000Z","updated_at":"2024-12-08T09:56:18.000Z","dependencies_parsed_at":"2022-09-01T07:11:24.050Z","dependency_job_id":null,"html_url":"https://github.com/adamhlt/Cave-Finder","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/adamhlt%2FCave-Finder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhlt%2FCave-Finder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhlt%2FCave-Finder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamhlt%2FCave-Finder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamhlt","download_url":"https://codeload.github.com/adamhlt/Cave-Finder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229620153,"owners_count":18099922,"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":["codecave","cpp","pe","winapi","windows","windows-internals"],"created_at":"2024-12-13T21:58:18.705Z","updated_at":"2024-12-13T21:58:19.246Z","avatar_url":"https://github.com/adamhlt.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n                         ______                    _______           __     \n                        / ____/___ __   _____     / ____(_)___  ____/ /__  _____ \n                       / /   / __ `/ | / / _ \\   / /_  / / __ \\/ __  / _ \\/ ___/\n                      / /___/ /_/ /| |/ /  __/  / __/ / / / / / /_/ /  __/ /\n                      \\____/\\__,_/ |___/\\___/  /_/   /_/_/ /_/\\__,_/\\___/_/\n                                                                        \n                                                                        \n                            Tool to find code cave in PE image (x86 / x64)\n                              Find empty space to place code in PE files\n```\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/language-C%2B%2B-%23f34b7d.svg?style=for-the-badge\u0026logo=appveyor\" alt=\"C++\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/platform-Windows-0078d7.svg?style=for-the-badge\u0026logo=appveyor\" alt=\"Windows\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/arch-x86-red.svg?style=for-the-badge\u0026logo=appveyor\" alt=\"x86\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/arch-x64-green.svg?style=for-the-badge\u0026logo=appveyor\" alt=\"x64\"\u003e\n\u003c/p\u003e\n\n## :open_book: Project Overview :\n\nThis tool help to find code caves in PE images (exe, dll, ...).\n\nRetrieved informations :\n\n- Section whe the cave reside.\n- Size of the cave.\n- Start / End file offset of the cave.\n- Start / End virtual address of the cave\n- Permission on the cave (read / write / execute).\n\nThe program retrieve free space in the file (array of 0x0), in every sections of a PE image. With enough space, you can write a shellcode...\n\nThis project can be compiled for x86 and x64 architecture.\n\n## :rocket: Getting Started :\n\n### Visual Studio :\n\n1. Open the solution file (.sln).\n2. Build the project in Debug / Release (x86 / x64)\n\n### Other IDE using CMAKE :\n\nThis **CMakeLists.txt** should compile the project.\n\n```cmake\ncmake_minimum_required(VERSION 3.0)\nproject(miner)\n\nset(CMAKE_CXX_STANDARD 17)\n\nadd_executable(miner main.cpp)\n```\n\nTested on CLion with MSVC compiler, you can get Visual Studio Build Tools [**here**](https://visualstudio.microsoft.com/fr/downloads/?q=build+tools).\n\n## 🧪 Usage :\n\n### How to use the program :\n\nUse it in the command line :\n\n```shell\nminer.exe \u003csource image\u003e \u003ccode cave size\u003e\n```\n\n### Demonstration :\nhttps://user-images.githubusercontent.com/48086737/158227625-db6beb29-da68-4d90-9438-e737bff332a7.mp4\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamhlt%2Fcave-finder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamhlt%2Fcave-finder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamhlt%2Fcave-finder/lists"}