Game A RAM Monitoring Tool

Job ID: 40575895

Budget: $30 – $250 USD

### Project Description: LoL Automatic Offset Finder Application

**Purpose:**

A desktop application that automatically finds and lists the **dynamic memory offsets** of specific entities (Unit, Missile, Summoner Spell, etc.) in League of Legends, based on the base addresses (DLL Offset) provided externally, whenever game updates (e.g., `Patch 14.1` or `Privates.exe` changes).

#### What Exactly Should It Do?

1. **Input Data:**

- The user can manually enter or read from a file the **base offsets** (e.g., `GameInstance`, `LocalPlayer`, `UnitNoClip`, `MissileList`, `MissileTarget`, etc.) that we will define or fix. - The program should find the **executable offsets** of the following main groups based on these basic offsets:
- **Unit / Object Instance Address**
- **Health / Max Health**
- **Position (X, Y, Z)**
- **Champion Name / ID**
- **Mana / Energy**
- **Visible / HealthBarValid**
- **Missile List Offset** (Important for continuity)
- **Summoner Spell Slot 1–5** (Which confession is active)
- **Victory Icon / Minion Type (Boomerang, Melee, etc.)**
- **Health Bar Valid (Visibility)**
- **Death Recalc (Is it dead or alive?)**

2. **Output Format:**

- It should display all found offsets in a stylish table.
- For each offset: **Name**, **Memory Allocation (Offset)**, **Data Type** (Dword, Float, etc.), and **Current Value** (Today's current value) should be displayed.
- It should be possible to copy all offsets at once to `.txt` or `.json` format using the "Copy to Clipboard" button.

3. **Technical Requirements:**

- Language: C# (.NET) or C++ (Whatever your preference).
- Library: `MemoryReader` (e.g., a lightweight memory manager like `LibreCPU`, `Prettyipsis Library`, or `LoLSharp`).
- Performance: The game should update approximately every **1-2 seconds** without freezing. - Connection Method: `Process.Read()` or `GetModuleBaseAddress("Client.exe")`.

#### What it DOESN'T NEED to do?

- **No Game Logic:** The program shouldn't have logic like "click if minion health < 100".
- **No Cheat Mechanics:** You won't add engine-wide cheat logic like "Auto Attack" or "W on Bush".
- **Data Collection Only:** This tool is only a **data reading and offset extraction** tool. The cheat application will take the offsets extracted from this tool and use them in its own engine.

#### Summary:

> "Write me an 'Offset Scanner' that only gives me the latest offsets, works flawlessly, and has a simple UI. Not a cheat engine, just a database reader."

---

### Extra Tips (For Your Years)

1. **Why Only Offset?**: Because League of Legends shifts the positions (offsets) of variables in `Client.dll` with each update. So, today the `Health` offset might be `0x1F28`, and tomorrow it might be `0x1F30`. You want the tool to automatically detect this change.

2. **Example Offset List (As a Starting Point):**

You can give it an example like this:

> "For example, according to the current known structure:

> - The `Health` offset should be found via the `Unit` base address.

> - The `MissileList` offset should be found via `LocalPlayer`.

> - The `Target` offset of each object in `MissileList` should be found."

3. **Testing:**

When the program runs, you won't need to verify that the offsets are correct before (for example) running the applied cheat. Because you will already provide the offsets. This tool will only prepare for **future updates**.

4. **Listing Format:**

Add this to it:

> "The application should return the offsets it finds in this format:

> `[Offset Name]: [Hex Value]`

> Example:

> `HealthOffset: 0x1F28`

> `PositionOffset: 0x30`

> So that another application of mine (a cheat engine) can read and use this text."