Jump to content

VieGG

Ascended
  • Posts

    36
  • Joined

  • Last visited

  • Days Won

    1

Files posted by VieGG

  1. Il2CppGG

    Il2CppGG
    A comprehensive toolkit for inspecting and manipulating Il2Cpp structures within GameGuardian, implemented in Lua.
    Telegram
    Github
     Description
    Il2CppGG is an advanced Lua-based toolkit designed for GameGuardian, enabling detailed analysis and modification of Il2Cpp metadata, classes, methods, fields, types, and objects. It now includes memory hooking capabilities for game modification and reverse engineering, as well as class dumping to C# format.  
    Author: LeThi9GG
     Features
    - Automatic Il2Cpp Version Detection: Supports versions from v22 to v31 with seamless adaptation.
    - Comprehensive Metadata Support: Parse global metadata, including strings, generics, and parameters.
    - Class Inspection: Retrieve class details, fields, methods, and properties; search by name for efficiency.
    - Type System Analysis: Detailed handling of types, including generics, arrays, and value types.
    - Object Manipulation: Locate and modify Il2Cpp objects in memory, with filtering for accuracy.
    - Safe Memory Operations: Read and write memory via GameGuardian for secure interactions.
    - Intelligent Caching: Optimized performance through caching mechanisms.
    - Name-Based Search: Easily locate fields and classes by name without requiring addresses.
    - Memory Hooking (New): Hook methods, parameters, fields, and calls for real-time modifications (from Hook.lua). Supports 32-bit and 64-bit architectures with jump opcodes.
    - Class Dumping (New): Export classes to C# format, including field offsets, method RVAs, and attributes (from Dump.lua).
    - Parameter Handling (New): Manage Il2Cpp parameters with names, tokens, and types (from Param.lua).
     Requirements
    - GameGuardian installed on an Android device.
    - A target application utilizing the Il2Cpp framework.
    - Basic proficiency in Lua programming.
     Installation
    1. Download the [build/Il2CppGG.lua](/build/) file from the repository.
    2. Place it in GameGuardian's scripts directory.
    3. Load the `Il2CppGG.lua` script within GameGuardian.
     Build
    - Execute the `buildLT9.lua` script in GameGuardian to generate `build/Il2CppGG.lua`.
     
    Project Structure
    Il2CppGG/ ├── Androidinfo.lua (Android device information helper) ├── buildLT9.lua (Module bundling build script) ├── Class.lua (Il2Cpp class module) ├── Field.lua (Il2Cpp field module) ├── Il2Cpp.lua (Core module for versioning and utilities) ├── Image.lua (Il2Cpp image/assembly module) ├── init.lua (Development entry point) ├── Meta.lua (Il2Cpp metadata module) ├── Method.lua (Il2Cpp method module) ├── Object.lua (Memory object manipulation) ├── Struct.lua (Version-specific Il2Cpp structures) ├── Type.lua (Il2Cpp type module) ├── Universalsearcher.lua (Metadata and pointer locator) ├── Version.lua (Version detection and structure selection) ├── Param.lua (Parameter operations module) ├── Hook.lua (Memory hooking for modification and reverse engineering) ├── Dump.lua (Class dumping to C# format) ├── test.lua (Usage examples for hooking and dumping) └── build/     └── Il2CppGG.lua (Bundled production script) For general usage, only `build/Il2CppGG.lua` is required. The remaining files support development and contributions.
     Detailed API Documentation
     Core Module (Il2Cpp.lua)
    Handles initialization, versioning, and core utilities.
    require("Il2CppGG") -- Check architecture print("64-bit:", Il2Cpp.x64) print("Pointer size:", Il2Cpp.pointSize) -- Read value from memory local value = Il2Cpp.gV(0x12345678, Il2Cpp.pointer) print("Value at address:", value) -- Read pointer local ptr = Il2Cpp.GetPtr(0x12345678) print("Pointer value:", string.format("0x%X", ptr)) -- Convert UTF-8 string local text = Il2Cpp.Utf8ToString(0x12345678) print("String value:", text)  
     Class Module (Class.lua)
    Represents an Il2Cpp class.
    -- Find class by name local playerClass = Il2Cpp.Class("Player") -- Retrieve information print("Class name:", playerClass:GetName()) print("Namespace:", playerClass:GetNamespace()) print("Instance size:", playerClass:GetInstanceSize()) -- Fields local fields = playerClass:GetFields() print("Number of fields:", #fields) local healthField = playerClass:GetField("health") -- Methods local methods = playerClass:GetMethods() local updateMethod = playerClass:GetMethod("Update", 0)  -- 0 parameters -- Instances local instances = playerClass:GetInstance() print("Number of instances:", #instances)  
     Field Module (Field.lua)
    Represents a field in an Il2Cpp class.
    -- Find field local health = Il2Cpp.Field("health") -- Information print("Field name:", health:GetName()) print("Offset:", health:GetOffset()) print("Type:", health:GetType():GetName()) -- Get/Set value local objAddress = 0x12345678 local val = health:GetValue(objAddress) health:SetValue(objAddress, 100) -- Static fields if health:IsNormalStatic() then     health:StaticSetValue(9999) end  
     Method Module (Method.lua)
    Represents an Il2Cpp method.
    local method = Il2Cpp.Method(0x12345678) print("Method name:", method:GetName()) print("Return type:", method:GetReturnType():GetName()) print("Parameter count:", method:GetParamCount()) local params = method:GetParam() for i, param in ipairs(params) do     print("Parameter " .. i .. ":", param.name, param.type:GetName()) end  
     Type Module (Type.lua)
    Represents an Il2Cpp type.
    local typeObj = Il2Cpp.Type(0x12345678) print("Type name:", typeObj:GetName()) print("Is value type:", typeObj:IsValueType()) print("Is generic instance:", typeObj:IsGenericInstance())  
     Object Module (Object.lua)
    Locates and manipulates objects in memory.
    local players = Il2Cpp.Object:FindObjects(playerClass.address) print("Number of players:", #players)  
     Image Module (Image.lua)
    Represents an Il2Cpp assembly.
    local image = Il2Cpp.Image("Assembly-CSharp") print("Image name:", image:GetName()) local types = image:GetTypes() local player = image:Class("", "Player")  
     Meta Module (Meta.lua)
    Handles global Il2Cpp metadata.
    local str = Il2Cpp.Meta:GetStringFromIndex(123) print("String:", str)  
     Hook Module (Hook.lua) (New)
    Enables memory hooking for modifications.
    -- Hook field via method local lateUpdate = playerClass:GetMethod("LateUpdate") local points = playerClass:GetField("points") local _lateUpdate = lateUpdate:field() _lateUpdate:setValues({{offset = points.offset, flags = "int", value = 9999}}) gg.sleep(10000) _lateUpdate:off() -- Hook method parameters local addPoints = playerClass:GetMethod("addPoints") local _addPoints = addPoints:method() _addPoints:param({{param = 1, flags = "int", value = 999999}}) gg.sleep(10000) _addPoints:off()  
     Dump Module (Dump.lua) (New)
    Dumps classes to C# format.
    local dump = require("Dump") print(dump(playerClass))  -- Outputs C# class representation  
     Advanced Examples
    From test.lua:
    -- Retrieve image local Assembly = Il2Cpp.Image("Assembly-CSharp") -- Class retrieval local PlayerScript = Assembly:Class(nil, "PlayerScript") -- Method/Field local LateUpdate = PlayerScript:GetMethod("LateUpdate") local points = PlayerScript:GetField("points") -- Set field value local obj = PlayerScript:GetInstance() points:SetValue(obj, 1000) -- Dump class print(PlayerScript:Dump()) -- Hooking examples as above  
     Notes
    - This toolkit is intended for educational and research purposes only. Use it responsibly.
    - Certain features may depend on specific Il2Cpp versions.
    - Exercise caution when modifying memory, as it may lead to application instability.
     Author
    LeThi9GG – Specialist in Il2Cpp reverse engineering.
     Contributing
    Contributions, bug reports, and feature requests are welcome. Please refer to the issues page.
     License
    This project is licensed for educational and research use. Respect the terms of service for any analyzed applications.
     
     Full documentation is available on the Wiki
     

    1,939 downloads

       (0 reviews)

    0 comments

    Updated

  2. SlowAES

    slowAES
    slowAES is an open-source library written in Lua that provides encryption and decryption capabilities based on the AES (Advanced Encryption Standard) algorithm.
    Key Features
    - Supports AES key sizes:
      - 128-bit (16 bytes)
      - 192-bit (24 bytes)
      - 256-bit (32 bytes)
    - Supported encryption modes:
      - CBC (Cipher Block Chaining)
      - CFB (Cipher Feedback)
      - OFB (Output Feedback)
    - Includes padding/unpadding mechanisms to ensure data compatibility with AES requirements.
    - Operates independently without external library dependencies.
     
    Usege
     
    Import the library
    local slowAES = require("aes")
     
    Encryption
    local plaintext = { /* Data to encrypt as a byte array */ }
    local key = { /* Encryption key */ }
    local iv = { /* Initialization Vector (IV) */ }
    local mode = slowAES.modeOfOperation.CBC
     
    local ciphertext = slowAES:encrypt(plaintext, mode, key, iv)
     
    Decryption
    local decrypted = slowAES:decrypt(ciphertext, mode, key, iv)
     

    413 downloads

       (0 reviews)

    0 comments

    Submitted

  3. library lua exports global symbols

    Support: 32 bit
    Preferred: libanogs
    Watch my video to see how to use it
     
     

    458 downloads

       (0 reviews)

    0 comments

    Submitted

  4. Lua Obfuscator

    Watch my video to see how to use it
     
     

    809 downloads

       (0 reviews)

    1 comment

    Submitted

  5. Tools DumpCS

    Tools Dump Script Gamegudian
    By name Class, Fields or address in memory
    Watch my video to see how to use it
     
     
     

    1,824 downloads

       (1 review)

    1 comment

    Submitted

  6. Call methods

    Support for 32&64bit
    Watch the video to know how to use it
     
     
    Join my telegram group if you can't download the script here
    https://t.me/LETHICHINGG
     
     

    5,185 downloads

       (0 reviews)

    0 comments

    Updated

  7. Script Template

    This sample makes working with il2cpp a lot easier, I have included examples in the script you can check out.

    1,001 downloads

       (0 reviews)

    0 comments

    Submitted

  8. poniter Tools

    This script helps you find poniter very quickly in less than 1s 
    Watch my video for how to use
     
     
    If you can't download it here, you can go to my telegram group to download it
    https://t.me/LETHICHINGG
     
     

    858 downloads

       (0 reviews)

    0 comments

    Updated

  9. Search offset mod menu

    Watch the video to know how to use it
    https://youtube.com/watch?v=8-FrAYbWd2Q&feature=share8
    Go to my telegram group if you can't download the script here
    https://t.me/LETHICHINGG
     

    4,466 downloads

       (0 reviews)

    0 comments

    Updated

  10. Hook Fields

    I edited the milk from the script of saiaapiz
    32 bit only
    Using
    https://youtube.com/watch?v=shvAPGmtlZs&feature=share8
    Go to my telegram group if you can't download the script here
    https://t.me/LETHICHINGG

    1,168 downloads

       (0 reviews)

    0 comments

    Updated

  11. Unity Game Hack Tool

    Script Only Works With 32 Bit Games,
    Function:
    Speed,
    Giant,
    Padded,
    Fly,
    Climbing,
    Through the wall,
    Watch my video for how to use,
    https://youtu.be/U8ozLeE0A8I
     
     

    2,315 downloads

       (0 reviews)

    0 comments

    Updated

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.