Jump to content

Sami1982

Members
  • Posts

    82
  • Joined

  • Last visited

Everything posted by Sami1982

  1. Oh maaaan I was so close to finishing this script lol. Could you please please just fix it for me like you did yesterday and make me happy It's just one small piece left. By the way I've reached my maximum posts for today. I will send you the script tomorrow. Thanks again
  2. Oh i just saw this sorry lol. But it is is resulting in an error
  3. Yes I understand what you mean by offsets 0x4, 0x8, 0xc, 0x10....etc but I don't know how to write it out in the script. Like the syntax and where it should go. Also alot of points are getting skipped (lost in translation lol)....So I will write everything here one shot.... 1) Your script randomly fails sometimes (i.e. it doesn't give the correct address). Why? Is it normal to happen once in a while? 2) When you said "That's why specify the regions as accurate as possible in which you want find the pointers in in or it will already bring issues" Why did I run into this issue? I simply chose the same 3 regions that you had in your script. I chose them in both the emulator and my phone.
  4. Why did I run into this issue? I simply chose the same 3 regions that you had in your script. I chose them in both the emulator and my phone.
  5. Sorry man I am still confused lol. I already have this line: healthPointer[i] = {address = t[i].address, flags = gg.TYPE_DWORD} and I don't understand how to write this out: add the offset from your start address to the address on which you want to perform the pointer search on to get the health value. Sorry if I am asking for a little hand-holding because it's something new and a bit advanced for me
  6. I don't understand this part.....where does this show in your script? Also btw, I just realized even your script sometimes randomly fails...it gives me the incorrect address. Is this normal?
  7. I am really going blind here Lol. Please please help me fix my script and this will be the last thing I ask you for. Honest to God man. d. I noticed in your script you only specified regions in the first line. So could you tell me what I need to add and where to add it to make my script do what your script does?
  8. I also removed the quotes around 256 so now it's like this: if sensitivity[i].value == 256 then but I still just get the same 3 results as show in the video.
  9. Yes it's for personal use. I have specified 3 regions: gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) Yes the value "256" is in REGION_ANONYMOUS. Isn't this okay? Okay even when I fixed it to + 0x8 I still got the same exact thing as in the video.
  10. This should absolutely be the last time I bother you LOL. I got my own nice accurate group search now. And I almost have it down perfectly but I am stuck on the part where I can filter out the remaining addresses to only have 1 address left. I saw a "256D" value 8 bytes down from the pointer. So I tried to do what you did with that "1.0F" value to filter them out but it's not working. I've been racking my brain until I got a headache LOL. In this video the script gets me halfway through to the health value, and the remaining part I did manually. Could you help me bridge the gap in the script to get to the health value? Here is the script I am using: gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) gg.searchNumber("-1,049,624,576A;1,092,616,192A;1,082,130,432A;1,056,964,608A;1,062,333,317A::73", gg.TYPE_DWORD) gg.refineNumber("-1,049,624,576A", gg.TYPE_DWORD) print("Group search: ", gg.getResultsCount()) local grp = gg.getResults(1) gg.loadResults({{address = grp[1].address - 0x88, flags = gg.TYPE_DWORD}}) gg.searchPointer(0) local t = gg.getResults(gg.getResultsCount()) print("First Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local sensitivity = {} for i, v in ipairs(t) do sensitivity[i] = {address = v.address - 0x8, flags = gg.TYPE_FLOAT} end sensitivity = gg.getValues(sensitivity) local healthPointer = {} for i = 1, #sensitivity do if sensitivity[i].value == "256" then healthPointer[i] = {address = t[i].address, flags = gg.TYPE_DWORD} end end You are almost finished with me I PROMISE GG video2.mp4
  11. You nailed it right on the head. My feeling exactly. This forum is so rich and if we just use youtube and google, we feel a scarcity in information and knowledge
  12. Okay okay I finally got it! You dug into deeper pointer "layers" in order to fine tune your group search and make it more accurate, which in turn resulted in needing that third "extra" pointer search while backtracking to find the health value. Makes perfect sense! LOL OMG bro you are amazing! You've literally taught me from scratch a skill I never had. I will be forever in your debt man!
  13. Okay let's see if I can figure out where I am going wrong. I ran your script and got your health value. Then I also ran your group search. Here is your group search results. All addresses start with "B431FBxx" Next, I press on your health value from the saved area, and I press GOTO Then I press on the address which is 4 bytes above it "AC0912E8" and I chose "Goto pointer" I arrive at this list and I scoured the entire list (up and down) and I can't find your block of your group search whose addresses should start with "B431FBxx" What am I doing wrong?
  14. By the way you didn't answer me on this question from the previous page: When I run your script and get the health value, shouldn't I theoretically be able to go to the nearest pointer, which is 4 bytes above your health value and click "go to pointer" and find that block that you used for your group search? I mean since they are static they should appear on my device too just like they did on your 2 devices, right? Well I went up and down the list and I didn't find that block of numbers.
  15. Okay, I am starting to get it lol. Let me squeeze my brain again today and see what I come up with. I really appreciate al your help my friend.
  16. gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) gg.searchNumber("17A;1,075,642,368A;1,900,544A;1,310,728A;589,828A;1,703,957A;1,703,969A;1,376,289A;1,920A;469,762,048A::185", gg.TYPE_DWORD) gg.refineNumber("1,900,544", gg.TYPE_DWORD) print("Group search: ", gg.getResultsCount()) local grp = gg.getResults(gg.getResultsCount()) for i, v in ipairs(grp) do v.address = v.address - 0x4 v.flags = gg.TYPE_DWORD end gg.loadResults(grp) gg.searchPointer(0) print("First Pointer search: ", gg.getResultsCount()) gg.searchPointer(0) print("Second Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local sensitivity = {} for i, v in ipairs(t) do sensitivity[i] = {address = v.address + 0x4, flags = gg.TYPE_FLOAT} end sensitivity = gg.getValues(sensitivity) local healthPointer = {} for i = 1, #sensitivity do if sensitivity[i].value == 1.0 then healthPointer[i] = {address = t[i].address, flags = gg.TYPE_DWORD} end end gg.loadResults(healthPointer) print("Results healthPointer: ", gg.getResultsCount()) gg.searchPointer(0) print("Third Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local health = {[1] = {address = res[1].address - 0xc, flags = gg.TYPE_FLOAT, name = "Health"}} gg.addListItems(health) gg.loadResults(health)
  17. Wait maybe I misunderstood about the pointer.....when I click on the health value and click GOTO, this is the line that I long pressed on and clicked GOTO pointer. So from 5C to 68 is 12 bytes right? Okay when I changed all the 0xC to 0X4 the first and second pointer searches are successful but i get 0 results for the third pointer search gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) gg.searchNumber("17A;1,075,642,368A;1,900,544A;1,310,728A;589,828A;1,703,957A;1,703,969A;1,376,289A;1,920A;469,762,048A::185", gg.TYPE_DWORD) gg.refineNumber("1,900,544", gg.TYPE_DWORD) print("Group search: ", gg.getResultsCount()) local grp = gg.getResults(gg.getResultsCount()) for i, v in ipairs(grp) do v.address = v.address - 0x4 v.flags = gg.TYPE_DWORD end gg.loadResults(grp) gg.searchPointer(0) print("First Pointer search: ", gg.getResultsCount()) gg.searchPointer(0) print("Second Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local sensitivity = {} for i, v in ipairs(t) do sensitivity[i] = {address = v.address + 0x4, flags = gg.TYPE_FLOAT} end sensitivity = gg.getValues(sensitivity) local healthPointer = {} for i = 1, #sensitivity do if sensitivity[i].value == 1.0 then healthPointer[i] = {address = t[i].address, flags = gg.TYPE_DWORD} end end gg.loadResults(healthPointer) print("Results healthPointer: ", gg.getResultsCount()) gg.searchPointer(0) print("Third Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local health = {[1] = {address = res[1].address - 0xc, flags = gg.TYPE_FLOAT, name = "Health"}} gg.addListItems(health) gg.loadResults(health)
  18. Thank you so much for all the info and instructions. You're too generous as always Okay, I tried to break up the script to go only as far as the first pointer search (to not overwhelm myself) but I am still getting no results and I don't know what I'm doing wrong: gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) gg.searchNumber("17A;1,075,642,368A;1,900,544A;1,310,728A;589,828A;1,703,957A;1,703,969A;1,376,289A;1,920A;469,762,048A::185", gg.TYPE_DWORD) gg.refineNumber("1,900,544", gg.TYPE_DWORD) print("Group search: ", gg.getResultsCount()) local grp = gg.getResults(gg.getResultsCount()) for i, v in ipairs(grp) do v.address = v.address - 0xC v.flags = gg.TYPE_DWORD end gg.loadResults(grp) gg.searchPointer(0) print("First Pointer search: ", gg.getResultsCount())
  19. Okay. I apologize if I am being a pain but I'm still trying to grasp this thing and pull all the pieces together to make sense of it. Now when I run your script and get the health value, shouldn't I theoretically be able to go to the nearest pointer, which is 4 bytes above your health value and click "go to pointer" and find that block that you used for your group search? I mean since they are static they should appear on my device too just like they did on your 2 devices, right? Well I went up and down the list and I didn't find that block of numbers. But regardless, going off of your health value, I found the same distance pointer (nearest one that has the same static block of numbers on 2 devices) and I got the group search and it works fine, then I refine this number: 1,900,544 and get 55 results. This is all fine. But when I run the script (used yours as a template for my values) I find no pointers. If you're curious why I am refining to this number (1,900,544) please check the attached video Here's he script (based it on yours but with my numbers): gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) gg.searchNumber("17A;1,075,642,368A;1,900,544A;1,310,728A;589,828A;1,703,957A;1,703,969A;1,376,289A;1,920A;469,762,048A::185", gg.TYPE_DWORD) gg.refineNumber("1,900,544", gg.TYPE_DWORD) print("Group search: ", gg.getResultsCount()) local grp = gg.getResults(1) gg.loadResults({{address = grp[1].address - 0xc, flags = gg.TYPE_DWORD}}) gg.searchPointer(0) print("First Pointer search: ", gg.getResultsCount()) gg.searchPointer(0) print("Second Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local sensitivity = {} for i, v in ipairs(t) do sensitivity[i] = {address = v.address + 0xc, flags = gg.TYPE_FLOAT} end sensitivity = gg.getValues(sensitivity) local healthPointer = {} for i = 1, #sensitivity do if sensitivity[i].value == "1.0" then healthPointer[i] = {address = t[i].address, flags = gg.TYPE_DWORD} end end gg.loadResults(healthPointer) print("Results healthPointer: ", gg.getResultsCount()) gg.searchPointer(0) print("Third Pointer search: ", gg.getResultsCount()) local res = gg.getResults(1) local health = {[1] = {address = res[1].address - 0xc, flags = gg.TYPE_FLOAT, name = "Health"}} gg.addListItems(health) gg.loadResults(health) Any ideas? EDIT: I first accidentally pasted the script with 0x12 for the 12 bytes, but I definitely tried it with 0xc (hex) and it still gave me no pointers GG video.mp4
  20. Sorry I have another question. When you added 4 bytes, then subtracted 4 bytes then added 4 bytes again, is all of this because the health value was 4 bytes below the closest/final pointer? So if my health value is 12 bytes above the closest/final pointer then essentially I should reverse what you did? So in other words I should subtract 12 bytes then add 12 bytes then subtract 12 bytes? When I did this it didn't work.
  21. Understood my friend. One question regarding the emulator, what emulator are you using? Is i Bluestacks? I am using 2 phones but I'd like to try an android emulator on PC. When I installed the modded apk using Bluestacks and tried to launch it, i got a message saying "Download failed because the user is not signed in". I figured maybe Bluestacks doesn't support modded apks? How did you get it installed on the emulator?
  22. Aside from upvoting and hearting your answers and marking the answer containing the script as "best answer", is there anything else I can do to express my sincere gratitude?
  23. Wow that's incredible. It's sure going to take a lot of time for me to digest all of this lol. Thanks again for all the explanations and screenshots. I truly appreciate your time.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.