Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. oled

    GameGuardian

    No need to restart. It works not only with the restart but it is the most effective to filter pointers (that is why it is used in the description). For example in another level the address of some parameter will be changed. So the same as in the method but without restart. What about that?
  3. Today
  4. while true do if gg.isVisible() then gg.setVisible(false) main() end end
  5. CmP

    GameGuardian

    "Pointer search" feature in GG will find all pointers to the value, if the offset is set to 0, or to the range of values , if the offset is set to a positive integer. There may be no results or too many results. Adjust "offset" parameter accordingly. Once you have the list of pointers to desired value/structure, according to the document, you need to filter the list "until the number of pointers will not decrease". That's how filtering is done there: Obviously, this won't work for Android. So you need to think of another way to reduce the count of found pointers or simply use all of them to keep the reference to desired value. Short conclusion (and probably the answer to your initial question): filtering of found pointers on Android can not be done as described in the document, because restarting the process causes all values to relocate.
  6. oled

    GameGuardian

    It is very sad. But there are often values which sometimes change even without restarting a game. May the method (from pointers.pdf) work without restarting?
  7. CmP

    GameGuardian

    Yes, just as I have written in one of the previous messages.
  8. oled

    GameGuardian

    So does it means that need to find pointers again after every process restart and their old addresses generally can't help?
  9. CmP

    GameGuardian

    They don't stop to work, but their address will be different after every process restart. For example, you found a pointer. It's address is 0x5522AA00. Then you restart a process and check the address. There will be another value. It may be just some regular value or it may be a pointer, but different one, that points not to the structure/value you expect. And the pointer you have found before, will be located, for example, at address 0x4488AA00.
  10. By doing that, it works, but I can not get out of the menu. The only way out is to cancel, but I want the menu to be open while I'm not using it
  11. oled

    GameGuardian

    So do you mean that pointers stop to work and become useless after restarting a process?
  12. CmP

    GameGuardian

    Quote from the first page: While this may be true for PC, it is not for Android. On Android there is ASLR. After the process is restarted, all values change their location. Therefore, the method described in the document won't help with finding the value after the process is restarted.
  13. in speed hack add .8 option .9 is too close to regular speed and .75 too slow
  14. oled

    GameGuardian

    The offset is definite — it starts at the beginning of the current memory block with the desired value. Here is the step-by-step description how it works in ArtMoney (also pointer on pointer structures). Pointers.pdf
  15. Enyby

    GameGuardian

    If you all know and understand so - describe in detail and step by step what should be the algorithm for finding pointers with an indefinite offset. And what is the refine algorithm, after that. At least to the depth of one pointer. Even for a very good and convenient number, you will have at least 1000 results in the first search. For uncomfortable and small numbers you will have hundreds of thousands of results. You offer to spend hundreds of thousands of searches, for the reverse of the pointer? And do not forget that the search is not instant. If you are looking for something for a long time, the pointers may already change. Even if the process can be paused, there are time limits after which the network connections are closed, the system will detect that the application is not responding and can close it without asking.
  16. oled

    GameGuardian

    I understand that they are very different. And I am not sure about auto detecting maximum possible offset. But refining pointers by some game value should be possible but probably not easy. I remember that they use the formula - pointer address + offset. So just need to refine the final address values by some game parameter.
  17. Enyby

    GameGuardian

    You do not feel the difference between embedded devices and a PC. Between their capacities and capabilities. What is possible on a PC is not always possible on embedded devices.
  18. Loop it. Example: function main() local menu = gg.choice({"Menu 1", "Exit"}, nil, "Test Loop") if menu == 2 then os.exit() end end while true do main() end
  19. I like your script . You worked hard . But encryption is too weak . Dec file by decoding team on telegram (new channel): https://t.me/GGLuaDEC/21
  20. CmP

    LUA scripting

    To select specific items use "getListItems" function and filter items that match condition. Example of selecting frozen items with freeze type "freeze in range": local items = gg.getListItems() for i, v in ipairs(items) do if (not v.freeze) or (v.freezeType ~= gg.FREEZE_IN_RANGE) then items[i] = nil end end To change values of the selected items use "setValues" function (if only value needs to be changed) or "addListItems" function (if anything of the following needs to be changed: freeze state, freeze type, "freeze from" value, "freeze to" value). Example of changing values of the previously selected items: for k, v in pairs(items) do v.value = '123' end gg.setValues(items)
  21. oled

    GameGuardian

    To find some constants - it is something like to find a raft among the see if the game is big. Need very big luck and very big knowledge. Refining of pointers is a very important feature. It works so in ArtMoney: 1) Here is some value of gold. We use this value to search for pointers with offset. The program itself gives the maximum possible offset - no need to enter it. 2) When the gold value was changed - we can refine pointers by that new value of gold (concrete or reduced/increased). So the search and refining are closely related to the gold value. Please try to implement.
  22. Write Your Menu function at end of code that runs ex: Function Main() This is were the menu is Function CodeHack() Bla bla bla Main() End
  23. Use refineNumber function. Examples are present in the documentation.
  24. For me it had about the same, I just started going through the results and started changing them to see which would correspond to the magizoology level. For me it was the second or third result. As soon as you find the right one, it'll show when you click on your characters picture to bring up that screen with your level, attributes, etc.
  25. NoFear

    GameGuardian

    So, if you learn patterns and structure of values in a game, you can eliminate the "guess work" and many variables around the value you want. This is what @BadCase and myself do with scripts. We don't search for the value you want to edit. Because sometimes it's unique to qty or Encryption on that launch etc etc. But navigate through the 'tree' of pointers to find some constants that are the same EVERY LAUNCH for every or most devices. It's not easy, extremely time consuming.
  26. I need the searches to be refined gg.searchNumber("2;22", gg.TYPE_FLOAT) gg.getResults("9999999") gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() I need that this search is defined and only change the values of 22
  1. Load more activity


×
×
  • Create New...