hurrican6 / PS4_Cheater

PS4 Cheater
55 stars 50 forks source link

Some address become hidden? #14

Closed Pretinaverse closed 6 years ago

Pretinaverse commented 6 years ago

This is a problem i only have with Horizon Zero Dawn. I don't know if it happens in other games. Let me explain (and maybe you can try yourself if you have the game)

I was trying to find health in horizon zero dawn. I tried float, 2 bytes, 4 bytes, but nothing. Then i did a 4 byte search, using unknown initial value, and then, did several next scan using only changed and unchanged value. At the end, i had 8 addresses. No matter how much i changed my health in game, those 8 addresses were always there. So, those addresses have something to do with health? That is what i thougth. I tried marking the first one, fall from a high altitud... but my hp went down. I tried the second one, the third one, and so on, but my hp always went down. And then, i tried marking all of them at the same time. And it work!! My hp didn't went down anymore. I did more testing and, at the end, only two of the 8 addresses are needed to be locked to freeze health.

6o9xw15

So, here is the problem, or several problems. Or maybe, this is only one big problem. The health is frozen and everything works fine until i teleport to another campfire. If i teleport, the stored codes stop working and my health stops being frozen. In this case 3 things can happen.

  1. The first is that I simply can't find the health address again, unless I restart the game.

  2. And the second is that it becomes possible to find health by searching with float and exact value options.

So, i don't know why this happens. ASLR is locked by jkpatch, so why the addresses suddenly can't be found? And why sometimes i can find the health as a float value and other times i can't? Can be a problem with aslr? Or maybe the game has some internal system of randomization aside from the aslr of the ps4? Or it has something to do with the search method?

If the health sometimes is hidden in horizon zero dawn, is possible that there are addresses in other games hidden as well. Like when i tried to find the experience points in Star Ocean 5. No matter what type of search i did, i wasn't able to find it. But when i searched the exp needed to level up (instead of the accumulated exp until now), i find that right away.

Talixme commented 6 years ago

I think that real problem is with jpatch, if the code is working and you teleport to another place and stop working maybe is because the game take some part of the memory where jpatch is.Some games even is not are updated dont work well even doesnt boot. We really need and update of Jkpatch and after that start testing all this problems and later will be good a debugger too.

Pretinaverse commented 6 years ago

I was thinking the same, that is why i posted the issue there as well. But we cannot discard the posibility that is something related to ps4 cheater, like before when the refresh function messed with the complete memory of the game, and that's why i posted the issue here as well. We need to test this with the tool of zerofox as well, but he hasn't added yet a function to search for an unknown initial value u.u

After all, it's posible that having the values locked while the teleporting is being made is what is messing with the memory.

When you teleport, the game goes to the loading screen. Maybe something happens there while the values are locked.

Talixme commented 6 years ago

I´ll test it with the other app and coment ;)

Pretinaverse commented 6 years ago

I finished my testings.

In the end, the real reason for what sometimes i was unable to find my health, was the search funtion of ps4cheater as well as ps4 trainer utility, because sometimes, the value was fractioned and while i was looking for, let say, 495, the real value was 494,1367.

The only way i had for finding the health value was to made a refresh after changing my health in game.

sin titulo-1

I thought fuzzy search should do the work in cases like this? but even after i tried it, it was just like doing a search with exact value, and didn't peek up this fractioned number, getting always zero results.

The address of health keep changing after i died, though, but i think this is how the game works.

hurrican6 commented 6 years ago

Fuzzy search had been supported in 1.3.1. Please check. For the random address issue of teleportation, as you said, this may be related with the program's behavior of Horizon Zero Dawn, we must find out the root pointer.(Not supported) Thanks!

Pretinaverse commented 6 years ago

I mean, i used fuzzy search, but didn't work. There was no difference in using exact value and fuzzy search. Maybe fuzzy search is not working as it should? Did you check it with float values?

hurrican6 commented 6 years ago

Yes! There is a bug on Fuzzy search. I'll fix it after I come back home. Thanks!

hurrican6 commented 6 years ago

The latest version may fix this problem. Thanks!

Pretinaverse commented 6 years ago

Now i can find health without problems, haha. Fuzzy search it's working perfect. The only thing that remains to be fixed is that, after the first scan, the search type automatically changes to exact value.

Please, see this video in case i didn't explain myself very clear about the problem.

https://youtu.be/RRvuqykRlFA

hurrican6 commented 6 years ago

I'll fix it later, thank you!

Pretinaverse commented 6 years ago

Thanks a lot. I just tested it and now everything works perfect. I'm closing the issue. Thank you so much for putting up with me ;)