Jump to content

nok1a

Contributor
  • Posts

    676
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by nok1a

  1. nok1a

    Game lib

    Not sure which part of the chainer script that has been included in the script, but i modified the getRanges() function little bit. function getLib() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber(":libRealRacing3.so", gg.TYPE_BYTE) local a = gg.getResults(1) gg.clearResults() local t = gg.getRangesList() local startAddress = {} for i, v in ipairs(t) do if ((a[1].address > v["start"]) and (a[1].address < v["end"])) then startAddress = {t[i], t[i+1], t[i+2]} end end return startAddress end function getRanges() local archs = {[0x3] = 'x86', [0x28] = 'ARM', [0x3E] = 'x86-64', [0xB7] = 'AArch64'} local ranges = {} local t = getLib() local arch = 'unknown' for i, v in ipairs(t) do if v.type:sub(2, 2) == '-' then local t = gg.getValues({{address = v.start, flags = gg.TYPE_DWORD}, {address = v.start + 0x12, flags = gg.TYPE_WORD}}) if t[1].value == 0x464C457F then arch = archs[t[2].value] if arch == nil then arch = 'unknown' end end end if v.type:sub(2, 2) == 'w' then v.arch = arch table.insert(ranges, v) end end return ranges end local ranges = getRanges() print(ranges) Hope it works.
  2. nok1a

    Game lib

    Actually...i am not sure if you even need strings a pointers. The size of the executable is the same for everyone that has exact same game version. So what you could do is use gg.getRangeList() and check if the END address minus START address is equal to the size of your executable(only the Xa part of the executable) because the chance that there are 2 executables of the same size is really low. If size is same then that's your correct executable. Edit: This doesn't work
  3. nok1a

    Game lib

    Yeah, i had this issue as well and had to tackle it somehow using strings and pointers so that script works for all. Also, i downloaded your game and it's not a issue of split apk. But it uses the executables that are located at base.apk. So the issue is the same. No executable name What's the name of the executable you working with?
  4. nok1a

    Game lib

    Oke, try moving all the files that you find in the lib of installation apk to /data/app/com.game/.../ and see if works.
  5. nok1a

    Game lib

    If you referring to split apk that is showing in the process/range list. You have to place the executables from the apk in to the /data/game/lib/ folder. Then GG will find the right executable.
  6. Found this offset in the modded apk. It's part of the network class. So it could be that one. Compared both instructions at the given offset of modded and original(play store) APK and it looks like this: Original: Modded: So i guess as far as edits in the libil2cpp.so goes this could be it. If he did some other things to the game for make the adds work, i do not know. It could also be that this offset is irrelevant and has nothing to do with the removal of adds. Use a offset patcher or something similar and edit the value.
  7. if it uses hex patching..
  8. If it is a mod menu and we can install it we can probably take the values from it.
  9. Can you give the modmenu? Oh oke. Did not knew. Should have installed the app and run some tests before making the comment.
  10. It's possible, seen it for few games but Enyby advices to use Lucky Patcher: Remove ads (#49005xf4)
  11. We can proceed for sure. PM totally fine.
  12. Oke so you tried to do the group search manually and after restarting of the game that group search done manually doesn't work. It's fine, i won't try to convince you in anything. Well regardless in any script you make use the print() function to see what your script is doing and if it's really doing same thing as what you did manually.
  13. The group search -1,049,624,576A;1,092,616,192A;1,082,130,432A;1,056,964,608A;1,062,333,317A::73 ?
  14. You will always do that if you not try to use the print() function to resolve the possible issue. Which is really not much of work since you already now how to find the value and how the script is made.
  15. It's not a 100% rule. I only said that using two devices can confirm the possibility that the group search is static. But im not sure if they really randomly change. That's a huge assumption. You could only be sure after first checking how the scripts behave and which addresses it gives you and performs actions on using the print() function before claiming the values change.
  16. A post about this game exist: hello can someone help me change the level of this game? (#nsbqjbd)
  17. I guess it all comes down to finding patterns in anything and use some logic with it based on the knowledge you have of that something. I mean, if your gold is 20 and on another device the gold is 20 to. Then i guess that on both devices there is a number 20 in memory...so something is same on both devices. I mean this pattern makes sense i guess if you do not know about encryption yet. But even with knowing it i think it's a logical thing.
  18. Aright, i hope it helped. Take the time and play around with it. At some point it will make sense. And use the print() function see what your script is doing. Like that you don't need to guess or assume.
  19. If your not finding the group search it means your using the wrong range to search in. Well, when the script doesn't work have you tried testing at which part it stopped working?
  20. Well, gg.searchPointer(0) is not that lazy. But gg.searchPointer(500) with ridiculous big offsets is for sure lazy.
  21. Also like it's not ok if your doing pointer search in 3 regions. The pointer you need should only exist in one region. To be fair for what i understand accuracy is important. And putting multiple regions is just being lazy. Even using gg.searchPointer(0) is lazy i find. You don't want to deal with all the results you had so you use gg.searchPointer(0). But of course there are cases in which you have no other choice.
  22. Because i was not sure in which regions your values would be. I knew mine. Perhaps for you could be different. So i specified all possible regions.
  23. Probably because there was more then 1 result with a matching 1.0 float value to filter on. And that probably happened because of having no accurate memory ranges. I can't be 100% sure because i haven't encountered the issue yet. Yes, your pointer was in region anonymous. So if you know that only specify the pointer search to be in region anonymous. Do that before the results are loaded in the result list.
  24. nok1a

    cheat = LEVEL

    Just download the file. The link is a link to this post so it's not important
×
×
  • 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.