| View previous topic :: View next topic |
| Author |
Message |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Tue Apr 28, 2015 4:23 pm Post subject: How to use this adress |
|
|
Hi,
I am trying to create a trainer for the game GTA 5.
Now, I downloaded a cheat table for it on this forum, and I have a pointer adress of the wanted level in GTA 5. But the problem is, is that I need to code the trainer and need to change the value with this code: WriteInteger("GTA5", &H5005D1A6, ammount)
In &H5005D1A6 needs to be the adress that I want to use. But it doesn't let me put the adress in it! I get a error, and I searched around and I think it is because of that the adress is in 4 bytes and it needs to be in 2 bytes. But I'm not sure, and if it is, how to get it in 2 bytes?
This is the adress: 7FF72B210020
Hope you guys can help me!
-ArthurDev |
|
| Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Tue Apr 28, 2015 4:50 pm Post subject: |
|
|
&H5005D1A6 is the address to which you are writing the integer "ammount"
I guess what you really want is:
WriteInteger("GTA5", &H7FF72B210020, ammount)
If the address you're writing to is 2-bytes, then you need to use a WriteShort() function.
Last edited by Zanzer on Tue Apr 28, 2015 4:52 pm; edited 1 time in total |
|
| Back to top |
|
 |
KéKéCoRe Expert Cheater
Reputation: 0
Joined: 16 Mar 2015 Posts: 101 Location: France - Lorraine - Moselle (57)
|
Posted: Tue Apr 28, 2015 4:52 pm Post subject: Answer ArthurDev |
|
|
Hi, see the screenshot  |
|
| Back to top |
|
 |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Tue Apr 28, 2015 5:17 pm Post subject: |
|
|
Thanks for the replies,
When I try to set the type to 2 bytes nothing happens.. Maybe because I am trying it in a cheating table?
If I try
WriteInteger("GTA5", &H7FF72B210020, ammount)
I get a error, think it is too long? |
|
| Back to top |
|
 |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Tue Apr 28, 2015 5:36 pm Post subject: |
|
|
Seems like you are using the ReadWritingMemory module for VB.
Try this:
| Code: |
'VB.NET code:
Dim ammout As Short = 30000
WriteInteger("GTA5", &H5005D1A6, ammount, 2)
|
If you get any error show it to me please |
|
| Back to top |
|
 |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Tue Apr 28, 2015 5:47 pm Post subject: |
|
|
| DogeMan wrote: | Seems like you are using the ReadWritingMemory module for VB.
Try this:
| Code: |
'VB.NET code:
Dim ammout As Short = 30000
WriteInteger("GTA5", &H5005D1A6, ammount, 2)
|
If you get any error show it to me please |
Yes I am using that, right now I am on my phone will try this out when I am back at my PC What is this As Short = 30000?
Is that what it will be set to? And should &H5005D1A6 work for the pointer that I want to use? And what is the 2 behind it? Thanks! |
|
| Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Tue Apr 28, 2015 6:20 pm Post subject: |
|
|
Short is a 2-byte data type.
I don't believe it is actually necessary in this case because the function is defined to accept an Integer anyway.
The 2 at the end is an optional argument to tell the function how many bytes it should write.
This defaults to 4, because most of the time you're writing a full Integer (4-bytes).
Where did "&H5005D1A6" come from anyway? Was it in an example you found?
That is the address to which it is going to write your value.
You claim the actual game address is "7FF72B210020".
If this is the case, you need to use the value I specified.
However, the function is only defined to use an Integer, and that value is a Long.
You'll need to rewrite the function to properly handle 64-bit addresses.
By the way, I highly doubt "7FF72B210020" is a static address, so that's not going to work. |
|
| Back to top |
|
 |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Wed Apr 29, 2015 4:00 am Post subject: |
|
|
| Zanzer wrote: | Short is a 2-byte data type.
I don't believe it is actually necessary in this case because the function is defined to accept an Integer anyway.
The 2 at the end is an optional argument to tell the function how many bytes it should write.
This defaults to 4, because most of the time you're writing a full Integer (4-bytes).
Where did "&H5005D1A6" come from anyway? Was it in an example you found?
That is the address to which it is going to write your value.
You claim the actual game address is "7FF72B210020".
If this is the case, you need to use the value I specified.
However, the function is only defined to use an Integer, and that value is a Long.
You'll need to rewrite the function to properly handle 64-bit addresses.
By the way, I highly doubt "7FF72B210020" is a static address, so that's not going to work. |
The &H5005D1A6 is just a example, and 7FF72B210020 is a static adress, when I restart my game it still works fine. So how can I get it from a long to a integer? |
|
| Back to top |
|
 |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Wed Apr 29, 2015 12:40 pm Post subject: |
