Originally Posted by
MikeRohsoft
My Generic C# Memory Class, just some more Advanced.
It supports now PatternScan and offset reading.
It's also very simple to use, i let suffer GTA a little bit more for you:
Code:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
const int WORLD_OFFSET = 8;
const int LIFE_OFFSET = 0x280;
const int ARMOR_OFFSET = 0x14B8;
const int PLAYER_INFO_OFFSET = 0x10B8;
const int WANTED_LEVEL_OFFSET = 0x0780 + 0x0098;
Memory GTA = new Memory("GTA5");
Console.WriteLine("Game process Id: " + GTA.GetProcessID().ToString("x8").ToUpper());
// UInt64 WorldFlirtPointer = GTA.PointerScan("\x48\x8B\x05\x90\x90\x90\x90\x45\x90\x90\x90\x90\x48\x8B\x48\x08\x48\x85\xC9\x74\x07", "xxx????x????xxxxxxxxx");
UInt64 WorldFlirtPointer = GTA.PointerScan("48 8B 05 ? ? ? ? 45 ? ? ? ? 48 8B 48 08 48 85 C9 74 07");
Console.WriteLine("World FLIRT Address: " + WorldFlirtPointer.ToString("x8"));
UInt64 World = GTA.ReadRelativeAddress(WorldFlirtPointer);
Console.WriteLine("World Address: " + World.ToString("x8"));
UInt64 Player = GTA.Read<UInt64>(World, new int[] { WORLD_OFFSET });
Console.WriteLine("Player Address: " + Player.ToString("x8"));
Console.WriteLine("Health: " + GTA.Read<float>(Player + LIFE_OFFSET).ToString());
Console.WriteLine("Armor: " + GTA.Read<float>(Player + ARMOR_OFFSET).ToString());
Console.WriteLine("Wanted Level: " + GTA.Read<int>(Player + PLAYER_INFO_OFFSET, new int[] { WANTED_LEVEL_OFFSET }).ToString());
GTA.Write<float>(Player + LIFE_OFFSET, 150.0f);
GTA.Write<float>(Player + ARMOR_OFFSET, 50.0f);
GTA.Write<int>(Player + PLAYER_INFO_OFFSET, 5, new int[] { WANTED_LEVEL_OFFSET });
Console.WriteLine("Wanted Level: " + GTA.Read<int>(Player + PLAYER_INFO_OFFSET, new int[] { WANTED_LEVEL_OFFSET }).ToString());
Console.WriteLine("Health: " + GTA.Read<float>(Player + LIFE_OFFSET).ToString());
Console.WriteLine("Armor: " + GTA.Read<float>(Player + ARMOR_OFFSET).ToString());
System.Threading.Thread.Sleep(100000);
}
}
}
VirusTotal
Jotti Malware Scan
MetaDefender
error
Code:
Error 1 The name 'ptrScan' does not exist in the current context