--- name: awesome-game-security-overview description: Guide for understanding and contributing to the awesome-game-security curated resource list. Use this skill when adding new resources, organizing categories, understanding project structure, or maintaining the README.md format consistency. --- # Awesome Game Security - Project Overview ## Purpose This is a curated collection of resources related to game security, covering both offensive (game hacking, cheating) and defensive (anti-cheat) aspects. The project serves as a comprehensive reference for security researchers, game developers, and enthusiasts. ## Project Structure ``` awesome-game-security/ ├── README.md # Main resource list ├── LICENSE # MIT License ├── awesome-image.webp # Project banner └── scripts/ ├── generate-toc.py # Generate table of contents └── remove-forks.py # Clean up forked repos ``` ## README.md Format Convention ### Category Structure Each category follows this format: ```markdown ## Category Name > Subcategory (optional) - https://github.com/user/repo [Brief description] - https://github.com/user/repo [Another description] ``` ### Link Format - Always use full GitHub URLs - Add brief descriptions in square brackets `[description]` - Use consistent spacing and formatting - Group related resources under subcategories with `>` ### Example Entry ```markdown ## Game Engine > Guide - https://github.com/example/guide [Comprehensive game dev guide] > Source - https://github.com/example/engine [Open source game engine] ``` ## Main Categories 1. **Game Development**: Engines, renderers, networking, physics 2. **Graphics APIs**: DirectX, OpenGL, Vulkan hooks and tools 3. **Cheat/Hacking**: Memory manipulation, injection, bypasses 4. **Anti-Cheat**: Protection systems, detection methods 5. **Reverse Engineering**: Debuggers, disassemblers, analysis tools 6. **Windows Kernel**: Drivers, callbacks, security features 7. **Web3 Security**: Blockchain, smart contracts, DeFi 8. **Emulators**: Windows, Linux, Android, iOS, consoles ## Contributing Guidelines 1. **Check for duplicates** before adding new resources 2. **Verify links** are working and point to original repos 3. **Add descriptions** that clearly explain the resource's purpose 4. **Place in correct category** based on primary functionality 5. **Follow existing format** for consistency ## Quality Criteria - Resource should be actively maintained or historically significant - Should provide unique value not covered by existing entries - Prefer original repos over forks unless fork adds significant value - Include language/platform tags when helpful (e.g., `[Rust]`, `[Unity]`) ## Scripts Usage ### Generate Table of Contents ```bash python scripts/generate-toc.py ``` ### Remove Fork References ```bash python scripts/remove-forks.py ``` --- ## Data Source **Important**: This skill provides conceptual guidance and overview information. For detailed information use the following sources: ### 1. Project Overview & Resource Index Fetch the main README for the full curated list of repositories, tools, and descriptions: ``` https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/README.md ``` The main README contains thousands of curated links organized by category. When users ask for specific tools, projects, or implementations, retrieve and reference the appropriate sections from this source. ### 2. Repository Code Details (Archive) For detailed repository information (file structure, source code, implementation details), the project maintains a local archive. If a repository has been archived, **always prefer fetching from the archive** over cloning or browsing GitHub directly. **Archive URL format:** ``` https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/archive/{owner}/{repo}.txt ``` **Examples:** ``` https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/archive/ufrisk/pcileech.txt https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/archive/000-aki-000/GameDebugMenu.txt ``` **How to use:** 1. Identify the GitHub repository the user is asking about (owner and repo name from the URL). 2. Construct the archive URL: replace `{owner}` with the GitHub username/org and `{repo}` with the repository name (no `.git` suffix). 3. Fetch the archive file — it contains a full code snapshot with file trees and source code generated by `code2prompt`. 4. If the fetch returns a 404, the repository has not been archived yet; fall back to the README or direct GitHub browsing. ### 3. Repository Descriptions For a concise English summary of what a repository does, the project maintains auto-generated description files. **Description URL format:** ``` https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/description/{owner}/{repo}/description_en.txt ``` **Examples:** ``` https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/description/00christian00/UnityDecompiled/description_en.txt https://raw.githubusercontent.com/gmh5225/awesome-game-security/refs/heads/main/description/ufrisk/pcileech/description_en.txt ``` **How to use:** 1. Identify the GitHub repository the user is asking about (owner and repo name from the URL). 2. Construct the description URL: replace `{owner}` with the GitHub username/org and `{repo}` with the repository name. 3. Fetch the description file — it contains a short, human-readable summary of the repository's purpose and contents. 4. If the fetch returns a 404, the description has not been generated yet; fall back to the README entry or the archive. **Priority order when answering questions about a specific repository:** 1. Description (quick summary) — fetch first for concise context 2. Archive (full code snapshot) — fetch when deeper implementation details are needed 3. README entry — fallback when neither description nor archive is available