Skip to content
Public template

About

Android Mod Menu Template based on LGL Mod Menu

Topics

Resources

Stars

59 stars

Watchers

2 watching

Forks

Repository files navigation

Mod Preview

R3DNETWORKID Android Template

This project is based on LGL Mod Menu. Since the original project is no longer actively maintained, We have made several modifications, including:

  • UI Changes: Updated the menu interface.
  • New Modules: Added additional modules to extend functionality.
  • Obfuscation:
    • Integrated BlackObfuscator for enhanced code obfuscation.
    • Added LSParanoid to provide string encryption for securing sensitive text data.

Prerequisites

Before we can jump head first into working a template, we need to go over a few things.

  • AN EXPERIENCED MODDER You should be able to mod any games in general, like modifying .so files, dll files, smali files, etc.
  • Android Studio, i don't think this project could compile on android software like AIDE
  • Basic knowledge of smali dalvik opcodes to modify smali
  • Basic knowledge ARM and ARM64 assembly, to be able to patch hex (No need x86)
  • Basic knowledge of C++ and java (JNI is optional)
  • Be able to write hook function in C++ (Not really needed, but recommended if you want to do advanced modding in the future)
  • Basic awareness of how Android layout works in XML and Java. This project only use Java for layout but you will learn it easly
  • Time and patience: Don't start working on this if you have deadlines or important work. Take your time to read, learn and get used to work with this project.
  • DIY (Do it yourself): Yes, you must be able to do things yourself, not depending being spoonfeed. We are not the teachers.
  • An inquisitive mind

We are not babysitters for naive, lazy, pathetic children... Grow up. Read and learning by yourself is mandatory!

Note

Starting from version 1.3, Il2cppResolver has been replaced with UnityResolve to offer more extensive API support and improved functionality.

New feature suggestions or bugs can be commit as issues.

Menu Layout

Note

Starting from version 2, the menu has a single layout built, a floating bubble that opens a panel with a tab sidebar on the left and feature cards on the right. The LGL layout and the build flavors were removed from this version, it's hard to maintenance lol

if you prefer using the old one, consider to choose v1 branch

Features are declared in Menu/FeatureModule.cpp. Each ITab becomes a sidebar entry, and an ICollapse opens its children as a sub-page, "Why is it different from the LGL implementation?" Sometimes I forget how to implement a widget when the parameters differ.

Widget::Add(ITab(OBFUSCATE("Visuals"), OBFUSCATE("eye"), {
        ITab::Child(ISwitch(1, OBFUSCATE("ESP"), OBFUSCATE("Shown when tapping the ? badge"))),
        ITab::Child(ICollapse(OBFUSCATE("Crosshair Settings"), {
                ICollapse::Child(ISlider(3, OBFUSCATE("Crosshair Size"), 10, 100)),
        })),
}));

Tab icons: grid, hex, bell-off, wand, shield, eye, target, user, bolt, gear, info, star, gamepad, sword. Widgets added outside an ITab go into a "General" tab, and a "Settings" tab is added automatically with a "Save settings" switch (restores your last values on the next start), the credit line and app info.

Colors, sizes and fonts live in components/Theme.java.

How to use

To enable and display a floating menu in your target app, follow these steps:

1. Request Permission for Floating Menu

To allow your target app to draw a floating menu overlay on top of other apps, add the following permission to your AndroidManifest.xml file:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

This permission is required for overlaying UI elements, such as a floating menu, across other applications.

2. Register the Service to Show the Menu

To activate the floating menu, declare a service in AndroidManifest.xml to your targer app. This service will handle the display and lifecycle of the floating menu:

<service android:name="com.android.support.Launcher" android:enabled="true" android:exported="true" android:stopWithTask="true" />

3. Call the Loader class

To integrate and initialize the floating menu loader, add the following code in the onCreate method within UnityPlayerActivity.smali. If your target app uses a custom launcher activity, locate it in AndroidManifest.xml and insert the code in that activity’s onCreate method instead.

invoke-static {p0}, Lcom/android/support/Loader;->Start(Landroid/content/Context;)V

If you prefer not to use Remap , simply call this method:

invoke-static {p0}, Lcom/android/support/Main;->Start(Landroid/content/Context;)V

Customizing Fonts

You can integrate custom fonts into your project using a C array. To generate the required font data, you can use a hexadecimal editor such as ImHex.

1. Exporting the Font

To export a font, follow these steps:

  1. Load the .ttf font file into ImHex.
  2. Navigate to the File tab and select Export.
  3. Choose Text Formatted Bytes -> C Array.
  4. Save the exported data as a .h file.

2. Importing the Font into Your Project

  1. Copy the exported .h font file to the Includes/Fonts/ directory.
  2. Open Menu/JNILoader.cpp and include your font header in Includes/Fonts/.
  3. Locate the JNILoader::LoadFontData method and modify it to use the newly exported font.

Example: Modifying LoadFontData

jbyteArray JNILoader::LoadFontData(JNIEnv *env, jobject thiz, jobject ctx) {
    // Create a byte array in Java to hold the font data
    jbyteArray fontData = env->NewByteArray(std::size(font));

    // Populate the byte array with the embedded font data
    env->SetByteArrayRegion(fontData, 0, std::size(font), (jbyte*)font);

    return fontData;  // Return the font data as a byte array
}

3. Updating the Font Variable

Replace the font variable in the code above with the array from your exported font file. This ensures that the custom font is correctly loaded and utilized in the project.

4. Enabling the Font in the Menu

The menu uses the system sans-serif font by default. Set Theme.USE_CUSTOM_FONT = true in components/Theme.java to use the font returned by LoadFontData.

Project

Credits

Suggestions

If you have any questions or requests related to this project, feel free to open an issue.

Disclaimer

This project is for Educational Use only. We do not condone this project being used to gain an advantage against other people. This project was made for fun.

We strongly refrain you from buying any source codes on Telegram even if the author can be trusted, there is always a risk getting scammed. We will not be responsible for that. This project is always FREE to use

About

Android Mod Menu Template based on LGL Mod Menu

Topics

Resources

Stars

59 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages