garena in i put turkey addies two
Printable View
C0DERIN better make release more usefull shit like this:
#define cPlayer_ADR 0x9CF0E0Code:
class ClassP
{
public:
char cName[16]; //0x0000
char _0x0010[256];//0x0010
DWORD dwTeam; //0x0110
DWORD nope; //0x0114 mistace while reversing
char _0x0118[652];
D3DXVECTOR3 Cords; //0x03A4
char _0x03B0[16];
DWORD dwHealth; //0x03C0
DWORD dwAP; //0x03C4
char _0x03C8[308];
};//Size=0x04FC
ClassP* Return_User(int Index)
{
if(Index > 16)
return 0;
DWORD Base = Player_EX_Class;
DWORD Size = Index_Player;
ClassP *pPlayer2 = (ClassP*)(Base + (Index_Player*(Index-1)));
return pPlayer2;
}
#define Index_Player 0x468
Its for Twowar ^^ but struct should be nearly same on Garena ,just need to update the base :D
this is the real code for memory hack
Code:Class MemoryClass
Code:Private GameProc As String = ""
Private Function OpenGame() As IntPtr
If System.Diagnostics.Process.GetProcessesByName(GameProc).Length = 1 Then
Return System.Diagnostics.Process.GetProcessesByName(GameProc)(0).Handle
End If
Return New IntPtr(0)
End Function
Public Enum ProcessAccessFlags As UInteger
All = &H1F0FFF
Terminate = &H1
CreateThread = &H2
Operation = &H8
Read = &H10
Write = &H20
DupHandle = &H40
SetInformation = &H200
QueryInformation = &H400
Synchronize = &H100000
End Enum
<Runtime.InteropServices.DllImport("kernel32.dll")> _
Private Shared Function OpenProcess(dwDesiredAccess As ProcessAccessFlags, <Runtime.InteropServices.MarshalAs(Runtime.InteropServices.UnmanagedType.Bool)> bInheritHandle As Boolean, dwProcessId As Integer) As IntPtr
End Function
<Runtime.InteropServices.DllImport("kernel32.dll")> _
Private Shared Function CloseHandle(hObject As IntPtr) As Boolean
End Function
<Runtime.InteropServices.DllImport("kernel32.dll")> _
Private Shared Function ReadProcessMemory(hProcess As IntPtr, lpBaseAddress As IntPtr, <Runtime.InteropServices.In, Runtime.InteropServices.Out> buffer As Byte(), size As UInt32, ByRef lpNumberOfBytesWritten As IntPtr) As Int32
End Function
<Runtime.InteropServices.DllImport("kernel32.dll")> _
Private Shared Function WriteProcessMemory(hProcess As IntPtr, lpBaseAddress As IntPtr, <Runtime.InteropServices.In, Runtime.InteropServices.Out> buffer As Byte(), size As UInt32, ByRef lpNumberOfBytesWritten As IntPtr) As Int32
End Function
Public Function Process_Handle(ProcessName As String) As Boolean
GameProc = ProcessName
If System.Diagnostics.Process.GetProcessesByName(ProcessName).Length = 1 Then
Return True
End If
Return False
End Function
#Region "Write Stuff"
Public Sub WriteString(Address As Integer, Text As String, Optional Length As Integer = -1)
If Length = -1 Then
Length = Text.Length
End If
Dim Buffer As Byte() = New System.Text.ASCIIEncoding().GetBytes(Text)
Dim Zero As IntPtr = IntPtr.Zero
WriteProcessMemory(OpenGame(), New IntPtr(Address), Buffer, CUInt(Length), Zero)
End Sub
Public Sub WriteInt(Address As Integer, Value As Integer)
Dim buffer As Byte() = BitConverter.GetBytes(Value)
Dim R As IntPtr
WriteProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(4), R)
End Sub
Public Sub WriteUInt(Address As UInteger, Value As UInteger)
Dim buffer As Byte() = BitConverter.GetBytes(Value)
Dim R As IntPtr
WriteProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(4), R)
End Sub
Public Sub WriteFloat(Address As Integer, Value As Single)
Dim buffer As Byte() = BitConverter.GetBytes(Value)
Dim R As IntPtr
WriteProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(4), R)
End Sub
Public Sub WriteBytes(Address As Integer, ByteArray As Byte())
Dim buffer As Byte() = ByteArray
Dim R As IntPtr
WriteProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(buffer.Length), R)
End Sub
#End Region
#Region "Read Stuff"
Public Function ReadString(Address As Integer, Length As Integer) As String
Dim buffer As Byte() = New Byte(Length - 1) {}
Dim R As IntPtr
ReadProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(buffer.Length), R)
Return New System.Text.ASCIIEncoding().GetString(buffer, 0, Length)
End Function
Public Function ReadInt(Address As Integer) As Integer
Dim buffer As Byte() = New Byte(3) {}
Dim R As IntPtr
ReadProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(4), R)
Return BitConverter.ToInt32(buffer, 0)
End Function
Public Function ReadUInt(Address As UInteger) As UInteger
Dim buffer As Byte() = New Byte(3) {}
Dim R As IntPtr
ReadProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(4), R)
Return BitConverter.ToUInt32(buffer, 0)
End Function
Public Function ReadFloat(Address As UInteger) As Single
Dim buffer As Byte() = New Byte(7) {}
Dim R As IntPtr
ReadProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(4), R)
Return BitConverter.ToSingle(buffer, 0)
End Function
Public Function ReadBytes(Address As Integer, BytesLength As Integer) As Byte()
Dim buffer As Byte() = New Byte(BytesLength - 1) {}
Dim R As IntPtr
ReadProcessMemory(OpenGame(), New IntPtr(Address), buffer, CUInt(buffer.Length), R)
Return buffer
End Function
#End Region
#Region "Pointers"
Public Function BaseAddress(Module_Name As String) As Integer
Try
If System.Diagnostics.Process.GetProcessesByName(GameProc).Length <> 0 Then
For Each [Mod] As System.Diagnostics.ProcessModule In System.Diagnostics.Process.GetProcessesByName(GameProc)(0).Modules
If [Mod].ModuleName = Module_Name Then
Return [Mod].BaseAddress.ToInt32()
End If
Next
Return 0
Else
Return 0
End If
Catch
Console.WriteLine("Base Address Error")
Return 0
End Try
End Function
Public Function Pointers([Module] As String, PointersX As Integer()) As Integer
Dim Base As Integer = BaseAddress([Module]) + PointersX(0)
Dim Runner As Integer = ReadInt(Base) + PointersX(1)
Dim i As Integer = 2
While i <> PointersX.Length - 2
Runner = ReadInt(Runner) + PointersX(i)
i += 1
End While
Return Runner
End Function
#End Region
End Class
credit by jorndel
Hey, so, do i put these codes into HERE ? see SS.
Seriously ? I'm not so clear with the one where you find the pointer part, can explain abit detailed ? :D because, u already saved the pointer at ur PC, and i think u should make how do u make the pointer scan step by step. Thanks :D
Hi please can you answer me
About that codes I need to open cheat engine and search with hex those code or what ?
I can't Do One Can you please do the trainer for Us ?
I need help with the pointer part , if we can't open CE when blackshot is running how do we find the offsets? Would anyone be kind enough to post each offsets for each address? It might help many. Or a simple tutorial would do. Thanks
Is this how i do it? Im pretty much stuck at the offset part. I have no idea how to get the offsets but by looking at the video its found using CE .
too fast -_-