Jump to content

nok1a

Contributor
  • Posts

    630
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by nok1a

  1. nok1a

    Il2cpp dump.cs

    Nah it's not that. My device is not rooted. The game just isn't supported on my device even if you download the APK it crashes.
  2. nok1a

    Il2cpp dump.cs

    Perhaps. Then it is a problem for me as i won't be able to dump it at runtime with the devices i have.
  3. nok1a

    Il2cpp dump.cs

    dump.cs
  4. nok1a

    Il2cpp dump.cs

    Did you dump at runtime? I installed the apk but i can't play the game as it not compatible with my device. So i just extracted the lib/meta from the zip files. It's this game right?: https://apkpure.com/pixel-idle-saga/com.fygame.pis/download/2.1.0
  5. nok1a

    Il2cpp dump.cs

    Those are offsets from the base of a lib i guess? I can't open the game and check for my self with GG but why your dump looks so weird. Is this done with a mobile dumper? I dunno if that's protection but i can't find these variables in my dump. Probably if you put the lib in a disassembler tool you might find answers.
  6. there is no GG script like il2cppdumper with GG. There is script to dump the libs individually: libil2cpp.so and metadata.dat dumping script (#rpaaz4p) When using il2cppd dumper mistakes can happen. It's not big deal. Try again. Or what you mean? Did you try doing it correctly and still got an error?
  7. Did you try freezing the value: Cannot freeze value on ROVU (#53wy7htf)
  8. https://gameguardian.net/help/classgg.html
  9. I will not continue updating this script, i don't have the time for it unfortunately. To occupied with work. And at this point it's just a game of hide and seek. It's better you learn to find it your self.
  10. nok1a

    Anti Load Value

    Oh, you want the value to return to original state when the user exit the script?
  11. nok1a

    Anti Load Value

    It's not clear what you want to do
  12. nok1a

    what is this error

    I guess that you selected the default execution path. This happens when you open a process for the first time, then GG will select a default path with the package name of the selected process. Navigate to the path where you have your downloaded Lua script and select it. Then execute it.
  13. The speed value that the script finds is from libunity.so. You won't find it in the dump.cs.
  14. Hmm, game had an update? Which version your on.
  15. Personally i think it's more easy readable to do offsets in hex then in decimal. if v.x64 then t=32 o=8 o2=16 o3=24 else t=4 o=4 o2=8 o3=12 end Since your working with memory addresses which are all visually shown in hexadecimal, and when doing offset calculation with GG it displays in hexadecimal as well. Better get used to it. Why are you calling 2 times same table? code=gg.getValues(code) meta=gg.getValues(meta) if #(code)==0 or #(meta)==0 then print("×× ERROR FINDING CORRECT POINTERS ××") gg.setVisible(true) os.exit() return end code=gg.getValues(code) meta=gg.getValues(meta) It won't change anything, if the length of the table is 0. If it would be 0 the script exits. And if not 0, table will remain same as before your if statement.
  16. nok1a

    Can’t dump libil2cpp

    Usually right when the logo appears i tab to main menu so that process runs in background. It kind of freezes and give me more time to dump the files.
  17. Not sure, but can you send deobfuscated version of the speed hack script?
  18. Three optimizations about GG (#2szp4nqr)
  19. It won't work always. Like for protected games might not work. I guess, but the code in the script is wrong i think. Will check to. Might i know whats the purpose of the code i just shared from your script?
  20. Yeah but your script finds the right address but it does not display the value correctly for 64 bit. And probably it also won't display the value always correctly for 32 bit.
  21. I don't know, I would pick a game and do something simple like look for ammo value and change it with GG manually. Then try to make a Lua script for it. Download a simple Lua script from the forum and try to understand how it is making changes to the game. There is some nice documentation we use: https://gameguardian.net/help/classgg.html
  22. Oke, i think there is a lot to fix. I can test it if needed before you update. This code is for sure ruining the result it self: code=code[1].value-xAPEXx[*****] code=string.format("%X",tostring(code)) if not v.x64 then code=string.sub(code,-8,-1) find0=nil find0=string.find(code,"0") if find0~=nil and find0==1 then code=string.sub(code,-7,-1) end find0=nil find0=string.find(code,"0") if find0~=nil and find0==1 then code=string.sub(code,-6,-1) end end print("Code = 0x"..code) meta=meta[1].value-xAPEXx[*****] meta=string.format("%X",tostring(meta)) if not v.x64 then meta=string.sub(meta,-8,-1) find0=nil find0=string.find(meta,"0") if find0~=nil and find0==1 then meta=string.sub(meta,-7,-1) end find0=nil find0=string.find(meta,"0") if find0~=nil and find0==1 then meta=string.sub(meta,-6,-1) end end print("Meta = 0x"..meta) Also why checking if the libil2cpp.so library exists. It's irrelevant i think because your only using the global-metadata.dat.
  23. Yes, and it doesn't match.
  24. Not sure but is this supposed to be the metadata/lib registration of when you extract the files from the apk instead of dumping with GG at runtime? If it's supposed to be at runtime these offsets are not correct. It's a 64 bit game
  25. Can you try this: function class_Pointer() local range = gg.getRangesList("global-metadata.dat") -- get dll pointer UserProfile gg.setRanges(gg.REGION_OTHER) gg.searchNumber("h00 55 73 65 72 50 72 6F 66 69 6C 65 2E 49 6E 66 72 61 73 74 72 75 63 74 75 72 65 2E 64 6C 6C 00", gg.TYPE_BYTE, nil, nil, range[1].start, range[1]["end"]) -- UserProfile.Infrastructure.dll local char_UserProfile = gg.getResults(2) gg.setRanges(gg.REGION_ANONYMOUS) gg.clearResults() gg.searchNumber(char_UserProfile[2].address, gg.TYPE_QWORD) local pointerCheck = gg.getResults(1) gg.clearResults() -- get class pointer JourneyProgress gg.setRanges(gg.REGION_OTHER) gg.searchNumber("h00 4A 6F 75 72 6E 65 79 50 72 6F 67 72 65 73 73 00", gg.TYPE_BYTE, nil, nil, range[1].start, range[1]["end"]) -- JourneyProgress local char_Journey = gg.getResults(2) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber(char_Journey[2].address, gg.TYPE_QWORD) local t = gg.getResults(gg.getResultsCount()) for i, v in ipairs(t) do v.address = v.address - 0x10 end t = gg.getValues(t) local class_Pointer_JourneyProcess = {} for i, v in ipairs(t) do if v.value == pointerCheck[1].address then class_Pointer_JourneyProcess[#class_Pointer_JourneyProcess + 1] = v.address end end gg.clearResults() return class_Pointer_JourneyProcess end local class_Pointer_JourneyProcess = class_Pointer() function field_numberOfCompletedJourney(input) local Level = input gg.searchNumber(class_Pointer_JourneyProcess[1], gg.TYPE_QWORD) local t = gg.getResults(gg.getResultsCount()) for i, v in ipairs(t) do v.address = v.address + 0x190 v.flags = gg.TYPE_DWORD end t = gg.getValues(t) local numberOfCompletedJourney = {} for i, v in ipairs(t) do if v.value == (tonumber(Level[1]) - 1) then numberOfCompletedJourney[#numberOfCompletedJourney + 1] = t[i] end end if #numberOfCompletedJourney == 0 then gg.toast("Level not found, did you input correct level?") gg.sleep(100) else local LevelSet = gg.prompt( {'Input desired Level to edit to'}, {[1]=''}, {[1]='number'} ) for i, v in ipairs(numberOfCompletedJourney) do v.value = tonumber(LevelSet[1]) - 1 end gg.setValues(numberOfCompletedJourney) gg.toast("Level set, go in game and back to lobby for apply the change visually") end gg.clearResults() end function start() local Level = gg.prompt( {'Input your current Level'}, {[1]=''}, {[1]='number'} ) if Level == nil then gg.toast("No input") else local nonNumb = 0 for i in string.gmatch(Level[1], "%U") do local char = string.byte(i) if char < 0x30 or char > 0x39 then nonNumb = nonNumb + 1 end if nonNumb ~= 0 then gg.toast("This is not a number") else field_numberOfCompletedJourney(Level) break end end end end while (true) do if gg.isVisible() then gg.setVisible(false) start() end gg.sleep(100) end
×
×
  • 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.