VB.Net Pointer

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

TrueBlue

Membre
Sep 25, 2012
8
0
201
Hi,
I don't know French, so im gonna ask my question in English. xD
I need a little help. So, this is my code :

If CheckBox11.Checked = True Then
ElseIf IsProcessRunning("S4Client") = True Then
Try
tmp = ReadLong("S4Client", &H1116340) + Offsets(0)
tmp = ReadLong("S4Client", tmp) + Offsets(1)
tmp = ReadLong("S4Client", tmp) + Offsets(2)
tmp = ReadLong("S4Client", tmp) + Offsets(3)
Coordinate(0) = ReadLong("S4Client", tmp) + &H684
Coordinate(1) = Coordinate(0) + 8
Coordinate(2) = Coordinate(0) + 4

End If

I got my base address and offsets but i can't make the bold area working. i didnt understand &H684 , is there an another offsets ? :/
 

TrueBlue

Membre
Sep 25, 2012
8
0
201
Jul 5, 2010
3,543
0
601
Hi,

I don't know well VB.NET language ... But a quick search over google said that this "&H" means you are using hexadecimal syntax. On last lines, you're adding Coordinate(0) with decimal value 8 or 4. Coordinate(0) is set with a "value + &H684", which is equivalent to "value + [((6*16²) + (8*16) + 4) = 1668]".
 
May 23, 2013
508
0
322
'merica
As Nociif said, they're separated by 4 bytes, therefore you have to add 0x4 to their address and NOT to their value.

Declare a new unsigned long (its a System.UINT64 in VB) that's gonna store the address of the first coordinate and then :

Coordinate(0) = ReadLong("S4Client", firstCoordAddr + &H0)
Coordinate(1) = ReadLong("S4Client", firstCoordAddr + &H8)
Coordinate(2) = ReadLong("S4Client", firstCoordAddr + &H4)


For your other problem, are you sure the base in hex in 1234567 ? That would be odd af.
 

TrueBlue

Membre
Sep 25, 2012
8
0
201
As Nociif said, they're separated by 4 bytes, therefore you have to add 0x4 to their address and NOT to their value.

Declare a new unsigned long (its a System.UINT64 in VB) that's gonna store the address of the first coordinate and then :

Coordinate(0) = ReadLong("S4Client", firstCoordAddr + &H0)
Coordinate(1) = ReadLong("S4Client", firstCoordAddr + &H8)
Coordinate(2) = ReadLong("S4Client", firstCoordAddr + &H4)


For your other problem, are you sure the base in hex in 1234567 ? That would be odd af.

Well.. It's actually like this :

27z9rq0.png


After i put it like ( in vb.net ) :

WritePointerInteger("S4Client", &H111634, 0, &H4A, &H4C, &H2C, &H400)

Or

If CheckBox11.Checked = True Then
Dim s4proc As Process() = Process.GetProcessesByName("S4Client")
Dim modules4 As System.Diagnostics.ProcessModule = s4proc(0).MainModule
Dim baseaddr As Long = TextBox1.Text = ReadLong("S4Client", modules4.BaseAddress + &H111634,)
Dim firstadd As Long = ReadLong("S4Client", baseaddr + &H20A)
firstadd = ReadLong("S4Client", baseaddr + &H4A)
firstadd = ReadLong("S4Client", baseaddr + &H4C)
firstadd = ReadLong("S4Client", baseaddr + &H2C)
firstadd = ReadLong("S4Client", baseaddr + 400)
WriteLong("S4Client", baseaddr, 0)
End If

^ It doesn't work aswell..

I'm noob at writing base addy + offsets. T.T
 
Status
Not open for further replies.