Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Platonic last won the day on November 2

Platonic had the most liked content!

Additional Information

  • Android
    6.x (Marshmallow)

Recent Profile Visitors

95,408 profile views

Platonic's Achievements

  1. You can't just modify someone else his speed. You only modify with GG the client data. But if you modify your client data which the server shares with other clients then it could be possible to impact them as well. Simple example if you had a game that has a roll button that can be used every 3 sec, for each time you press that roll button the other clients receive the info through the server that you rolled. Now imagen they have some simple servers that don't deal well with unexpected behaviour, In fact they lett pass through any info from the client to server to other clients. You change the frames so that whenever you press the roll button you send 100+ roll commands to the server. This can mess up the way the server receives/shares that information(depending on the protocols they use as well). This can make the other players freeze or lag severely because instead of 1 roll minimum every 3 sec, it is 100+ rolls. The speed of your friends is shared with your client. But, a typical server will rely on your friends clients info. Not yours. So even if you modify on your client their speed(location), the server will just update their new location. Don't forget that the "speed" is just some frames that are updated every 0.03sec(more or less depending on delta time), server sends updates of other players location to you so that the game makes sure that you see them on your client on the same position as your friends are. But the default game speed of a client resides in the apk...as it is build from the game engine. So "maby" if you had the perfect scenario where the client is just a shell and in fact relies on the coordinates stored on the server, it then could be possible to somehow get access to that server which interact with the clients of your friends to make it send different coordinates to their clients. But then it wont be speed hack but you do enforce your desired location on their clients. But never saw it...and its just a theory based on my understanding of client/servers I guess...if the game already has a kicking function you could make it so that all the host options remains on your screen, even if your not host...its not guaranteed this works though. Just speculating. Only kicking im familiar with is by freezing their screen. After sometime they all disconnect. But you cant really control it on individuals. But now i think about it, 6 tears ago or something i used to have this cheat for pixel gun 3d in which i could kick players out of the match and automatically start a new match. I did not had to be host either. If i recall i messed with match timing. So it does means you don't always need to go to deep...sometimes you can just do it on your client because the game has some bug.
  2. Edit the values positive or negative to get what you requested. Some quick tutorial. Run the script. com.grumpyrhinogames.necromerger.lua.lua
  3. Not sure, test with dummy account.
  4. I could not find it as a class. But i guess if you dump it you could be looking for the class: CurrencyBundleSegment But in GG i edit not as a class. But not sure how dumping and editing the executable would do.
  5. Hey, it was a pain. Eventually found it after narrowing down quite some pointers. Most of those values are static. And are anything but the value on the screen. Is your game 64bit or 32bit?
  6. You forgot to add "gg.setValues(xyz)" function itlboss1() -- your current code(no need for xyz = gg.getResults(3) gg.setValues(xyz) end
  7. This works to: gg.searchNumber("1065353216;1147030094;1104814040;1145908920;1077039526", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("1147030094;1104814040;1145908920", gg.TYPE_DWORD) xyz = gg.getResults(3) -- if you only get 3 results xyz[1].value = "1138487986" xyz[2].value = "1114810441" xyz[3].value = "1143816785" gg.setValues(xyz)
  8. Only based on your script. If your results are in the subsequent order: X = 1147030094 Y = 1104814040 Z = 1145908920 gg.searchNumber("1065353216;1147030094;1104814040;1145908920;1077039526", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("1147030094;1104814040;1145908920", gg.TYPE_DWORD) xyz = gg.getResults(3) -- if you only get 3 results gg.editAll("1138487986;1114810441;1143816785", gg.TYPE_DWORD)
  9. How do you do it manually? Video would be great.
  10. Hi, I want to make script that can check instruction set architecture of the game. I'm using emulator, gg.getTargetInfo() does not work. I want to writte as less as possible but clear and effecient Currently im using path name to filter out strings. function ISACheck() -- possible instruction sets local ISA_x64Emulator = "/x86_64/" -- 64 bit emulator local ISA_x64 = "/arm64/" -- 64 bit local ISA_x32Emulator = "/x86/" -- 32 bit emulator local ISA_x32 = "/arm/" -- 32 bit local ranges = gg.getRangesList('base.odex') if #ranges == 0 then ranges = gg.getRangesList('classes.dex') end for i, v in ipairs(ranges) do if v.state == "Xa" then if string.find(v.internalName, ISA_x64Emulator) ~= nil or string.find(v.internalName, ISA_x64) ~= nil then instructionSetArchitecture = 64 dataType = gg.TYPE_QWORD elseif string.find(v.internalName, ISA_x32Emulator) ~= nil or string.find(v.internalName, ISA_x32) ~= nil then instructionSetArchitecture = 32 dataType = gg.TYPE_DWORD else print('Does not recognize instruction set') os.exit() end end end print(instructionSetArchitecture) end ISACheck() But this script quite long for its objective i think. 1.) If current script can be optimized, please post it. 2.) So i wanted to ask if it would be reasonable to use the ["end"] key in gg.getRangesList() to decide if the game is 64 or 32bit by putting a condition on that address if it exceeds 32bit? But it also got me to the next question. 3.) Games of 32bit are always loaded in memory addresses of max 32bit. But 64bit games uses 32bit memory addresses but also memory addresses of max 64bit. But is this "always" the case? Can it happen that a 64bit game is loaded at only memory addresses of max 32bit in size? It would make the whole calculating address size useless i think. 4.) Or if there is a more efficient way to get instruction set architecture. Please let me know. Please keep note, the game being a split.apk should not intervene with getting the instruction set architecture.
  11. Isnt the start address of the relevant libil2cpp.so used as a pointer in region A. When pointer searching, result +0x08 (64bit) +0x04(32bit) is pointer to end of libil2cpp.so segment You can script it i believe and use it to filter the correct libil2cpp.so out of all libil2cpp.so path names.
  12. Nvm, Luar is byte code, its not obfuscation. But GG has a disassembler so i don't get the point of the byte code.
  13. Platonic


    for index, addr in ipairs(list2) do if addr.value == 100.0 and list3[index].value ~= TeamID then list4[#list4 + 1] = list_int64_addr(addr.address - 0xBCC) end end This part very needed. But coords of dead players should be cleared from memory and load at new addresses when respawn. Or this could be a specific mode in which it does not happen. Like deathmatch or some sort.
  • 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.