Smoker1 Posted October 20, 2023 Posted October 20, 2023 I got the Addresses for Inf Health, Lives, No Hit, Inf Hat Time, and Hat Selection. But when I next run the Game, the Address is different, so will need a Pointer for it. Has anyone looked into this?
nok1a Posted October 22, 2023 Posted October 22, 2023 Yes. You must write script that has the pointer that is responsible for pointing to a new memory address in which your health, time...etc is stored. You could do this by using backwards pointer search. In Unity games this goes quite efficient. Then must place the pointer in a while loop so that the moment the memory address changes of your health the script will automatically find the new memory address. Also if possible provide link to the game. So others can do tests and so that one can be more easily supported. 1
nok1a Posted October 23, 2023 Posted October 23, 2023 On 10/20/2023 at 8:34 AM, Smoker1 said: I got the Addresses for Inf Health, Lives, No Hit, Inf Hat Time, and Hat Selection. But when I next run the Game, the Address is different, so will need a Pointer for it. Has anyone looked into this? Hi i think i misunderstood the question. You ment the values change address when you restart the application. You would need to find a static group search.
Smoker1 Posted October 23, 2023 Author Posted October 23, 2023 6 hours ago, nok1a said: Hi i think i misunderstood the question. You ment the values change address when you restart the application. You would need to find a static group search. Yes. I find the Address that works, and everything is good. However, once I run the Game at a later time, the Addresses are slightly different. Will Message you with the Link. Doubt I could Post it here, due to the nature of the Topic, and the 14.65 MB Limit
nok1a Posted October 24, 2023 Posted October 24, 2023 (edited) 7 hours ago, Smoker1 said: Yes. I find the Address that works, and everything is good. However, once I run the Game at a later time, the Addresses are slightly different. Will Message you with the Link. Doubt I could Post it here, due to the nature of the Topic, and the 14.65 MB Limit The nature of topic is fine but i see what you mean. Can you do a offset calculation -0x16B starting from your inf health value. And see if the value at that address is 1 dword. If so add offset of +0x08 and type qword. Check if there is a pointer. If so goto pointer and make sure UTF-8 is enabled. Then see if you see string name "spotvg"? Edited October 24, 2023 by nok1a Add screenshot 1
Smoker1 Posted October 24, 2023 Author Posted October 24, 2023 24 minutes ago, nok1a said: The nature of topic is fine but i see what you mean. Can you do a offset calculation -0x16B starting from your inf health value. And see if the value at that address is 1 dword. If so add offset of +0x08 and type qword. Check if there is a pointer. If so goto pointer and make sure UTF-8 is enabled. Then see if you see string name "spotvg"? Unfortunately, I can do Switch, PSVita Cheats, but GameGuardian is a little too much for me. I was lucky I was able to figure out the 8Bit, 16Bit, and 32Bit definitions. For me, I am a Noob with this. If there was a more Noob-Friendly Tutorial, I could get it eventually. I used it somewhat with my GPD XD for Pinball Arcade, but thankfully, those Addresses were Static. So for creating Pointers, or Scripts, I have no idea. Thank you for looking into it, but I will need some help.
nok1a Posted October 24, 2023 Posted October 24, 2023 2 hours ago, Smoker1 said: Unfortunately, I can do Switch, PSVita Cheats, but GameGuardian is a little too much for me. I was lucky I was able to figure out the 8Bit, 16Bit, and 32Bit definitions. For me, I am a Noob with this. If there was a more Noob-Friendly Tutorial, I could get it eventually. I used it somewhat with my GPD XD for Pinball Arcade, but thankfully, those Addresses were Static. So for creating Pointers, or Scripts, I have no idea. Thank you for looking into it, but I will need some help. I understand. Please save the code in a lua file and then run the script and provide than a screenshot of the saved list. gg.setRanges(gg.REGION_C_BSS) gg.searchNumber(":spotvg", gg.TYPE_BYTE) local t = gg.getResults(1) gg.clearResults() gg.searchNumber(t[1].address -0x8, gg.TYPE_QWORD) local a = gg.getResults(60) for i, v in ipairs(a) do v.address = v.address -0x8 v.flags = gg.TYPE_DWORD end gg.addListItems(a)
Smoker1 Posted October 24, 2023 Author Posted October 24, 2023 16 minutes ago, nok1a said: I understand. Please save the code in a lua file and then run the script and provide than a screenshot of the saved list. gg.setRanges(gg.REGION_C_BSS) gg.searchNumber(":spotvg", gg.TYPE_BYTE) local t = gg.getResults(1) gg.clearResults() gg.searchNumber(t[1].address -0x8, gg.TYPE_QWORD) local a = gg.getResults(60) for i, v in ipairs(a) do v.address = v.address -0x8 v.flags = gg.TYPE_DWORD end gg.addListItems(a) This is the Result I get. Came up with a Message saying Script Ended.
nok1a Posted October 24, 2023 Posted October 24, 2023 (edited) Oke looking good so far. But can you send screenshot of the saved list. It's where you gave the results a name. On 10/20/2023 at 8:34 AM, Smoker1 said: I Edited October 24, 2023 by nok1a
nok1a Posted October 24, 2023 Posted October 24, 2023 Maby not needed to send screenshot. Can you see if you get your health and life values? gg.setRanges(gg.REGION_C_BSS) gg.searchNumber(":spotvg", gg.TYPE_BYTE) local t = gg.getResults(1) gg.clearResults() gg.searchNumber(t[1].address -0x8, gg.TYPE_QWORD) local a = gg.getResults(60) for i, v in ipairs(a) do v.address = v.address -0x8 v.flags = gg.TYPE_DWORD end gg.loadResults(a) for i = 1, 10 do gg.searchNumber("1", gg.TYPE_DWORD) end local b = gg.getResults(1) local startAddress = b[1].address list = {{address = startAddress + 0x169, flags = gg.TYPE_BYTE, name = "inf lives"}, {address = startAddress + 0x16B, flags = gg.TYPE_BYTE, name = "inf health"}} gg.addListItems(list)
Smoker1 Posted October 24, 2023 Author Posted October 24, 2023 (edited) 8 hours ago, nok1a said: Maby not needed to send screenshot. Can you see if you get your health and life values? gg.setRanges(gg.REGION_C_BSS) gg.searchNumber(":spotvg", gg.TYPE_BYTE) local t = gg.getResults(1) gg.clearResults() gg.searchNumber(t[1].address -0x8, gg.TYPE_QWORD) local a = gg.getResults(60) for i, v in ipairs(a) do v.address = v.address -0x8 v.flags = gg.TYPE_DWORD end gg.loadResults(a) for i = 1, 10 do gg.searchNumber("1", gg.TYPE_DWORD) end local b = gg.getResults(1) local startAddress = b[1].address list = {{address = startAddress + 0x169, flags = gg.TYPE_BYTE, name = "inf lives"}, {address = startAddress + 0x16B, flags = gg.TYPE_BYTE, name = "inf health"}} gg.addListItems(list) OK, now I understand. I just did a Screenshot of what came up. Going to look at what else happens with the Previous Script. With the NEW Script you sent, this is what happens...... I thought I should Edit the Result of the 2 Items, but they did nothing. But they showed the Negative Values first. Even the old Script, the 5 Results shown has Negative Values for 4 of them, and the 5th one is 0, but changes to 1 at times. Edited October 24, 2023 by Smoker1
Smoker1 Posted October 24, 2023 Author Posted October 24, 2023 One thing that I am curious about: Looks very Complicated. Is there a way to do a Memory Dump for 1 Search, then when I search again, do another Memory Dump so a Pointer Scan can be done?
nok1a Posted October 24, 2023 Posted October 24, 2023 (edited) 2 hours ago, Smoker1 said: One thing that I am curious about: Looks very Complicated. Is there a way to do a Memory Dump for 1 Search, then when I search again, do another Memory Dump so a Pointer Scan can be done? the no touch version doesn't work for me. You can do a few dumps and see if you find a static value that has a fixed distance from your desired values but you can't search for a pointer scan by using dumps because as you said, after restart the value is on a different memory location. Unless you find a value and you already know the address at that value is a pointer. 2 hours ago, Smoker1 said: Even the old Script, the 5 Results shown has Negative Values for 4 of them, and the 5th one is 0, but changes to 1 at times. Oke can you use the old script, then go to the saved list and select all values and do offset +0x169 and type byte. which values you get? Edited October 24, 2023 by nok1a added info
Smoker1 Posted October 25, 2023 Author Posted October 25, 2023 8 hours ago, nok1a said: the no touch version doesn't work for me. You can do a few dumps and see if you find a static value that has a fixed distance from your desired values but you can't search for a pointer scan by using dumps because as you said, after restart the value is on a different memory location. Unless you find a value and you already know the address at that value is a pointer. Oke can you use the old script, then go to the saved list and select all values and do offset +0x169 and type byte. which values you get? OK, I think I did what you said, and Checked the Boxes you had Checked, and I got the following...... Last 2 Changes Values
nok1a Posted October 25, 2023 Posted October 25, 2023 (edited) Yeah it's different for you. Not sure if it's because your having the no touch apk or something else. But if value changes address each time you have to use offsets. So you can search for values that don't change and restart the game a few times to see if the distance from the non changable value and the health value remains same. Will take a few tries. It's not practical for me to guess to much what values are static so a screen share or somesort is most suitable by my opinion. Perhaps on discord or something. Edited October 25, 2023 by nok1a
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now