Interesting satuff! I literally just got into all this stuff yesterday, super conplex but I'm determined to work it out as I really want to hack into my favourite childhood game and make it more replayable! So I got hold of the address that stores my money and I can modify it etc, the address doesn't change between sessions so all good but when I set my money to say a value of 15000 then buy something, the value is then capped back again at 9999, I'm guessing in the function it's comparing to a max value then capping it, how would you go about trying to track that max money cap variable down? Thanks so much for your time mate!
You could simply try to freeze the pointer after you change the value (ticking the little box) so that it doesn't decrease. If that fails, future episodes in the this series will look at injecting (patching) code logic 😉
@@intigriti thanks for the reply mate! Yeah could definitely do that although I'm not actually looking for infinite money I just want to raise the max money cap so I can earn more in game legitimately lol also the cap is a signed 16 bit integer it seems as I tried to raise it past 32000 and it just goes into negatives, is all this stuff possible to change? Also looking forward to the next in the series! Thanks man!
I wish so hard to understand the meaning of this but I still can't fully wrap my head around it :s What does the address "Tutorial-x86_64.exe"+325AD0" tell us at 6:23? I mean in this case it is supposedly a base address, but the part that confuses me alot is the +325AD0... is that +325AD0 an offset for the actual base address (Tutorial.exe module) to an address which holds the hex value 0x14DFAE0 and when we convert that 0x14DFAE0 from value to reference type it points to address 0x14DFAE0 which contains our health value? When pressing on "Change pointer", what is actually being changed? The start address location of Tutorial.exe? Because when pressing on "Change pointer" I noticed this +325AD0 didn't change at all, so that must mean Tutorial.exe address changed. I also noticed that CE calculates Tutorial.exe+325AD0 to address 100325AD0 wth? :D Really hope someone can help me :) Also, very good video and thanks so much for this!
Thank you, and great questions! You're right that the .exe is the base of the binary and the +352AD0 is the offset to the health pointer. Essentially that means every time the game loads, the pointer to the health will be at the same offset from the binary. The base address of the binary itself will change (loads at different address when you boot the game), which is why it's important to find that offset from the base. Note, this offset may change when the game is updated! As for the +352AD0 not changing question, the address of Tutorial.exe isn't changing.. what is changing when we click change pointer is a pointer is to the health value is being destroyed then recreated. So the offset 352AD0 doesn't change because the pointer to the health is still in the same location, what's changed is the memory address that the pointer points to, i.e. each time the pointer is created, it returns a new memory address which becomes the location of the health value. "CE calculates Tutorial.exe+325AD0 to address 100325AD0 wth? :D", good point! I think when we select a game, cheat engine basically considers the start of process memory location 0. Hope that makes sense 🙂
@@intigriti Thank you so much for this great answer, I was also digging a bit deeper into the memory subject and found out that virtual memory in contrast to physical memory can be sorted as it fits the program structure best (in this case Tutorial.exe for example always starting at 0x100000000). The thing that was probably causing mayhem in my head that those base addresses were always starting at the same address, but how can they if they're being "randomly" placed in physical memory. And that's where I learned about the virtual memory and paging concept. Thanks man for taking your time to spread knowledge! Definitely subbed.
If the assembler instruction doesn't have anything between a '[' and ']' then use another item in the list. i dont understand this part where i need to find '['and']' what does exactly mean?
I tried pointer mapping in Mindustry but I can't get it to work. No pointer path but yet the address change. Sometimes it does and sometimes it don't. Kept searching for solution and nothing works. It's only been 3 days but still tho. I tried manual, didn't work. Pointer map, no pointers. I even tried to read the code itself. Nothing works. Even the good 'ol cheat table don't work.
@@intigriti Thanks, I tried other games and it works. Mindustry is kinda unique because once I got the pointer. Next time I reopen the game. Even the pointer change. At least I learned something new.
Great video tutorial! How would you approach a game where there are multiple assets in a game like command and conquer (in my case combat mission) the units are generally not the same in each scenario. It seems i would have to make custom scripts for each map I play if that makes any sense. I would most likely have to use pointers on each map since the addresses do change every time I load up the game.
I would recommend checking out the game hacking series by 247CTF - it's not command and conquer but a similar style game and he goes through memory manipulation like this cheat engine series but also network traffic modification, binary patching etc 🙂
@intigriti thank you for pointing out where I should look for more info, ill check it out. At the moment, I'm stuck on finding a way to manipulate some of the attributes in the game. For example, changing the time it takes for artillery to be delivered. It seems to be a big pain in the butt to try and find that timer, lol. I've had some success with the pointers, but it looks l need to keep looking for something more permanent. This time I'll try it with the speed hack thing, I can't wait 9 minutes for the shells to be delivered to try and deduce it from the code lol
i can not save the values after reloading the game????????? just make an easy tutorial creating trainer cheat table and plz easy simple increased damage tutorial plzzzzzzzzzzzzzzzzzzzzzzzz
With a saved pointermap you'll be able to instantly locate the values you want to change, but a new episode focused on creating a trainer cheat table is a good recommendation, thanks!
Hey, you can join our discord @ go.intigriti.com/discord Be warned though, if it's about game hacking I probably won't have the answer, or the time to find out 😆
If possible reduce offsets ? I have a pointer with 15 offsets, if possible to reduce to 7 offsets ? If i search direct with 7, 9, 11 offsets i cant find the pointer.
No, you'd need to trace through all the offsets! Think about it like this: each offset has an address which points to another address. If you skip an offset, you are breaking a link in the chain.
As a script kiddo i really appreciate your work. Absorbing knowledge like a sponge
Thx
Thanks mate, that's great to hear! 🙏🥰
No wonder it didn't work for me, I firstly changed the value to 5000, then clicked active. A real helpful video you've got, thank you mister👏👏
Awesome! Thanks mate 💜
You explained everything I need. Such a legend! Thank you so much! 💪🔥
Great to hear! Thanks mate 😊
Always great to see a new video for this series, thanks!
Thank you! We'll keep them coming 😎
@@intigriti That's what I like to hear :)❤️
Interesting satuff! I literally just got into all this stuff yesterday, super conplex but I'm determined to work it out as I really want to hack into my favourite childhood game and make it more replayable!
So I got hold of the address that stores my money and I can modify it etc, the address doesn't change between sessions so all good but when I set my money to say a value of 15000 then buy something, the value is then capped back again at 9999, I'm guessing in the function it's comparing to a max value then capping it, how would you go about trying to track that max money cap variable down? Thanks so much for your time mate!
You could simply try to freeze the pointer after you change the value (ticking the little box) so that it doesn't decrease. If that fails, future episodes in the this series will look at injecting (patching) code logic 😉
@@intigriti thanks for the reply mate! Yeah could definitely do that although I'm not actually looking for infinite money I just want to raise the max money cap so I can earn more in game legitimately lol also the cap is a signed 16 bit integer it seems as I tried to raise it past 32000 and it just goes into negatives, is all this stuff possible to change?
Also looking forward to the next in the series! Thanks man!
I wish so hard to understand the meaning of this but I still can't fully wrap my head around it :s
What does the address "Tutorial-x86_64.exe"+325AD0" tell us at 6:23?
I mean in this case it is supposedly a base address, but the part that confuses me alot is the +325AD0...
is that +325AD0 an offset for the actual base address (Tutorial.exe module) to an address which holds the hex value 0x14DFAE0 and when we convert that 0x14DFAE0 from value to reference type it points to address 0x14DFAE0 which contains our health value?
When pressing on "Change pointer", what is actually being changed? The start address location of Tutorial.exe?
Because when pressing on "Change pointer" I noticed this +325AD0 didn't change at all, so that must mean Tutorial.exe address changed.
I also noticed that CE calculates Tutorial.exe+325AD0 to address 100325AD0 wth? :D
Really hope someone can help me :)
Also, very good video and thanks so much for this!
Thank you, and great questions! You're right that the .exe is the base of the binary and the +352AD0 is the offset to the health pointer. Essentially that means every time the game loads, the pointer to the health will be at the same offset from the binary. The base address of the binary itself will change (loads at different address when you boot the game), which is why it's important to find that offset from the base. Note, this offset may change when the game is updated!
As for the +352AD0 not changing question, the address of Tutorial.exe isn't changing.. what is changing when we click change pointer is a pointer is to the health value is being destroyed then recreated. So the offset 352AD0 doesn't change because the pointer to the health is still in the same location, what's changed is the memory address that the pointer points to, i.e. each time the pointer is created, it returns a new memory address which becomes the location of the health value.
"CE calculates Tutorial.exe+325AD0 to address 100325AD0 wth? :D", good point! I think when we select a game, cheat engine basically considers the start of process memory location 0.
Hope that makes sense 🙂
@@intigriti Thank you so much for this great answer, I was also digging a bit deeper into the memory subject and found out that virtual memory in contrast to physical memory can be sorted as it fits the program structure best (in this case Tutorial.exe for example always starting at 0x100000000). The thing that was probably causing mayhem in my head that those base addresses were always starting at the same address, but how can they if they're being "randomly" placed in physical memory. And that's where I learned about the virtual memory and paging concept. Thanks man for taking your time to spread knowledge! Definitely subbed.
If the assembler instruction doesn't have anything between a '[' and ']' then use another item in the list. i dont understand this part where i need to find '['and']' what does exactly mean?
i have exactly the same result as the video but i dont find where is this '['and']' im sorry but im noob in CE xD
Can you timestamp me where in the video you are stuck?
been trying to find addresses in ascension to throne
cant find
I tried pointer mapping in Mindustry but I can't get it to work. No pointer path but yet the address change. Sometimes it does and sometimes it don't. Kept searching for solution and nothing works. It's only been 3 days but still tho. I tried manual, didn't work. Pointer map, no pointers. I even tried to read the code itself. Nothing works. Even the good 'ol cheat table don't work.
Good luck 🤞🤞🤞 Hope you are learning some new things along the way!
@@intigriti Thanks, I tried other games and it works. Mindustry is kinda unique because once I got the pointer. Next time I reopen the game. Even the pointer change.
At least I learned something new.
at last, a good video, thank you!!!
Any time! 👊
Great video tutorial! How would you approach a game where there are multiple assets in a game like command and conquer (in my case combat mission) the units are generally not the same in each scenario. It seems i would have to make custom scripts for each map I play if that makes any sense. I would most likely have to use pointers on each map since the addresses do change every time I load up the game.
I would recommend checking out the game hacking series by 247CTF - it's not command and conquer but a similar style game and he goes through memory manipulation like this cheat engine series but also network traffic modification, binary patching etc 🙂
@intigriti thank you for pointing out where I should look for more info, ill check it out. At the moment, I'm stuck on finding a way to manipulate some of the attributes in the game. For example, changing the time it takes for artillery to be delivered. It seems to be a big pain in the butt to try and find that timer, lol. I've had some success with the pointers, but it looks l need to keep looking for something more permanent. This time I'll try it with the speed hack thing, I can't wait 9 minutes for the shells to be delivered to try and deduce it from the code lol
Cryptocat face reveal :000
👀
i can not save the values after reloading the game????????? just make an easy tutorial creating trainer cheat table and plz easy simple increased damage tutorial plzzzzzzzzzzzzzzzzzzzzzzzz
With a saved pointermap you'll be able to instantly locate the values you want to change, but a new episode focused on creating a trainer cheat table is a good recommendation, thanks!
Are you Birdperson from rick and morty? i like you bro
🤣🤣🤣
Bro , how do I contact to you ?
Hey, you can join our discord @ go.intigriti.com/discord
Be warned though, if it's about game hacking I probably won't have the answer, or the time to find out 😆
If possible reduce offsets ? I have a pointer with 15 offsets, if possible to reduce to 7 offsets ? If i search direct with 7, 9, 11 offsets i cant find the pointer.
No, you'd need to trace through all the offsets! Think about it like this: each offset has an address which points to another address. If you skip an offset, you are breaking a link in the chain.
@@intigriti thx u 👍