View previous topic :: View next topic |
Author |
Message |
512MB Cheater Reputation: 0
Joined: 07 Apr 2015 Posts: 38
|
Posted: Tue Nov 01, 2016 1:54 pm Post subject: |
|
|
fixed it but still not working for me
<code>
Dim z As String = TextBox1.Text
Try
WriteDMAInteger("ac_client", &H10F418, Offsets:={&HB8, &H360, &HE0, &H5C8, &H29C}, Value:=TextBox1.Text, Level:=1, nsize:=4)
Catch ex As Exception
End Try
</code>
|
|
Back to top |
|
|
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Tue Nov 01, 2016 1:57 pm Post subject: |
|
|
I'm pretty sure that WriteDMAInteger function you found doesn't get the game's base address.
Your second argument, &H10F418, is probably being passed as a static base address.
However, as you can see in question.png, the base address is ac_client.exe+{something}.
CE resolves that address to 00E217F8.
Which means, in this case, you would replace &H10F418 with &HE217F8.
However, that address will continue changing each time you launch the game.
You need to dynamically resolve that address yourself.
Or hopefully your library came with that function as well...
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Tue Nov 01, 2016 2:23 pm Post subject: |
|
|
I downloaded that ReadWritingMemory.vb.
Not that great. I saw better VB scripts somewhere, here on CEF.
_________________
|
|
Back to top |
|
|
Betcha Expert Cheater Reputation: 4
Joined: 13 Aug 2015 Posts: 232 Location: Somewhere In Space
|
Posted: Tue Nov 01, 2016 2:23 pm Post subject: |
|
|
I re-check your last screenshot and that it is float value.
Replace WriteDMAInteger with WriteDMAFloat
|
|
Back to top |
|
|
512MB Cheater Reputation: 0
Joined: 07 Apr 2015 Posts: 38
|
Posted: Tue Nov 01, 2016 3:50 pm Post subject: |
|
|
Not working D:
Code: |
Try
WriteDMAFloat("ac_client", &H10F418, Offsets:={&HB8, &H360, &HE0, &H5C8, &H29C}, Value:="7", Level:=1, nsize:=4)
Catch ex As Exception
End Try
|
Code: |
Dim tp As String = "10"
Try
WriteDMAFloat("ac_client", &H10F418, Offsets:={&HB8, &H360, &HE0, &H5C8, &H29C}, Value:=tp, Level:=1, nsize:=4)
Catch ex As Exception
End Try
|
|
|
Back to top |
|
|
512MB Cheater Reputation: 0
Joined: 07 Apr 2015 Posts: 38
|
Posted: Wed Nov 02, 2016 4:15 am Post subject: |
|
|
Just found out that the problem is some thing with the float value.
Tested another game that had a float value too and didn't work.
Looking in too it right now, if you guys have something that can help please post it here
If i find an answer to this i will post it here.
Thank you!
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 140
Joined: 06 Jul 2014 Posts: 4297
|
Posted: Wed Nov 02, 2016 8:05 am Post subject: |
|
|
Assuming this is the interface:
Code: | Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean |
Then what Zanzer said is correct. The first parameter is the process name and the second is the address. I doubt it will automatically add the second parameter to the base address of the main module.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
512MB Cheater Reputation: 0
Joined: 07 Apr 2015 Posts: 38
|
Posted: Wed Nov 02, 2016 1:54 pm Post subject: |
|
|
ParkourPenguin wrote: | Assuming this is the interface:
Code: | Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean |
Then what Zanzer said is correct. The first parameter is the process name and the second is the address. I doubt it will automatically add the second parameter to the base address of the main module. |
Could you explain that with more text?
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 140
Joined: 06 Jul 2014 Posts: 4297
|
Posted: Wed Nov 02, 2016 3:05 pm Post subject: |
|
|
You're not calling the function properly. The second parameter is the base address the pointer is stored at (not the offset into the module it resides in), the type of the parameter "value" should be single (not string), and the parameter "level" should correspond to the number of offsets provided.
Also, I've seen this on a few forum posts on other sites, but if the author of ReadWritingMemory is stupid enough to try to dereference addresses as floats instead of integers:
Code: | For i As Integer = 1 To Level
lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
Next |
Then that person is a complete moron and you're at fault for blindly using it.
You should be capable of finding all the information you need on Google. However, as mgr.inz.Player suggested, you would be better off using something else.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
512MB Cheater Reputation: 0
Joined: 07 Apr 2015 Posts: 38
|
Posted: Wed Nov 02, 2016 4:57 pm Post subject: |
|
|
ParkourPenguin wrote: | You're not calling the function properly. The second parameter is the base address the pointer is stored at (not the offset into the module it resides in), the type of the parameter "value" should be single (not string), and the parameter "level" should correspond to the number of offsets provided.
Also, I've seen this on a few forum posts on other sites, but if the author of ReadWritingMemory is stupid enough to try to dereference addresses as floats instead of integers:
Code: | For i As Integer = 1 To Level
lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1)
Next |
Then that person is a complete moron and you're at fault for blindly using it.
You should be capable of finding all the information you need on Google. However, as mgr.inz.Player suggested, you would be better off using something else. |
I will search for a new way of hacking games in vb. But i will try one last thing before i give up and that is too change the level to as many offsets that i use.
|
|
Back to top |
|
|
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Wed Nov 02, 2016 5:44 pm Post subject: |
|
|
It has nothing to do with your offsets. It is simply the static address you pass to the function.
Look at the very bottom address in Cheat Engine's pointer.
The line that shows ac_client.exe+whatever.
Take the address you see there on the right, and replace &H10F418 in your script with that.
Your program will now work until you restart the game.
Hope this better explains what you need.
|
|
Back to top |
|
|
512MB Cheater Reputation: 0
Joined: 07 Apr 2015 Posts: 38
|
Posted: Thu Nov 03, 2016 7:00 am Post subject: |
|
|
Thank you, but i have already done that.
Its something with my source code.
|
|
Back to top |
|
|
|