This takes the name of lib as input. For unity games its commonly libl2cpp. The data type is string. You can extract apk file then inside a folder called lib there wil be 32 and 64 bit version of libs. You can see all libs in the game there.
--Example one :
['libName'] = "libil2cpp"
--Example two :
['libName'] = "libunity"
Game guardian returns a table containing the allocated memory. libIndex is used to determine which index to use for applying offsets. This takes int value as input which it uses as index. However if you dont know about it you can pass string "auto" and forget about it.
So it takes int and string as input. But in string it only takes "auto" as input. If you pass anything else it will not work.
--Example one :
['libIndex'] = 1
--Example two :
['libIndex'] = 'auto'
It takes the offset of the methods you want to patch. It takes int as input. You can also pass it as hex. Like this (0x1000). Most commonly we will input hex as dump.cs file shows offset in hex format.
--Example one :
['offset'] = 0x1000
--Example two :
-- 4096 int equals to 1000 hex
['offset'] = 4096
It takes the type of value as input. The input is string but you cant pass random strings. Supported types are : int, float, bool
--Example one :
['valueType'] = "int"
--Example two :
['valueType'] = "float"
--Example three :
['valueType'] = "bool"
It takes the value to be returned by the function as input. The input depends on the valueType you have selected. Int takes non decimal value, float can take decimal value, and bool takes either true or false
--Example one :
['value'] = 1111
--Example two :
['value'] = 11.11
--Example three :
['value'] = true
--Example four :
['value'] = false
It is commenly asked by the function which requires an target and destination offset. Target offsets is called by game and then it calls destination function. It takes int as input.
You can also pass it as hex. Like this (0x1000). Most commonly we will input hex as dump.cs file shows offset in hex format.
--Example one :
['targetOffset'] = 0x1000
--Example two :
-- 4096 int equals to 1000 hex
['targetOffset'] = 4096
It is commenly asked by the function which requires an target and destination offset. Destination offsets is called by target method. They are the function we are force calling when game calls target methods. It takes int as input.
You can also pass it as hex. Like this (0x1000). Most commonly we will input hex as dump.cs file shows offset in hex format.
--Example one :
['destinationOffset'] = 0x1000
--Example two :
-- 4096 int equals to 1000 hex
['destinationOffset'] = 4096
It is asked so we could override the parameters passed into a function. We can pass multiple parameters with multiple value types. Sadly we cant pass strings, objects and other structures as parameters.
--Example one :
['parameters'] ={ {"int", 1111},
{"float", 11.11},
{"bool", true},
{"bool", false}}
It is asked by voidHook function. It takes an number without decimal. It determines how many times the destination method will get called. You can also pass an string "infinite" if you dont want to put a limit on how many times the destination method is called.
--Example one :
['repeat'] = 1
--Example two :
['repeat'] = 99
--Example three :
['repeat'] = "infinite"
It takes the hex patch that needs to be applied to certain offset. The data type it takes is string but it should be in proper format as shown below. You should only pass hex letters which are a-f and 0-9. 2 Hex values equals to 1 byte. You can pass only 1 byte (a pair of hex) or a lot of bytes. There is no limit
--Example one :
['hexPatch'] = "h 1A"
--Example two :
['hexPatch'] = "h FA893C5D"