-
Posts
455 -
Joined
-
Last visited
-
Days Won
12
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by kiynox
-
-
[ @congorla ]
---QuoteAlso is there anywhere I can get usable hxd hexcodes for whatever methods?
You need to understand ARM instructions first: Base Intructions. Then you can convert the ARM instruction into hex/bytes form using: ARM Converter
---QuoteAre public void stuff modifiable?
Yes. Void is basically methods that are not returning something, it's purpose is to do something. You can either do these:
- Edit the method parameter if exist: (void AllPerks(parameter1)
- Jumping one void methods to another (Using B / BL / JMP instruction)
- Disabling the Void method (so it won't work):--ARM 32 / Armeabi-v7a MOV R0, R0 BX LR --ARM 64 / Armv8a NOP RET
---
QuoteAny posts that explains how to modifye methods in GG?
We have a lot of topic covering this, but you might want to start with these:
---
QuoteHow would you modify something like that in gg
It is really depends on what the method does. But in general, do something like this:
--Get the base address of libil2cpp.so local base = gg.getRangesList("libil2cpp.so")[1].start --Address of methods = (base address + method offset) local addr = base + 0x10BBCDC gg.setValues({ {address = addr, flags = gg.TYPE_DWORD, value = '~A MOV R0, R0'}, {address = addr + 0x4, flags = gg.TYPE_DWORD, value = '~A BX LR'} })
---
0 -
[ @Unknownharry ]
---QuoteSame as Lucky patcher api That could Change it For Sometimes Until User is in Application/game!
Lucky Patcher only emulate in-app purchases that uses Google Play Services, not to mention that it is only working for older version. That's why Lucky Patcher mostly wont work with most apps in the current days.
---QuoteGonna Try use Lucky Patcher API in Online GG Scripts
This is very unlikely, as GG scripts only do read/write memory and cannot do beyond that.
---0 -
[ @RwOnk3 ]
---QuoteGame guardian won't install
Looks like you're having newer version of Android. The reason Game Guardian couldn't be installed is because newer Android requires higher SDK version, you might want to read this thread: Game Guardian Android 14
---0 -
[ @Modingph ]
---Quotescripts wont work. i think il2cpp value is not thesame
Have you tried:
- gg.getRangesList('libil2cpp.so')[1].start
- gg.getRangesList('libil2cpp.so')[2].start
Or is it related to hotfix? Idk, I'll check the game later.
---0 -
[ @nevertrolls ]
---QuoteIs there a way to use LuaRocks in GameGuardian Lua Scripting?
You can use external module in GG Lua but with caveats:
- - The module does not access root directory. Game Guardian have some function removed, including functions related to accessing root directory.
- - The module needs to use LUA 5.3 or under.
---
2 -
[ @SAMI270908 ]
---QuoteHow to solve X-86 error in windows 11 in game guardian
I'm not sure what you're talking about here. Are you talking about WSA or Speedhack error? Atleast provide some screenshot.
---0 -
-
[ @TopG_01 ]
---QuoteCan anyone tell me what is the best dual space app for Redmi note 10
Virtual Apps/Clone Apps/Dual Space/Dual Apps is deprecated and it is not suitable environment for rooting, I suggest to migrate using Virtual Machine:
- - VPhoneGaGa
- - F1VM
- - x8sandbox
---
1 -
-
[ @Rasole ]
---QuoteI would like to know how to insert the comma in the search
Computer notation uses period/dot (.) for decimal representation, so the search would be '14.99'. Comma used for 'thousands' separator.
---0 -
Increments
in Help
[ @KUMADEIT ]
---Quotetherefor making them all the same
I never do testing before giving answer but the code looks fine as it calls "gg.getValues" at every iteration, thus the value will incremented. You can also call the 'increments' inside a loop:
--Solution 1 number_of_increments = 5 function increments(memo, n) gg.clearResults() memo_temp = {} for k, v in ipairs(memo) do memo_temp[k] = { ['address'] = v.address, ['flags'] = v.flags, ['value'] = tonumber(v.value) + n } end gg.setValues(memo_temp) end for i = 1, number_of_increments do increments(memo, n) end
---
1 -
[ @_yourram ]
---Quotethanks, I understood these commands perfectly, but I don't know what mistakes I made, can you fix it too?
If you understood it, you would not say "I don't know what mistakes I made". And no, I can't help you to fix it because I don't know what you're trying to search here:
---[Fix this search yourself]--- gg.searchNumber(':nDstDist', 1) gg.refineNumber('110', 1) maintest = gg.getResults(6) gg.clearResults() maintest2 = maintest[1].address - 0x18 gg.searchNumber(maintest2, 32) -------------------------------
---
Quotecan you fix it too?
I can only help fixing the 'table':
local results = gg.getResults(19) if results ~= nil then local elements = {} for k, v in ipairs(results) do table.insert(elements, {address = v.address, flags = 16, value = "-999"}) end gg.setValues(elements) end
---
1 -
[ @style22222 ]
---QuoteTo change game time
You can or cant, it depends on the game. You can try to search in second as float, or, you can't since some game always synchronize time from both client and server.
---0 -
[ @_yourram ]
---Quotecan you explain me in depth about this script function what is happening in this script ↓
There's a lot of errors, but I will only explain:
--Clearing results gg.clearResults() --Set memory region to Ca gg.setRanges(gg.REGION_C_ALLOC) --Search string: "nDstDist" gg.searchNumber(':nDstDist', 1) --Refining results that only contain '110' (I have no idea why) gg.refineNumber('110', 1) --Saving results as variable 'maintest' maintest = gg.getResults(6) --Clearing results gg.clearResults() --Taking address of the first result of 'maintest', then use offset -0x18 from the address. maintest2 = maintest[1].address - 0x18 --Searching address of 'maintest2' (I have no idea why) gg.searchNumber(maintest2, 32) --Saving results as variable 'results' local results = gg.getResults(19) --(A table that only contain 1, why? (I have no idea why) local resultnumber = {1} --Temporary table to store items local elements = {} --Enumerating table 'resultnumber' that only contain 1, what? (I have no idea why) for i, v in ipairs(resultnumber) do --Check if 'v' is not empty if results[v] ~= nil then --Adding table: {address = results[v].address, flags = 16,value = "-9e9"}, to table 'elements' table.insert(elements, {address = results[v].address, flags = 16,value = "-9e9"}) end end --Checking if table 'elements' has more than 0 item if #elements > 0 then --Applying changes in table 'elements' to memory gg.setValues(elements) end
---
0 -
[ @_yourram ]
---QuoteAre you on social media like Instagram or Discord?
Currently no, you can just contact me here. I'm always available.
---0 -
[ @_yourram ]
---if trex == nil then alert('It has to be at least 1 millisecond') return end
You put 'return' here, it is wrong. 'return' statement is used to exit a function: LUA 4.4: break and return. If you want to trigger gg.prompt again, then use goto statement:
::redo:: trex = gg.prompt({'For how many milliseconds do you want to spawn trex? (1000 = 1 sec)'}, {[1]='0'}, {[1]='number'}) if trex == nil then alert('It has to be at least 1 millisecond') goto redo end
---
r = { [1] = { address = v.address-offset[1], flags = 1, value = 0, name = 'Instant respawn'..i..',1' }, [2] = { address = v.address+offset[2], flags = 16, value = 0, freeze = true, name = 'Trex spawn'..i..',2' }, -- for how many milliseconds do you want to spawn trex? gg.sleep(trex[1]) [3] = { address = v.address+offset[3], flags = 16, value = 190, freeze = true, name = 'Trex spawn'..i..',2' },
You're executing a gg.sleep() function inside a table, this is wrong. You can't execute a function inside a table. What you need is to separate 'instant respawn' and 'trex spawn'.
local gg = gg local s = 1136216893891 local offset = { 0x1C, 0x1C, 0x1C} local r = {} gg.searchNumber(s,32) if gg.getResultCount() == 0 then print('No results found.') os.exit() end local t = gg.getResults(10) gg.clearResults() ::redo:: trex = gg.prompt({'For how many milliseconds do you want to spawn trex? (1000 = 1 sec)'}, {[1]='0'}, {[1]='number'}) if trex == nil then alert('It has to be at least 1 millisecond') goto redo end --Applying instant respawn for i, v in ipairs(t) do r = {{ address = v.address-offset[1], flags = 1, value = 0, name = 'Instant respawn'..i..',1' }} gg.setValues(r) gg.addListItems(r) end while true do for i, v in ipairs(t) do r = {{ address = v.address+offset[2], flags = 16, value = 0, freeze = true, name = 'Trex spawn'..i..',2' }, { address = v.address+offset[3], flags = 16, value = 190, freeze = true, name = 'Trex spawn'..i..',2' }} gg.setValues(r) end gg.sleep(trex[1]) end
---
*Do note that: the script above runs infinitely, you need to put some condition in order to exit it.2 -
[ @_yourram ]
---Quoteso I am asking how can I save only 100(local address = v.address - 0x0)edited values while using this function.
There's nothing wrong with this script. The 'setAddr' function is depends on gg.getResults, so if there's 100 result, the function will also add 100 result into the 'saved list'. If you're talking about editing 100 result simultaneously with 'setAddr' function, then:
function setAddr(results, offset, value, flags) for key, value in ipairs(results) do results[key].address = results[key].address - offset results[key].value = value results[key].flags = flags end gg.setValues(results) gg.addListItems(results) end gg.searchNumber("-7041975695332343808", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("-7041975695332343808") local r = gg.getResults(100) setAddr(r, 0x0, 100, gg.TYPE_FLOAT)
---
0 -
[ @_yourram ]
---Quotehow can I save only 100 value in float type using this function↓
What do you mean? Do you want to edit all the results to float '100' or getting '100' results? If you want to get 100 results, just change '10' to '100':
gg.getResults(100)
---
0 -
[ @OREW ]
---QuoteI was searching for value Immediately banned or just a few seconds after the scanning?!.
There's several solutions:
- - Hide game guardian from the game.
- - Use/find another undetected memory cheats. Some game have 'memory trap' that by modifying it can cause the game sending 'abnormal' signal.
- - Prevent the game sending 'abnormal' signal to server using firewall/hosts
---
QuoteSoo can someone direct me to some files or app to enable firewall to hide the gg progress from the game?
It is not easy as you think, but I recommend you to learn: iptables. You can set your own 'firewall' with dynamic rules with IPTables, and yes, it does exist on Android too (not just linux)
---2 -
[ @_yourram ]
---
You need to understand 2 things: global variable & function argument:- - Variable 'troll' from "BOSS1" can't be accessed in "BOSS2" because it is not a global variable, meaning it can only be accessed in the same function ONLY.
- - In order this to work, you need to pass the variable 'troll' into 'BOSS2' function as an argument, or, you can create a global variable to store your values.
---
[ Global variable ]global_variable = {"troll": {}} function BOSS1() gg.searchNumber("8243116118139470283", 32) gg.refineNumber("8243116118139470283", 32) troll = gg.getResults(gg.getResultsCount()) for k, v in ipairs(troll) do global_variable[#global_variable + 1] = v end gg.addListItems(troll) gg.clearResults() gg.searchNumber("8243116118139479840", 32) gg.refineNumber("8243116118139479840", 32) troll = gg.getResults(gg.getResultsCount()) for k, v in ipairs(troll) do global_variable[#global_variable + 1] = v end gg.addListItems( troll) gg.clearResults() -- 3rd Search Results ↓ gg.searchNumber("8143116118139470289", 32) gg.refineNumber("8143116118139470289", 32) troll = gg.getResults(gg.getResultsCount()) for k, v in ipairs(troll) do global_variable[#global_variable + 1] = v end gg.addListItems(troll) gg.clearResults() -- 4th Search Results ↓ gg.serchNumber("9243116118139472811", 32) gg.refineNumber("9243116118139472811", 32) troll = gg.getResults(gg.getResultsCount()) for k, v in ipairs(troll) do global_variable[#global_variable + 1] = v end gg.addListItems(troll) gg.clearResults() end function BOSS2() gg.loadResults(global_variable.troll) os.exit() end
---
[ Passing variable ]function BOSS1() gg.searchNumber("8243116118139470283", 32) gg.refineNumber("8243116118139470283", 32) troll = gg.getResults(gg.getResultsCount()) --passing 'troll' to BOSS2 BOSS2(troll) gg.addListItems(troll) gg.clearResults() --the rest of the code end function BOSS2(troll) gg.loadResults(troll) os.exit() end
---
0 -
[ @_yourram ]
---
The error means that there's no table named 'control', you need to run the 'prepare values' choice first. I can propose a better solution if you want.
---Quotethanks bro!
Your welcome
---0 -
[ @_yourram ]
---Quoteis it useless to save values with different names?
No, you can still obtain all the value from the saved list and filter the items based on 'name'. In your script, you didn't even add 'name' key into 'control' table, you just straight add them all:
control = gg.getResults(10) gg.addListItems(control)
---
gg.loadResults(gg.getListItems(control))
This is wrong, gg.getListItems(): will take all items from savedlist, you can't specified it. What you can is:
gg.loadResults(control)
---
while true do if gg.isVisible() then gg.setVisible(false) Main() end end end
This part is wrong, you have multiple 'end' just for 'Main()' function. It will also contradict another 'while true do' you put earlier.
---
Here I fixed it:function menus() choices = gg.choice({'Prepare Values','Search','Undo','Exit'}) if choices == nil then os.exit() else if choices == 4 then os.exit() else prepares(choices) end end end function prepares(choices) if choices == 1 then -------------control-------------------- gg.searchNumber('55;873', 16) gg.refineNumber('55', 16) control = gg.getResults(gg.getResultsCount()) gg.clearResults() -------------health -------------------- gg.searchNumber('47;67', 16) gg.refineNumber('47', 16) health = gg.getResults(gg.getResultsCount()) gg.clearResults() -------------energy -------------------- gg.searchNumber('666;32;47', 16) gg.refineNumber('47', 16) energy = gg.getResults(gg.getResultsCount()) gg.clearResults() elseif choices == 2 then -------------control-------------------- gg.loadResults(control) gg.editAll('-55', gg.TYPE_FLOAT) gg.clearResults() -------------health -------------------- gg.loadResults(health) gg.editAll('0', gg.TYPE_FLOAT) gg.clearResults() -------------energy -------------------- gg.loadResults(energy) gg.editAll('999', gg.TYPE_FLOAT) gg.clearResults() elseif choices == 3 then -------------control-------------------- gg.loadResults(control) gg.editAll('55', gg.TYPE_FLOAT) gg.clearResults() -------------health -------------------- gg.loadResults(health) gg.editAll('47', gg.TYPE_FLOAT) gg.clearResults() -------------energy -------------------- gg.loadResults(energy) gg.editAll('47', gg.TYPE_FLOAT) gg.clearResults() end end knxs = false while true do if gg.isVisible(true) then knxs = true else knxs = false end if knxs == true then menus() else gg.setVisible(false) end end
---
2 -
[ @_yourram ]
---Quotewell bro where can I know more functions about the script?
Always read our documentation here: gg documentation. But yeah, I will explain the script:
--Searching float: 140 gg.searchNumber('140', gg.TYPE_FLOAT) --Get the results (gg.getResullts()) from how many results found (gg.getResultsCount()) results = gg.getResults(gg.getResultsCount()) --If the results is NOT empty then do these: if results ~= nil then --Store modified values edits = {} --Enumerate the 'results': {{blah},{blah}} --In lua, {{blah},{blah}} is equal to {[1]={blah},[2]={blah}} following on how 'array' works in other programming language --'key' refers to: "[1]", "[2]" and so on. 'value' refers to: {blah} and so on. --'value' tables contain: {address, value, flags} --'ipairs' is function that enumerate 'key' and 'value' from a table, 'pairs' is function that enumerate ONLY 'key'. for key, value in ipairs(results) do --Store table into 'edits' table with position (edits[position]): total item in 'edits' table (#edits) + 1 edits[#edits + 1] = { --Passing value of 'address' from 'value' table address = value.address, value = '17', --gg.TYPE_FLOAT = 16 --Passing value of 'flags' from 'value' table flags = value.flags } end --Apply the value 'edits' table into memory gg.setValues(edits) --Save the 'edits' table into game guardian saved list. gg.addListItems(edits) end
---
0 -
[ @_yourram ]
---Quotebruh :!
As I said earlier, the script will edit the 3rd, 6th & 9th position of the results. If your results is less than 3, 6 & 9; better just edit them all.
gg.searchNumber('140', gg.TYPE_FLOAT) results = gg.getResults(gg.getResultsCount()) if results ~= nil then edits = {} for k, v in ipairs(results) do edits[#edits + 1] = { address = v.address, value = '17', --gg.TYPE_FLOAT = 16 flags = v.flags } end gg.setValues(edits) gg.addListItems(edits) end
---
0
hacking values
in Help
Posted
[ @machok ]
---
First of all, you need to tell us what game you're trying to hack. Provide a name or a link to it would be helpful.
---
It depends, finding '5000' might results in thousand or million result. But you can do it by:
---