Skip to main content
We welcome contributions to libmem! Whether you’re reporting bugs, suggesting enhancements, or submitting code changes, your help is appreciated.

Reporting Issues

You can contribute by reporting bugs, suggesting enhancements, and improving documentation:
  1. Go to the issues page
  2. Give a descriptive title using this format: [Bug]: Title
  3. Add a detailed description explaining the issue (e.g., “The button on the website has a bright color which makes it hard to see the text”)
  4. Include screenshots if available

Submitting Pull Requests

1

Fork the repository

Fork the libmem GitHub repository to your account.
2

Clone your fork

Clone the forked repository to your local machine:
git clone https://github.com/<your-username>/libmem.git
3

Navigate to the project

cd libmem
4

Follow the coding style

Follow libmem’s coding style as much as you can, especially when aligning code elements.
5

Make your changes

Stage your changes and create a commit:
git add .
git commit -m "<your_commit_message>"
6

Create a branch and push

Create a new branch and push your changes:
git checkout -b your-branch-name
git push origin your-branch-name
7

Submit the pull request

Create a new pull request with a description of what the PR does and how it accomplishes it.
Every commit submitted through a pull request must be under the same license as libmem (GNU AGPLv3.0). When creating new source code files, you must include the license header at the top of the file.

License Template

For new source code files, include this license header commented using the appropriate syntax for your programming language:
 ----------------------------------
|         libmem - by rdbo         |
|      Memory Hacking Library      |
 ----------------------------------

Copyright (C) <year>    <author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

C/C++ Example

/*
 *  ----------------------------------
 * |         libmem - by rdbo         |
 * |      Memory Hacking Library      |
 *  ----------------------------------
 */

/*
 * Copyright (C) <year>    <author>
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License version 3
 * as published by the Free Software Foundation.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

Questions?

Follow libmem’s existing coding style, paying special attention to code alignment and formatting conventions used throughout the project.
All contributions must be submitted under the GNU AGPLv3.0 license, the same license used by libmem.
Yes, when creating new source code files, you must include the license header at the top of the file, commented appropriately for the programming language you’re using.

Build docs developers (and LLMs) love