Jump to content

nok1a

Contributor
  • Posts

    630
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by nok1a

  1. nok1a

    Value Saving

    You could try pointer searching.
  2. Hmm, i don't exactly understand why string.format over string concatenation, could you perhaps explain? I applied it like this to the script, This is ok? -- concatenation test function getNameForValue(STRU_structOffset, STRU_structCount, addr, val, fieldOff, nam_0, nam_1, nam_2) local name = "" if STRU_structOffset == 1 then name = string.format(nam_0, STRU_structCount, "Unknown") elseif STRU_structOffset == 2 then addressJump = fieldOff + val*8 name = string.format(nam_1, STRU_structCount, "Start address field offset: => 0x", string.upper(string.format("%x", fieldOff + val*8))) elseif STRU_structOffset == 3 then STRU_Field_dataBlockSize(addressJump, val, STRU_structCount) name = string.format(nam_2, STRU_structCount, "Field amount: ", val) end return name end function STRU_Field_dataBlockSize(FieldOffsetAddr, b, c) local name = "Structure Field Data Block: (%d): Count => %d%s%d" local fieldSize = {} local loop = 0 for i = 1, b do fieldSize[#fieldSize + 1] = { address = FieldOffsetAddr + loop, flags = gg.TYPE_QWORD, name = string.format(name, c, i,"/", b) } loop = loop + 0x8 end gg.addListItems(fieldSize) c = c + 1 end function STRU_dataBlockSegments() local name_0 = "Structure (%d): %s" local name_1 = "Structure (%d): %s%s" local name_2 = "Structure (%d): %s%d" local STRU_structures = {} local loop = 0 local structure_count = 1 local STRU_struct_offset = 1 local fieldOffsetCalc = validSignatures[3][4].address + validSignatures[3][2].value + 0xC local STRU_block = STRU_dataBlockSize() for i, v in ipairs(STRU_block) do STRU_structures[#STRU_structures + 1] = {address = v.address, flags = v.flags, value = v.value, name = getNameForValue(STRU_struct_offset, structure_count, v.address, v.value, fieldOffsetCalc, name_0, name_1, name_2)..""} if STRU_struct_offset == 3 then STRU_struct_offset = 1 structure_count = structure_count + 1 else STRU_struct_offset = STRU_struct_offset + 1 end end gg.addListItems(STRU_structures) end STRU_dataBlockSegments()
  3. Ok, will at least put the link to this thread. I do that in any situation. Unless function became drastically modified. I won't have millions of iterations. But perhaps max a 100k, it is possible. In fact i do like to know how i do it if it would be a look up table. Because as you saw the variable in the table key value did not get updated. Can variables in tables that are stored in key value not get updated from outside the table? Perhaps i scripted it wrong. The conditions where met.
  4. Thanks, works great. Do you mind if i use your example in the script? I would attach link to this threat as i did with the range function. But i do question, if i write it in a separate function the function will be called for each loop. Will this not slow speed down drastically? Added your function like this: function STRU_dataBlockSegments() local STRU_structures = {} local structure_count = 1 local STRU_struct_offset = 1 local STRU_block = STRU_dataBlockSize() for i, v in ipairs(STRU_block) do STRU_structures[#STRU_structures + 1] = {address = v.address, flags = gg.TYPE_BYTE, name = getNameForValue(STRU_struct_offset, structure_count)} if STRU_struct_offset == 3 then STRU_struct_offset = 1 structure_count = structure_count + 1 else STRU_struct_offset = STRU_struct_offset + 1 end end gg.addListItems(STRU_structures) end STRU_dataBlockSegments() Is it appropriate like that?
  5. Condition does get met: Script ended: structure_count: 1 structure_count: 2 structure_count: 3 structure_count: 4 But in table no update.
  6. I don't know why but my script does not update the value that is assigned to variable structure_count. function STRU_dataBlockSegments() local STRU_structures = {} local structure_count = 1 -- value of that needs to be incremented local STRU_struct_offset = 1 local STRU_structureNaming = { [1] = "Structure ("..structure_count..") :Unknown: ", [2] = "Structure ("..structure_count..") :Field offset: ", [3] = "Structure ("..structure_count..") :Field amount: " } local STRU_block = STRU_dataBlockSize() for i, v in ipairs(STRU_block) do STRU_structures[#STRU_structures + 1] = {address = v.address, flags = gg.TYPE_BYTE, name = STRU_structureNaming[STRU_struct_offset]} if STRU_struct_offset == 3 then STRU_struct_offset = 1 structure_count = structure_count + 1 -- Should be incremented by one, however in the table STRU_structureNaming it remains 1. else STRU_struct_offset = STRU_struct_offset + 1 end end end STRU_dataBlockSegments() How do i access the table STRU_structureNaming and increment the value structure_count when condition is met?
  7. It's the wrong metadata. Sometimes you have to wait sometime before metadata gets loaded. Had the issue several times.
  8. Installed F1VM. Created filesconfig.json file. New error.
  9. I did. This one: https://apkcombo.com/c-shell-net-ide/com.radinc.csharpshell/download/phone-3.0.20-apk Issue remains. It does finish the compiling.
  10. I don't have root, in which version i don't have to add files manually?
  11. Personally i think a script needs to be made that counts how many times a specific value appears. We then upgrade each car on the max one by one. If the value increases in count it will be a possibility that that is the value we need to change. But this is only assuming when a car gets max upgraded that their value suddenly changes to a unknown value. But that value is same for all the cars that have been max upgraded. (theory). Personally haven't had time yet to make a script for check how many times a value appears.
  12. I don't think neither of those are the right metadata. When the metadata is in region Other, the start of metadata should be at a address ending with 000. I don't think it's normal that for you suddenly the metadata is at a address ending with 014 or even D18. I checked your previous videos and there the metadata as well started at address ending with 000.
  13. No, i only dump with GG on phone, then transfer the files to windows. I assume you dump with a dumper designed for mobile only. Which doesn't work with protected games.
  14. 32 bit minus -20, then +28 for offset. Which game was it?
  15. Online il2cppDumper either: Really have to use Il2CppDumperGUI (windows).
  16. I also seen that if you use those mobile variants of il2cppDumper protected games usually can't be dumped.
  17. I'm not sure what steps you did on mobile phone nor which game, can't help with provided info. I only dump process memory on phone/emulator with GG. I use windows Il2CppDumperGUI for create struct.
  18. Oke, thanks for info. Will take a look.
  19. Oke, thanks. I unlocked the cars but the moment you max upgrade them you can't get them removed unfortunately, at least for what i see. You can only remove or lock those that still need some blue print upgrades. In you screesnhot you max upgraded the duplicated cars as well so it won't work to get rid of them. Or at least haven't found one. When car has the max blue prints some change happen to the game. No idea what exactly the change is but if you figure out you can reverse the value back to normal and perhaps undo the duplicate cars.
  20. No, i only putted the orb values because that's all i saw. Probably i could add them to the script but i need a higher level account so that i can find it's coordinates. Because what your asking is only avaiable on high level account(i think).
  21. Sometimes dumping does not go to well because of some protection. Here a video on some common metadata protections and how to fix it so that you obtain a proper dump.cs, but note that this does not work for "Every" protected unity game. In this video we use Legend Slime as example which has metadata protected. Requirement: Computer Il2CppDumperGUI: https://github.com/AndnixSH/Il2CppDumper-GUI Emulator: Bluestacks, Nox, VLPlayer...etc Game engine: Unity
  22. I think there is a script for it on the YT: , the link to script has lots of add so here is direct download link: https://www.mediafire.com/file/e9el4rdrfriourg/Punball+Script+Vip+v11+by+Master(En).lua/file Also adviced to see this YT channel, the creator post lots of tutorials with GG about Punball:
×
×
  • 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.