|
|
Edit: I missed the Integer requirement of the function
and i thought that "5005D1A6" is your address, then you said it was just an example.
Here are updated code:
| Code: |
Dim ammout As Integer = 30000
WriteInteger("GTA5", &H7FF72B210020 , ammount, 2)
|
In the line:
| Code: | | Dim ammout As Integer = 30000 |
The number can be anything (it has a limit!!!)
I think that 30000 its enough for almost every situation
P.S make sure your that "7FF72B210020" its your static address and its NOT a pointer!
If its were a pointer you would need to use the WriteDMAInteger() method. |
|
| Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Wed Apr 29, 2015 7:07 pm Post subject: |
|
|
He mentioned in a previous post:
| Quote: | | I get a error, think it is too long? |
I'm assuming he was talking about the address field.
His function may be declared as an Integer instead of IntPTR or Long. |
|
| Back to top |
|
 |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Thu Apr 30, 2015 6:57 am Post subject: |
|
|
| DogeMan wrote: | Edit: I missed the Integer requirement of the function
and i thought that "5005D1A6" is your address, then you said it was just an example.
Here are updated code:
| Code: |
Dim ammout As Integer = 30000
WriteInteger("GTA5", &H7FF72B210020 , ammount, 2)
|
In the line:
| Code: | | Dim ammout As Integer = 30000 |
The number can be anything (it has a limit!!!)
I think that 30000 its enough for almost every situation
P.S make sure your that "7FF72B210020" its your static address and its NOT a pointer!
If its were a pointer you would need to use the WriteDMAInteger() method. |
I've acually found the real pointer, it is this: 02279180
But when I try: WriteInteger("GTA5", &H2279180, ammount)
Nothing happens... |
|
| Back to top |
|
 |
Rissorr Master Cheater
Reputation: 3
Joined: 17 Sep 2013 Posts: 273 Location: Israel!
|
Posted: Thu Apr 30, 2015 9:19 am Post subject: |
|
|
| you have offsets for this pointer? |
|
| Back to top |
|
 |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Thu Apr 30, 2015 3:58 pm Post subject: |
|
|
| DogeMan wrote: | | you have offsets for this pointer? |
I acually have so much pointers, trying to down it but it is still so many.
So, I've acually grabbed a random one, and that one works fine even when I restart the game.
This is the popup of the pointer:
Adress:
28AF69FF14
---------------
Description:
pointerscan result
--------------------
Type
4 Bytes
--------------------
[/] Pointer
--------------------
624 > 28AF69F8F0+624 = 28AF69FF14
0 > [28ADBFC130+0] -> 28AF69F8F0
38 > [28ADBFC110+38] -> 28ADBFC130
8 > [28B2DC7180+8] -> 28ADBFC110
40 > [28B2DE1C60+40] -> 28B2DC7180
"GTA5.exe"+021EF550 -> 28B2DE1C60
--------------------
So I tried do use this:
WriteInteger("GTA5", &H21EF550, ammount)
But nothing happens when I test this.
But when I search for the pointer in all those other pointers, more then 3/4 is leading to this pointer. |
|
| Back to top |
|
 |
ArthurDev How do I cheat?
Reputation: 0
Joined: 28 Apr 2015 Posts: 7 Location: The Netherlands
|
Posted: Sat May 02, 2015 8:17 am Post subject: |
|
|
| Bumb |
|
| Back to top |
|
 |
Zanzer I post too much
Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sat May 02, 2015 10:15 am Post subject: |
|
|
Not sure how you get the base game address using your code, but you need to do this:
| Code: | address = ReadLong("GTA5", 0) 'get the base game address, however you do it
address = ReadLong("GTA5", address + &H021EF550)
address = ReadLong("GTA5", address + &H40)
address = ReadLong("GTA5", address + &H8)
address = ReadLong("GTA5", address + &H38)
address = ReadLong("GTA5", address + &H0)
WriteInteger("GTA5", address + &H624, amount, 2) |
|
|
| Back to top |
|
 |
|