Skip to content

A game hacking, cheating, and enhancement tool for multiple emulators, consoles, and PC games

Notifications You must be signed in to change notification settings

CosmoCortney/MungPlex

Repository files navigation

MungPlex

MungPlex is a versatile real-time game hacking and cheating tool, capable of manipulating and enhancing games running on PC, emulators, and real consoles! It allows you to experience and mung up your favorite games in many-sided ways - hence the name MungPlex. Version 2.0.0 has re-implemented all features of the deprecated repository and introduces many new capabilities. You can also join Lawn Meower's Discord server to discuss anything about MungPlex, ask questions or contribute to the project!

image

Before You Proceed

If the app looks off go to Settings, change the UI scale and restart MungPlex.
It might happen for MungPlex to be unable to connect to a game. This may be due to changes to the emulator that make MungPlex incapable of finding the emulated RAM and/or game ID. If this is the case you can reach out to Lawn Meower's Discord server and report any problems.

Even though this tool should not cause any damage to your games or system, it is possible to corrupt savegames and cause bluescreens when messing with PC games and therefore result in data loss. It is always good to have a backup of your savegames and have every opened document and project saved. It is also possible for flashing lights and sudden loud noises to appear when editing random values. Keep this in mind especially if you are easily startled or suffer from epilepsy. Also do not use this tool for cheating online in public sessions/rooms! Only losers do that and you may get banned from your game's network. None of the contributors of this project bear any warranty or responsibility for any damage happening.

MungPlex Wiki

The MungPlex Wiki provides a lot of useful information about MungPlex, hacking techniques, and computer science relevant for hacking games. Please refer to it if you are not sure about the usage of MungPlex or any of its features. If all explanations don't help feel free to reach out to Lawn Meower's Discord server and ask your question. This may also help to improve the wiki for everyone 😊

Table of contents

Features

This is a brief list of all features worth mentioning. Check the wiki for more details.

  • Connection
    • Connect to emulators
      • Mesen (SNES)
      • Project64 (N64)
      • Dolphin (GCN, Triforce, RVL)
      • Cemu (Café)
      • Yuzu (Switch) Experimental!
      • mGBA (GB, GBC, GBA)
      • melonDS (NDS)
      • Lime3DS (CTR)
      • No$psx (PS1)
      • PCSX2 (PS2)
      • RPCS3 (PS3)
      • PPSSPP (PSP)
      • Fusion (Genesis, 32X, Mega-CD)
    • Connect to native applications (PC games)
    • Connect to real consoles
      • USB Gecko (GCN, RVL)
  • Logging
  • Search
    • Cheat/Value searches
      • Data Types
        • Primitives
          • Integers (8, 16, 32, 64 bit) as either signed or unsigned
          • Floats with single and double precision
        • Arrays
          • Supports unsigned integers
          • wildcards
        • Colors
          • RGB888 (RGB)
          • RGBA8888 (RGBA)
          • RGB565
          • RGB5A3
          • RGBF
          • RGBAF
        • String/Text
          • ASCII
          • UTF-8
          • UTF-16 LE
          • UTF-16 BE
          • UTF-32 LE
          • UTF-32 BE
          • Shift-Jis CP932
          • KS X 1001
          • Jis X 0201 Full Width Katakana
          • Jis X 0201 Half Width Katakana
          • ISO-8859-1 - ISO-8859-16
          • Pokémon Gen I English
          • Pokémon Gen I French/German
          • Pokémon Gen I Italian/Spanish
          • Pokémon Gen I Japanese
    • Range Options
      • Define search range
      • Cross-Region searches
      • Decide whether to include executable and read-only ranges
      • Endianness select
      • Region re-reordering
    • Search Options
      • Select counter iteration to compare against
      • Define value alignment
      • Comparison Types
        • Unknown Value
        • Known Value
      • Condition Types
        • Equal
        • Unequal
        • Greater
        • Greater or Equal
        • Lower
        • Lower or Equal
        • Increased by
        • Decreased by
        • Value Between
        • Value Not Between
        • AND
        • OR
      • Accuracy
        • applicable on floats and Colors
      • Cached Searches
      • Searches without undo features
      • Hex integers
      • Case-sensitivity switch for string searches
      • On-screen color picker
  • Testing Results
    • Results List
      • Columns for last results, previous results, difference, and real-time
      • Poke/write either one value to a specific address or to all selected
      • Options to scroll through result pages
      • Define the max. amount of results per page
  • Cheats
    • Custom Lua Functions and Variables
      • Read Functions
        • Boolen, integers (signed or unsigned), floats (single, double)
        • Arrays of integers (signed or unsigned), floats (single, double)
      • Write Functions
        • Boolen, integers (signed or unsigned), floats (single, double)
        • Tables of integers (signed or unsigned), floats (single, double)
      • RAM Fill and Slide
        • integers (signed or unsigned), floats (single, double)
      • Logging
        • Text, boolean integers (signed or unsigned), floats (single, double)
      • Range Check
      • Memory Copy
      • Registers
        • 32 for each, integer, number and bool
        • Get Module Addresses
    • Managing Cheat Lists
    • Convert old school cheats to Lua
      • GCN Action Replay
    • Cheat Control
      • Whether to take cheats from list or text field
      • Define execution rate
  • Pointer Search
    • Memory Dump select
    • Cross-region scans
    • Up to 4 layers
    • Memory Dumpung
  • Watch & Control
    • List items to watch and control values
    • Supported View Types
      • Integral: Int (8, 16, 32, 64 bit. Signed and unsigned)
        • Slider in Write Mode
        • Histogram plotting in Read Mode
      • Float: Signle, Double
        • Slider in Write Mode
        • Graph plotting in Read Mode
      • Boolen
      • DIP Switch
    • Switch between Read and Write mode individually
  • Device Control
    • Create lists of devices to be controlled by games and vice versa!
    • Supported Devices
      • Lovense Toys
    • Data Conversion
      • Convert Endiannesses
      • Convert Float <-> Int
      • Convert between color types
      • View Text in different encodings as hex
    • Memory Viewer
      • Just a simple memory viewer
      • Open up to 16 instances at once
    • Process Information
      • Display Game/Process Information
      • Display Process Regions
      • Display Process Modules
    • Settings
      • Save many preferences

    Releases

    Find the latest release here

    Downloading the project's source code

    • Clone the project using git
    • Init all (nested) submodules using git submodule update --init --recursive
    • Then update all submodules using git pull --recurse-submodules

    Compiling and Deployment

    • update the C++ redistrubutable (preferable through Visual Studio 2022)
    • install vcpkg if not done already
    • use vcpkg to install the following packages (vcpkg install xxx:x64-windows):
      • glfw3
      • lua
      • sol2
      • boost
      • nlohmann-json
      • discord-game-sdk
    • open your IDE as administrator
    • in Visual Studio open the project with the "Open as local folder" option or in VSCode, Rider as a cmake project
    • run cmake. It will download some source files and libraries that are not available on GitHub or not properly maintained. If cmake fails run it again (press CTRL + S). IDK why it fails first
    • set main.cpp as startup item (VS: right click, Set as startup item)
    • compile
    • if you get compiler is out of heap space errors, reduce the amount of cores/threads and/or RAM the compiler uses
    • copy the resources folder to the exe-containing folder (release build only)
    • copy imgui.ini of the previous release to the exe-containing folder (release build only)

    Special Thanks