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("USE FREE FIRE BRO") gg.toast("USE FREE FIRE BRO") 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 function L8_37(A0_67) L3_32 = L3_32 + 1 if L6_35 ~= nil then for SABIN1_6_, SABIN1_7_ in ipairs((hex2tbl(A0_67))) do if SABIN1_7_ ~= "??" and SABIN1_7_ ~= "**" and SABIN1_7_ == hex2tbl(L6_35)[SABIN1_6_] then hex2tbl(A0_67)[SABIN1_6_] = "**" end end L6_35 = nil end for SABIN1_8_, SABIN1_9_ in ipairs(L5_34) do for SABIN1_13_, SABIN1_14_ in ipairs((hex2tbl(A0_67))) do if SABIN1_14_ ~= "??" and SABIN1_14_ ~= "**" then end end end if 0 + 1 ~= 0 then gg.setValues({ [0 + 1] = { address = SABIN1_9_ + SABIN1_13_, value = SABIN1_14_ .. "r", flags = gg.TYPE_BYTE } }) end L7_36 = true end 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("Bro If You Don't Know How To Use Script Watch Full Tutorial (Script Hack) Of My Channel \n\n Thanks 🇮🇳🇮🇳📌") 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 not (found <= checked) do local all = gg.getResults(8) local total = #all local start = checked if total < checked + used then break end for i, v in ipairs(all) do v.address = v.address + myoffset end gg.loadResults(all) while total > start do local good = true local offset = all[1 + start].address - 1 if len > used 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 gg.alert(os.date("🇮‌🇳‌🇫‌🇴‌\n\n➣ ɢᴀᴍᴇ : 『" .. gg.getTargetInfo().name .. "』\n➣ ᴘᴀᴄᴋᴀɢᴇ ɴᴀᴍᴇ : 『" .. gg.getTargetInfo().processName .. "』\n➣ ɢᴀᴍᴇ ᴠᴇʀsɪᴏɴ : 『" .. gg.getTargetInfo().versionName .. "』\n➣ ɢᴀᴍᴇɢᴜᴀʀᴅɪᴀɴ ᴠᴇʀsɪᴏɴ : 『" .. gg.VERSION .. "』\n➣ ᴄʀᴇᴀᴛᴏʀ : ༺『ʀᴇsᴇʟʟᴇʀ ᴅᴇᴠᴇʟᴏᴘᴇʀ/ ᴅɪᴀᴍᴏɴᴅ ᴍᴇɴᴜ』༻\n➣ ᴅᴀᴛᴇ : %A, %d %B %Y\n\n➣ Installation Date: " .. os.date("%x", gg.getTargetInfo().firstInstallTime) .. "\n➣ Last Update: " .. os.date("%x", gg.getTargetInfo().lastUpdateTime) .. "")) function SHADOW( ) while(nil) do local i = {} if(i.i) then i.i = (i.i(i)) end end local ros = I[I[0x1a]][I[0x7a]]( ) scvalue = I[0x35] do do for X, Y in I[I[0x2d]]( ros) do if Y[I[0x4c]] == I[0xe2] then scvalue = I[0x34] break end end end end if scvalue == I[0x34] then SHADOW( ) else SHADOW( ) end end function SHADOW( ) while(nil) do local i = {} if(i.i) then i.i = (i.i(i)) end end local del = { } local ros = I[I[0x1a]][I[0x7a]]( ) do do for Y, Z in I[I[0x2d]]( ros) do if Z[I[0x4c]] == I[0xe2] then I[I[0x2e]][I[0xe4]]( I[0x36], Z[I[0x54]]) end end end end I[I[0x1a]][I[0xa3]]( del) I[I[0x1a]][I[0x3b]]( I[0xdf]) I[I[0x1a]][I[0x3a]]( ) I[I[0x1a]][I[0x40]]( I[I[I[0x33]]]) I[I[0x1a]][I[0x77]]( I[0x129], I[0x28], I[0x35], I[I[0x25]], I[I[0x1a]][I[0x3f]], - I[I[0x1a]][I[0x51]]) I[I[0x1a]][I[0x42]]( I[0x7d], I[0x28], I[0x35], I[I[0x25]], I[I[0x1a]][I[0x3f]], - I[I[0x1a]][I[0x51]]) local ros = I[I[0x1a]][I[0x38]]( I[I[0x1a]][I[0x51]]) if ros[I[I[0x1a]][I[0x51]]] == I[0x36] then I[I[0x1a]][I[0x4f]]( I[0x82]) else I[I[0x1a]][I[0x3b]]( I[0x55]) ros[I[I[0x1a]][I[0x51]]][I[0x4c]] = I[0xe2] I[I[0x1a]][I[0x4d]]( ros) I[I[0x1a]][I[0x3a]]( ) SHADOW( ) end end gg.setVisible(true) function SHADOW(L14_692, S8_40) S8_40 = S8_40:gsub("..", function(L99999_12305) L99999_12305 = L99999_12305 .. " " return L99999_12305 end ) gg.setRanges(gg.REGION_CODE_APP | gg.REGION_C_DATA) name("libil2cpp.so") myoffset = L14_692 original("7F 45 4C 46 01 01 01 00") replaced(S8_40) for i = 1, math.random(50, 100) do gg.clearResults() for i = 1, 0 do DuuuX22 = "ShAdOw2000dc" end for i = 1, 0 do end for i = 1, 0 do DuuuX22 = "ShAdOw2000dc" end for i = 1, 0 do end end end