Jump to content

CmP

Contributor
  • Posts

    663
  • Joined

  • Last visited

  • Days Won

    49

Everything posted by CmP

  1. CmP

    LUA scripting

    Either execute this: gg.setRanges(32) gg.skipRestoreState() to see which memory range will be selected, or this: for k, v in pairs(gg) do if k:sub(1, 6) == 'REGION' then print(k, v) end end to print name and value for each of gg.REGION_* flags.
  2. GG help is not intended to be complete guide for writing scripts. Only API-related information and some easy examples are there. You need to learn and practise Lua language if you want to write advanced scripts.
  3. It's very bad way to spend your time and it may lead to mistakes. For example, mistake in function test1 in your script (same blocks of code). Here is an example of rewriting function test1 from your script using loops. Look how much time and amount of code could be saved. local function test1() local searchStringPart = '0.000000' for i = 7, 3, -1 do for j = 1, 9 do gg.searchNumber(searchStringPart .. j, gg.TYPE_FLOAT) gg.getResults(100000) gg.sleep(1000) gg.editAll(50, gg.TYPE_FLOAT) gg.sleep(1000) gg.editAll(searchStringPart .. j, gg.TYPE_FLOAT) gg.clearResults() end searchStringPart = searchStringPart:sub(1, i) end end
  4. I am not angry at all. And that section called "Help about use GameGuardian" just contains in-app help, so you did not need to know about it. I think that it is obvious, that if one has any question about the app, one should check it's help first, and only in case, when the answer was not found there, it is reasonable to ask that question here.
  5. Lol, did you write all of those 13789 lines manually or by copying&pasting blocks of code? I am asking, because you could achieve same result using loops, amount of code would be reduced tremendously in this case.
  6. Ordered group search with group size equal to 9 and 170 respectively. Check GG help at least before asking such questions. https://gameguardian.net/help/help.html#help_group_search
  7. CmP

    Script compiler

    Not "we". If you can't find workaround, it does not mean that noone can. But more likely that you did not even try. Of course it is easier to write a comment and then wait for someone to do everything for you.
  8. Values with "Auto" type in range search Type "Auto" for a search is useful option when user does not know how exactly desired value is stored in a process memory. Nevertheless, there are some cases in which search of type "Auto" won't behave as you expect it to. The problem has been observed upon performing a search for a range with the type "Auto", where any of range borders is float number (number that contains fractional part). In such cases GG won't search exactly for the range that you have specified. All problematic cases, I think, can be divided into 2 types: One of range borders is float number, another one is integer, e.g. "5~8.25", "11.4~22". Both of range borders are float numbers, e.g. "1.11~3.33", "-20.5~-15.0". Note: ranges, where both of borders are integers, are being interpreted correctly. Here are more detalied review of case types with the examples: 1) Range with integer borders. 2) Range with one float number border. 3) Range with both borders being float numbers. P. S. Had to use quotes instead of spoilers because consecutive spoilers (even separated by other text) were producing embedded structure of spoilers in post preview.
  9. I think that inputting password each time when you launch the script is senseless and time-consuming. Here is this script, but without password: Critical_ops_no_password.lua
  10. I meant the approach that is used in the script from this topic (hooking functions). And yes, that "dump source" feature from your script is really helpful, considering that it works on compiled scripts, keep up the good work.
  11. If you mean those awkward scripts for pubg and some other popular games, then I do agree with you. But if you want to be able to reconstruct some function from good-written script, then consider adding support for the next gg functions: clearList, getListItems, getRangesList, getResultsCount, getValues, removeListItems, removeResults, searchAddress, searchFuzzy, setValues, startFuzzy and some others. However, you still won't be able to recreate source code in it's initial form, because this approach in general can't "capture" control structures (which are essential part of any good script).
  12. I already replied to this in my previous message, just want to add that "unimportant gg calls" are not important for you, this does not mean that they are not important for someone else. Everyone has their own needs and if the tool with general approach does not suffice, then it is usually possible to write a script, that will meet custom requirements.
  13. Noone said that it is hard. Not really, depends on how analyzed script is written. And it is perfectly fine to understand what's going on in the script. Enyby's script is a general tool, it's not intended for, as you said, reconstructing the original code. If one needs such feature, then one can write script that will fit to his purposes (just like you did).
  14. You can't force them to think and solve some tasks if they don't want to. Anyway, check updated version of this script by Enyby. Script compiler (#9b2xri28) It has "Dump all data from load call" and "Log all GG calls" features which are intended for almost same purposes as your script is. However, the implementation of these two features takes only ~60 lines of code there. It also saves the result to a file, which, I think, is more comfortable way than printing them to standard output, because last option requires additional operations to be able to work with the results.
  15. Not bad script, but it lacks error handling in some cases. Source code that you have published contains some unreadable symbols which cause lua interpreter to fail. Removed them and fixed indentation (other things weren't changed) decompiler.lua
  16. CmP

    Script compiler

    Very useful tool not only for script writers, but also for anyone who want to analyze a script.
  17. Try to use this version: script.lua @Enyby can you please replace "cleaned" version of the script from my post above to this one? I have not considered that author (whoever he is) developed some very strange non-working "main loop". I refactored it to some working one. Also did a quick test, all menus were accessible. UPD: fixed some obvious mistakes, removed even more redundant parts. script_final.lua Found one funny "proof" of how good is coding skill of those "pubg script writers" (check the call to gg.editAll function).
  18. CmP

    LUA scripting

    That's because you have written "Anonymous" and it should have been "ANONYMOUS", just like in the example. Copy the example from my message above and paste it in your script if in doubt.
  19. CmP

    LUA scripting

    @AjYouTube I am trying to tell that, as for me, there is no sense in encrypting a script that is written for GG. However, you can still use one of common approaches to hide source code of the script, if you really need it. It doesn't guarantee, that noone will be able to decrypt your script, but at least it will prevent some non-experienced users from stealing/leeching your code.
  20. CmP

    LUA scripting

    This question was already answered by several forum members. In short, you can't fully prevent others from stealing your code. If one is able to run the script (for example, you published script and password for it), then one can also get information about which commands are executed by the script. This is obvious, because if GG is able to "understand" the script, then there is a way for human to do so. It only depends on how hard it is to "decrypt" particular script.
  21. CmP

    LUA scripting

    Use this function for it. Place this code before any call to search functions if you want them to search only in selected region(s). gg.setRanges(gg.REGION_ANONYMOUS) Also check documentation for this and other functions that you may need to use in your scripts. https://gameguardian.net/help/classgg.html#a9f7d694a9f97e6077f5d2a458e53bcef
  22. First step: decompiled the script using UnLuac. UnLuac (decompile binary scripts) (#32ziiln0) Second step: did something very similar to what is shown in the video. Example of obtaining the source code of an encrypted script - GameGuardian (#560kyy6y)
  23. Here is decompiled and decrypted version of the script. Now you are able to translate strings in it. decrypted.lua UPD: removed some redundant parts, e.g. passwords, "protections", checks for time when script is being run etc. decrypted_cleaned.lua
  24. Have you tried reading other messages at this topic? Your problem is not unique, it is very common. Enyby has already answered such questions many times.
  25. Compiler is used to translate source code to it's binary (machine-readable) form, not for encrypting it with password. Compiled scripts may be "decoded" with the help of decompiler. However, it may not work in some cases. Try this (or any other) lua decompiler on your script to answer your question. https://gameguardian.net/forum/files/file/119-unluac-decompile-binary-scripts/
×
×
  • 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.