Program used to read the memory contents of an external process in MacOS, specifically the RC4 cipher used by Habbo to encrypt server-client communication. This program is used by G-Earth application to inject/intercept packets in Habbo.
This program is a hard fork of G-Mem.
The software only depends on one library for logging spdlog. This can be installed using various package managers (see repository for more example), here's how to install it with brew:
brew install spdlog
In order to build an executable from the source code, perform the following steps:
- Create a directory to save the executable to:
mkdir build
- Enter the build directory
cd build
- Build using CMake
cmake ..
- Create executable
make
This should generate an executable file at build/g_mem_mac
.
Modern machines running MacOS have a security feature that shields of the memory of processes from other processes. Depending on your machine you may have to disable SIP. Especially for M1 macs it is required to disable SIP.
Turning off SIP allows any program with sudo privileges to modify memory contents of other processes. If you use pirated software, or other unverified apps, DO NOT DO THIS for your own safety! See the following stackoverflow post for some more info: https://apple.stackexchange.com/a/412281.
In order to access the memory contents of the Habbo process, we need to enable some custom flags for the application.
This can be done by running patch_entitlements.sh with as argument the path to the Habbo AIR app.
You can run the script as follows:
sudo sh patch_entitlements.sh "/Users/YOURNAME/Library/Application Support/Habbo Launcher/downloads/air/37/Habbo.app"
- Replace
YOURNAME
with your username.
The build program is ran by G-Earth and attempts to retrieve the memory contents of a running Habbo process. The results, if obtained successfully, are printed to the console, which is then read by the G-Earth process.
The build/g_mem_mac
executable generated in the building step can be renamed to G-Mem
and replace the existing G-Mem
executable in the latest G-Earth release.
Logs are written to the following directory:
/Users/YOURNAME/.g_mem/logs
Please make sure to include your logs if experiencing an issue.