Leaderboard
Popular Content
Showing content with the highest reputation on 08/01/2021 in all areas
-
Thank you for providing this info. Kind of looks like a beta game. interesting. I don't see much of functions happening before and after you pressed that fire button. No zoom of the camera or anything, that can mean a few things. For now i have a few suggestions that you could try. Option 1 --[we will review if fire rate is possible through unknown search] restart the match and make sure that you haven't shoot any bullet yet. search value 0, data type must be float. tab the shoot button (after the waiting time is over so that a bullet comes out) and follow up in gameguardian with "Increased". tab the fire button again, follow up in gameguardian with "Increased". don't tab the fire button and follow up with "Unchanged". follow the process of "Increased" and "Unchanged" for a while till you see float values that have a value above the 10, usually they will have more then 5 floating point values, remove all the values below the 10 and all the values above the 10000. freeze the remaining values (if there are) in there current state. make a video so that we can see if you followed the right steps. Option 2 --[we will try looking for this invisible timer, In this example we will assume that the timer is a value that increases on shoot and then decrease back so that you can shoot] slower the speed of the game using gameguardian his internal speed feature. go in lobby and search value 0 (float), then shoot and "Changed" and keep using "Changed" during the time frame in which your not able to shoot. (you slow down the speed of the game so that you have more time to use "Changed") wait a moment till your sure that you can shoot again and search value 0 float again. then try to shoot again do changed till your sure that you can shoot again, then search 0 again. save the remaining values that are 0 and freeze them. make a video so that we can see if you followed the right steps. Option 3 --[we may need the fool the game that you never pressed that button, it's possible that some kind of value get triggers when you press that button resulting in the timer to be set] search 0, data type dword shoot, search value 1. Then wait till your sure that you can shoot again. Then search value 0 again. shooting disabled = 1, shooting enabled = 0 you can try the other way around, shooting disabled = 0, shooting enabled = 1 edit and freeze the remaining values to the statue of the shooting enabled. make a video so that we can see if you followed the right steps. Option 4 --[basic search for the kind of timers shown in your video] in gameguardian press "Unchanged" shoot and press "Changed" wait till timer is finished and press "Changed" (you need to do it because the value will have changed when you can shoot again) don't shoot yet but then press "Unchanged", because you know that the value won't change anymore. shoot again, press "Changed", wait till you can shoot again and repress "Changed", then press "Unchanged. follow the above process several times till you have a few values left. Freeze the values in the state of when you used "Unchanged" make a video so that we can see if you followed the right steps. I just provided you some basic approaches that you can try with gameguardian.2 points
-
Too many guys ask about GG and libil2cpp.so to working with gameguardian. So I decided to make some guides to working around with it using offset. Game: Call of duty - Mobile VN Funtion to hack: Show enemy on radar This game was protected from dumper, so I uses Il2CppInspector to inspect the lib. Open up the Il2CppInspector.exe and drag the apk to the app GUI then wait a bit: I exported the Json file to find the function and address, and I want to find where the function to show enemy on rada, I found this: 0x046C37F4 -- here is address holded the function get_ShowEnemyOnRadar() So what should we do? We can mod directly in libil2cpp.so, using the hock, create the app to call... But here, I willshow you how to modify this function using GameGuardian First, you need the function tohandle the lib, share on Internet and I just copy paste here: local memFrom, memTo, lib, num, lim, results, src, ok = 0, -1, nil, 0, 32, {}, nil, false function name(n) if lib ~= n then lib = n local ranges = gg.getRangesList(lib) if #ranges == 0 then print("⚠ERROR: " .. lib .. " are not found!⚠") gg.toast("⚠ERROR: " .. lib .. " are not found!⚠") os.exit() else memFrom = ranges[1].start memTo = ranges[#ranges]["end"] end end end function hex2tbl(hex) local ret = {} hex:gsub( "%S%S", function(ch) ret[#ret + 1] = ch return "" end ) return ret end function original(orig) local tbl = hex2tbl(orig) local len = #tbl if len == 0 then return end local used = len if len > lim then used = lim end local s = "" for i = 1, used do if i ~= 1 then s = s .. ";" end local v = tbl[i] if v == "??" or v == "**" then v = "0~~0" end s = s .. v .. "r" end s = s .. "::" .. used gg.searchNumber(s, gg.TYPE_BYTE, false, gg.SIGN_EQUAL, memFrom, memTo) if len > used then for i = used + 1, len do local v = tbl[i] if v == "??" or v == "**" then v = 256 else v = ("0x" .. v) + 0 if v > 127 then v = v - 256 end end tbl[i] = v end end local found = gg.getResultCount() results = {} local count = 0 local checked = 0 while true do if checked >= found then break end local all = gg.getResults(8) local total = #all local start = checked if checked + used > total then break end for i, v in ipairs(all) do v.address = v.address + myoffset end gg.loadResults(all) while start < total do local good = true local offset = all[1 + start].address - 1 if used < len then local get = {} for i = lim + 1, len do get[i - lim] = {address = offset + i, flags = gg.TYPE_BYTE, value = 0} end get = gg.getValues(get) for i = lim + 1, len do local ch = tbl[i] if ch ~= 256 and get[i - lim].value ~= ch then good = false break end end end if good then count = count + 1 results[count] = offset checked = checked + used else local del = {} for i = 1, used do del[i] = all[i + start] end gg.removeResults(del) end start = start + used end end end function replaced(repl) num = num + 1 local tbl = hex2tbl(repl) if src ~= nil then local source = hex2tbl(src) for i, v in ipairs(tbl) do if v ~= "??" and v ~= "**" and v == source[i] then tbl[i] = "**" end end src = nil end local cnt = #tbl local set = {} local s = 0 for _, addr in ipairs(results) do for i, v in ipairs(tbl) do if v ~= "??" and v ~= "**" then s = s + 1 set[s] = {["address"] = addr + i, ["value"] = v .. "r", ["flags"] = gg.TYPE_BYTE} end end end if s ~= 0 then gg.setValues(set) end ok = true end Now you need to call the function: gg.setRanges ( gg .REGION_CODE_APP | gg .REGION_C_DATA) -- usally you only need this region name('libil2cpp.so') -- name the lib myoffset = 0x046C37F4 -- offset you found original('7F 45 4C 46 01 01 01 00') -- begin hex, open the libil2cpp.so with HexView and find first 8 bytes of hex replaced('01 00 A0 E3 1E FF 2F E1') -- use arm to hex converter, convert "return true" to hex, see https://armconverter.com/?code=mov%20r0,%20%231%0Abx%20lr gg.toast("Done!") Put it in your lua and done, you're now can hack the radar using GG and libil2cpp. Demo: Demo file: CODHack_Demo.lua1 point
-
of course Coins didnt worked...as @MAARSCoins in his script didnt worked for me. like i said above only the first value from that group search are the same for both of us..other two are different. the first value.. it could be the same for you too..try to search that value. = 1,160,851,538 then add offset 0x49C see which one of the results lead you to your Coins.1 point
-
this group search values also got me some results. but only Coins offset stay the same but other things keep changing. also using this to search Coins during a gameplay gave an offset that is different than offset got while searching Coins in the Shop but both of them are fixed. other things still changed.1 point
-
i found it this group search too.. its good to change Reaper and Potion. but @MAARS group search for Coins did not work for me as only the first value was the same but the other two are not. all the offsets are also the same too. here a working script for me : TEST_SwampAttack.lua1 point
-
oh ok i will loose the idea to make script its too hard those group search thanks u friend to take time for me1 point
-
1 point
-
I don't use the refine function because i have set the limit to 1 value so my results list will always have one value, the first one1 point
-
Ah ok i understand i got the same when searching, it is because these values you selected for the group search are not statics they change. i managed to get the good group. -- this group : 1,769,238,352;1,885,431,122;29,285::53 -- the offset between the first results and chilly value is 0x541 point
-
Yeah this is one might be a little bit complicated, the goal is to show how to retrieve value using offsets. sa.lua1 point
-
1 point
-
1 point
-
so from that group search... you was able to change the coins everytime. and also from that group search..you add offsets to change the other items value but offsets change everytime when restart? Am i getting this right. sorry my English is poor and your writing doesnt help that much too. [added 1 minute later] for energy just use GG speedhack to refill quickly.1 point
-
1 point
-
what is the other items you try to hack? Reaper? Potion? in the Shop..Reaper,Potion and Coins are easy to hack. maybe some other stuffs too as well.1 point
-
Offset should remain the same, throw the game link [added 0 minutes later] xD we posted at the same time, that hilarious1 point
-
1 point
-
1 point
-
1 point