Jump to content

Enyby

Administrators
  • Posts

    8,811
  • Joined

  • Last visited

  • Days Won

    1,027

Everything posted by Enyby

  1. Watch on YouTube: How to set your speed list for Speedhaсk - GameGuardian You can subscribe to our new videos.
  2. As key assumed always first value. As value - second. Then key placed always before value. In most cases this is does not matter, because order of XOR do not change result. _______________________________________________ added 4 minutes later And we recently added a new function Calculate XOR, which helps to quickly calculate XOR between any two values.
  3. Enyby

    LUA scripting

    For my phone: $ ls -l /storage/emulated lrwxrwxrwx root root 2017-08-18 06:23 legacy -> /storage/sdcard0 Maybe you need use /storage/sdcard0/Android/obb/ _______________________________________________ added 1 minute later I think game always use same path to obb. You need use same path for check it. It can use some symlinks for different locations.
  4. Enyby

    LUA scripting

    @Aufar_R is right. Obb do not have version. It can have special name. You can check for some file exists. For example I have next obb's on my emulator: /sdcard/Android/obb/com.blayzegames.iosfps/main.100.com.blayzegames.iosfps.obb /sdcard/Android/obb/com.gamedevltd.modernstrike/main.79.com.gamedevltd.modernstrike.obb /sdcard/Android/obb/com.ea.game.pvzfree_row/main.91.com.ea.game.pvzfree_row.obb function file_exists(name) local f=io.open(name,"r") if f~=nil then io.close(f) return true else return false end end local obb = '/sdcard/Android/obb/com.blayzegames.iosfps/main.100.com.blayzegames.iosfps.obb' if not file_exists(obb) then print('Obb not found: ', obb) os.exit() end local obb = '/sdcard/Android/obb/com.blayzegames.iosfps/main.101.com.blayzegames.iosfps.obb' if not file_exists(obb) then print('Obb not found: ', obb) os.exit() end
  5. Enyby

    LUA scripting

    local v = gg.getTargetInfo() if v.versionCode ~= 291 then print('This script only works with game version 291. You have game version ', v.versionCode, ' Please install version 291 and try again.') os.exit() end
  6. Enyby

    LUA scripting

    Set it to true or false. Or omit. If it true - toast will be visible less time.
  7. Enyby

    LUA scripting

    Short help for API functions gg = table(5393242c): { [BUILD] = 6147 The build number. [CACHE_DIR] = /data/data/catch_.me_.if_.you_.can_/cache Directory cache. On the internal memory. [EXT_CACHE_DIR] = /mnt/sdcard/Android/data/catch_.me_.if_.you_.can_/cache External cache directory. Usually on an external memory card. [EXT_FILES_DIR] = /mnt/sdcard/Android/data/catch_.me_.if_.you_.can_/files External directory of files. Usually on an external memory card. [FILES_DIR] = /data/data/catch_.me_.if_.you_.can_/files The directory of files. On the internal memory. [PACKAGE] = catch_.me_.if_.you_.can_ The name of the application package. [REGION_ANONYMOUS] = 32 [REGION_ASHMEM] = 524288 [REGION_BAD] = 131072 [REGION_CODE_APP] = 16384 [REGION_CODE_SYS] = 32768 [REGION_C_ALLOC] = 4 [REGION_C_BSS] = 16 [REGION_C_DATA] = 8 [REGION_C_HEAP] = 1 [REGION_JAVA] = 65536 [REGION_JAVA_HEAP] = 2 [REGION_OTHER] = -1032320 [REGION_PPSSPP] = 262144 [REGION_STACK] = 64 [SIGN_EQUAL] = 536870912 [SIGN_FUZZY_EQUAL] = 536870912 [SIGN_FUZZY_GREATER] = 67108864 [SIGN_FUZZY_LESS] = 134217728 [SIGN_FUZZY_NOT_EQUAL] = 268435456 [SIGN_GREATER_OR_EQUAL] = 67108864 [SIGN_LESS_OR_EQUAL] = 134217728 [SIGN_NOT_EQUAL] = 268435456 [TYPE_AUTO] = 127 [TYPE_BYTE] = 1 [TYPE_DOUBLE] = 64 [TYPE_DWORD] = 4 [TYPE_FLOAT] = 16 [TYPE_QWORD] = 32 [TYPE_WORD] = 2 [TYPE_XOR] = 8 [VERSION] = 8.31.0 Text version of the application. [VERSION_INT] = 83100 The numeric version of the application. [alert] = function: alert /* gg.alert(string text [, string positive = 'ok' [, string negative = nil [, string neutral = nil]]]) -> int: 0 = cancel, 1 = positive, 2 = negative, 3 = neutral */ Displays a dialog with several buttons. The return result depends on which of the buttons was pressed. The dialog can be canceled with the "Back" button. [choice] = function: choice /* gg.choice(table items [, string selected = nil [, string message = nil]]) -> string || nil */ Displays the selection dialog from the list. The list is made up of the items table. Selected sets the index of the table that will be selected by default. If selected is not specified or is specified as nil, then sssyok will be without the default choice. Message specifies the title of the dialog box. The function returns nil if the dialog has been canceled, or the index of the selected item. [clearResults] = function: clearResults /* gg.clearResults() -> nil */ Clears the list of search results. [copyMemory] = function: copyMemory /* gg.copyMemory(long from, long to, int bytes) -> true || string with error */ Copy memory. [copyText] = function: copyText /* gg.copyText(string text [, bool fixLocale = true]) -> nil */ Copy text to the clipboard. If the second parameter is true or not specified, the text will be converted as a number from the English locale to the selected one. [dumpMemory] = function: dumpMemory /* gg.dumpMemory(long from, long to, string dir) -> true || string with error */ Dump of memory. [editAll] = function: editAll /* gg.editAll(string value, int type) -> count of changed || string with error */ Edit all search results. Requires before downloading results via getResults. The value can be any valid string. The type is specified by one of the constants TYPE_*. [getFile] = function: getFile /* gg.getFile() -> string */ Gets the file name of the currently running script. [getLine] = function: getLine /* gg.getLine() -> int */ Gets the current line number of the script being executed. [getLocale] = function: getLocale /* gg.getLocale() -> string */ Gets the string with the currently selected locale in the application. For example, en_US, zh_CN, ru, pt_BR, ar, uk. [getRanges] = function: getRanges /* gg.getRanges() -> int */ Gets the bit mask of the selected memory regions. [getResultCount] = function: getResultCount /* gg.getResultCount() -> long */ Gets the number of results found. [getResults] = function: getResults /* gg.getResults(int count) -> table || string with error */ Gets a table with the results found. No more than count elements. Each element is a table with three keys: address (long), value (string with a value), flags (one of the constants TYPE_*). [getSpeed] = function: getSpeed /* gg.getSpeed() -> double */ Gets the current speed from the speedhack. [getTargetInfo] = function: getTargetInfo /* gg.getTargetInfo() -> table || nil */ Gets a table with information about the selected process. The set of fields can be different. Print the resulting table to see the available fields. [getTargetPackage] = function: getTargetPackage /* gg.getTargetPackage() -> string || nil */ Gets the package name of the selected process, if possible. [getValuesRange] = function: getValuesRange /* gg.getValuesRange(table values) -> table || string with error */ Gets the memory regions for the passed value table. The referenced table can be either an address list or a list of tables with the address field. The result is a table where each key, from the original table, will be associated with a short region code (Ch, for example). [getValues] = function: getValues /* gg.getValues(table values) -> table || string with error */ Gets the values for the transferred list of items. Each list item must be a table with address and flags fields (one of the constants TYPE_*). The result is a new table with elements. Each element is a table with three keys: address (long), value (string with a value), flags (one of the constants TYPE_*). [gotoAddress] = function: gotoAddress /* gg.gotoAddress(long address) -> nil */ Go to the specified address in the memory editor. [isPackageInstalled] = function: isPackageInstalled /* gg.isPackageInstalled(string pkg) -> bool */ Check whether the specified application is installed on the system by the package name. [isProcessPaused] = function: isProcessPaused /* gg.isProcessPaused() -> bool */ Check if the selected process is paused. [isVisible] = function: isVisible /* gg.isVisible() -> bool */ Check if the application interface is open. [multiChoice] = function: multiChoice /* gg.multiChoice(table items [, table selection = {} [, string message = nil]]) -> table || nil */ Displays the multiple choice dialog. The list of items is specified by the items table. The selection table specifies the selection status. The keys must match. If the key is not found in the second table, then the element will be unchecked. Message specifies an optional title for the dialog box. The result is a table with the selected keys and values TRUE (analogue of the selected selection table), or nil if the dialog was canceled. [processKill] = function: processKill /* gg.processKill() -> bool */ Finishes the selected process. Returns true on success and false otherwise. [processPause] = function: processPause /* gg.processPause() -> bool */ Pauses the selected process. Returns true on success and false otherwise. [processResume] = function: processResume /* gg.processResume() -> bool */ Resume the selected process. Returns true on success and false otherwise. [processToggle] = function: processToggle /* gg.processToggle() -> bool */ Toggles the pause state of the selected process. Returns true on success and false otherwise. [prompt] = function: prompt /* gg.prompt(table prompts [, table defaults = {} [, table types = {} ]]) -> nil || table with keys from prompts and values from inputs */ Displays the dialog for data entry. The prompts table specifies the keys and description for each input field. The defaults table specifies the default values. The types table specifies the types of input fields (string). Valid types: number, text, path, file, setting, speed. The type depends on the output of additional elements near the input field (for example, buttons for selecting a path or file). [removeResults] = function: removeResults /* gg.removeResults(table results) -> true || string with error */ Removing items from the list of results found. Each list item must be a table with address and flags fields (one of the constants TYPE_*). [searchAddress] = function: searchAddress /* gg.searchAddress(string text [, long mask = -1 [, int type = gg.TYPE_AUTO [, int sign = gg.SIGN_EQUAL [, long memoryFrom = 0 [, long memoryTo = -1]]]]]) -> true || string with error */ Perform an address search with the specified parameters. The format of the search string corresponds to the format of the search string through the application interface. [searchFuzzy] = function: searchFuzzy /* gg.searchFuzzy([string difference = '0' [, int type = gg.TYPE_AUTO [, int sign = gg.SIGN_FUZZY_EQUAL [, long memoryFrom = 0 [, long memoryTo = -1]]]]]) -> true || string with error */ Continues fuzzy search, with the specified parameters. [searchNumber] = function: searchNumber /* gg.searchNumber(string text [, int type = gg.TYPE_AUTO [, bool encrypted = false [, int sign = gg.TYPE_EQUAL [, longmemoryFrom = 0 [, long memoryTo = -1]]]]]) -> true || string with error */ Perform a search for a number, with the specified parameters. The format of the search string corresponds to the format of the search string through the application interface. [setRanges] = function: setRanges /* gg.setRanges(int ranges) -> nil */ Set a set of memory regions. The parameter is the bit mask of REGION_* constants. [setSpeed] = function: setSpeed /* gg.setSpeed(double speed) -> true || string with error */ Setting the speed of the speedhack. If speedhack was not loaded, then it will be loaded. The call is blocking. Managing the script will be returned only after the full load speedhack. [setValues] = function: setValues /* gg.setValues(table values) -> true || string with error */ Sets the values for the transferred list of items. Each list item must be a table with address, value (string), and flags (one of the TYPE_* constants). [setVisible] = function: setVisible /* gg.setVisible(bool visible) -> nil */ Opens or closes the application interface. [skipRestoreState] = function: skipRestoreState /* gg.skipRestoreState() -> nil */ Do not restore the state of the application (for example, a set of memory regions), after the script is completed. [sleep] = function: sleep /* gg.sleep(int milliseconds) -> nil */ Pauses execution of the script for the specified number of milliseconds. [startFuzzy] = function: startFuzzy /* gg.startFuzzy([int type = gg.TYPE_AUTO [, long memoryFrom = 0 [, long memoryTo = -1]]]) -> true || string with error */ Starts a fuzzy search, with the specified parameters. [timeJump] = function: timeJump /* gg.timeJump(string time) -> true || string with error */ Performs a time jump. The format of the string is similar to the time format in the time jump dialog. [toast] = function: toast /* gg.toast(string text [, bool fast = false]) -> nil */ Shows a toast. The second parameter allows you to display the toast less than usual. }
  8. Watch on Youtube: Speedhack: Reset on exit - GameGuardian You can subscribe to our new videos.
  9. Watch on YouTube: How to change the language - GameGuardian You can subscribe to our new videos.
  10. Watch on YouTube: How to hide the second icon in the launcher [GG (SW) or GG (HW)] - GameGuardian You can subscribe to our new videos.
  11. We have plans about make tutor app for that and similar cases.
  12. Watch on YouTube: How to change the size of a floating icon - GameGuardian You can subscribe to our new videos.
  13. The most effective version of game killer is game guardian
  14. No way. You can not find the value of Aim with text search.
  15. You search text. This is not work. Text "aim" not connected with aim value. Like you open book and replace all words "page" to something other - this not change pages numbers.
  16. Can not understand anything. Give examples. Preferably with screens or video. In HEX, there is no magic. It's just a hex representation of numbers.
  17. Watch on YouTube: How to change the order of buttons on the toolbar - GameGuardian You can subscribe to our new videos.
  18. You need investigate code for this. No other way.
  19. Most often this is seen from the numbers in the game. If the number is fractional then most likely it is a float. If the integer is dword. However, everything happens. At first I try the often happen versions, if it does not help, then I switch to more general variants, like Auto.
  20. These are memory regions, not functions. In the list of regions, you set a set of memory regions (areas) in which to search for the desired data. Dword, float, word, byte are common types of data storage use Google to learn more about them. Xor is a data type similar to dword just passed through xor with its address in memory.
  21. Select last two memory regions:
×
×
  • 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.