print([[โ• ๐ŸŒนโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒทโ•ฃ <<---------------YouTube Cebrail21--------------->> Telegram๐Ÿ‘‰ https://t.me/+qGrmIjZnh98wZWQ0 โ• ๐ŸŒทโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒนโ•ฃ ]]) gg.alert([[ Telegram link https://t.me/+qGrmIjZnh98wZWQ0 ๐Ÿ‘คYouTube๐Ÿ“ŒCebrail21โœ… ๐ŸŽฎ Cebrail iyi oyunlar diler๐Ÿ™]]) function cebrail() cebrail1 = gg.choice({ "(๐Ÿ’ถ) [[ PARA ]]",--1 "(๐Ÿช™) [[ ALTIN ]]",--2 "(๐Ÿ’ฑ) [[ PARA TRANSFER]]",--3 "(๐Ÿ’ฒ) [[ PAZARDAN ARABA AL ]]",--4 "<<<โ”โ”โ”โ”๐˜š๐˜ถ๐˜ณ๐˜ถ๐˜ฎ & sonsuzโ”โ”โ”โ”>>",--5 " โŒ ร‡IKIลž โŒ"},nil,"โ• ๐ŸŒนโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒทโ•ฃ\n<<---------------YouTube Cebrail21--------------->>\nโ• ๐ŸŒทโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒนโ•ฃ") if cebrail1 == nil then else end if cebrail1 == 1 then A1() end if cebrail1 == 2 then A2() end if cebrail1 == 3 then A3() end if cebrail1 == 4 then A4() end if cebrail1 == 5 then A5() end if cebrail1 == 6 then CIKIS() end Cebraill = -1 end function A1() gg.setVisible(false) gg.alert ("๐Ÿ‘‰seviye 1 seรง GG tikla๐Ÿ‘ˆ","EVET") gg.clearResults() gg.clearList() while true do if gg.isVisible() then break else gg.sleep(50) end end gg.setVisible(false) gg.clearResults() d = gg.prompt({"โ• ๐ŸŒนโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒทโ•ฃ\n<<---------------YouTube Cebrail21--------------->>\nโ• ๐ŸŒทโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒนโ•ฃ\n รถrnek๐Ÿ‘‰ 9999999 maxsimum","โ†ฉ๏ธ geri gel โŽ"},nil,{"number","checkbox"}) if not d then return end if d == nil then B1() end if d[2] then return gg.setVisible(true) end gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("50000000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(300, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll(d[1], gg.TYPE_FLOAT) gg.setRanges(32) degerarama("LevelDatas","0x44", false, false, gg.TYPE_FLOAT) gg.getResults(9999) gg.editAll(50000000,16) gg.clearResults() gg.clearList() gg.alert([[ seviye 2 tamamlayฤฑn ]], "EVET") gg.toast("AKTฤฐF โœ…") end function A2() gg.setVisible(true) repeat repeat until gg.isVisible() gg.setVisible(false) local menu = gg.prompt({ "โ• ๐ŸŒนโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒทโ•ฃ\n<<---------------YouTube Cebrail21--------------->>\nโ• ๐ŸŒทโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒนโ•ฃ\n รถrnek๐Ÿ‘‰ 9999999 maxsimum", "โ†ฉ๏ธ geri gelโŽ"}, last, {"text", "checkbox"}) if menu then last = {menu[1]} if menu[2] then break end if menu[1]:find("[0-9]") then if Old == nil then local x = degerarama1("GetFromPrefs") Old = #x > 0 and x or nil end if Old then XInt(Old, menu[1]) end gg.alert("๐Ÿช™altina tikla โœ…","EVET") gg.toast(Old and "AKTฤฐFโœ…" or "HATAโŒ") end end until false gg.setVisible(true) end function A3() gg.clearResults() gg.clearList() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("1,202,590,843,160", gg.TYPE_QWORD) gg.alert("๐Ÿ’ฑ1000 para gรถnder โœ…","EVET") gg.toast("AKTฤฐF โœ…") gg.processResume() results = gg.getResults(1000) count = gg.getResultsCount() attack = gg.getResults(count) local copy = false for i, v in ipairs(attack) do v.address=v.address + 0x1B0 v.value = '10,000,000' v.flags = gg.TYPE_DWORD gg.setValues(attack) gg.addListItems(attack) gg.getListItems(attack) gg.clearResults() gg.clearList() end end function A4() gg.setVisible(false) gg.clearResults() gg.clearList() d = gg.prompt({"โ• ๐ŸŒนโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒทโ•ฃ\n<<---------------YouTube Cebrail21--------------->>\nโ• ๐ŸŒทโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”๐ŸŒนโ•ฃ\n รถrnek ๐Ÿ‘‰0","โ†ฉ๏ธ geri gel โŽ"},nil,{"number","checkbox"}) if not d then return end if d == nil then X1() end if d[2] then return gg.setVisible(true) end degerarama("SellCarTrigger", "0x58", false, false, gg.TYPE_QWORD) gg.getResults(9999) local t = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.addListItems(t) t = nil gg.clearResults() revert = gg.getListItems() local t = gg.getListItems() for i, v in ipairs(t) do if v.flags == gg.TYPE_QWORD then v.value = d[1] v.freeze = true v.freezeType = gg.FREEZE_NORMAL end end gg.addListItems(t) t = nil gg.alert("๐Ÿ’ฒpazardaki bรผtรผn araรงlar artฤฑk girdiฤŸiniz fiyata ","EVET") gg.toast("AKTฤฐF โœ…") end function A5() gg.alert([[script BY Cebrail bu script car parking 1 bรผtรผn sรผrรผmleri iรงin geรงerli olacak ve sรผresiz]]) gg.clearResults() gg.clearList() end function degerarama(class, offset, tryHard, bit32, valueType) Get_user_input = {} Get_user_input[1] = class Get_user_input[2] = offset Get_user_input[3] = tryHard Get_user_input[4] = bit32 Get_user_type = valueType start() end function loopCheck() if userMode == 1 then UI() elseif error == 3 then os.exit() end end function found_(message) if error == 1 then found2(message) elseif error == 2 then found3(message) elseif error == 3 then found4(message) else found(message) end end function found(message) if count == 0 then gg.clearResults() gg.clearList() first_error = message error = 1 second_start() end end function found2(message) if count == 0 then gg.clearResults() gg.clearList() second_error = message error = 2 third_start() end end function found3(message) if count == 0 then gg.clearResults() gg.clearList() third_error = message error = 3 fourth_start() end end function found4(message) if count == 0 then gg.clearResults() gg.clearList() gg.setVisible(true) loopCheck() end end function user_input_taker() ::stort:: gg.clearResults() if userMode == 1 then if Get_user_input == nil then default1 = "PlayerController" default2 = "0x148" default3 = false default4 = false else default1 = Get_user_input[1] default2 = Get_user_input[2] default3 = Get_user_input[3] default4 = Get_user_input[4] end Get_user_input = gg.prompt( {"Class Name: ", "Offset: ","Try Harder -- (decreases accuracy)","Try For 32 bit"}, {default1,default2,default3,default4}, {"text","text","checkbox","checkbox"}) if Get_user_input ~= nil then if (Get_user_input[1] == "") or (Get_user_input[2] == "") then goto stort end else goto stort end Get_user_type = gg.choice({"1. Byte / Boolean","2. Dword / 32 bit Int","3. Qword / 64 bit Int","4. Float","5. Double"}) if Get_user_type == 1 then Get_user_type = gg.TYPE_BYTE elseif Get_user_type == 2 then Get_user_type = gg.TYPE_DWORD elseif Get_user_type == 3 then Get_user_type = gg.TYPE_QWORD elseif Get_user_type == 4 then Get_user_type = gg.TYPE_FLOAT elseif Get_user_type == 5 then Get_user_type = gg.TYPE_DOUBLE end if Get_user_type ~= gg.TYPE_BYTE then if (Get_user_input[2] % 4) ~= 0 then goto stort end end end error = 0 end function O_initial_search() gg.setVisible(false) user_input = ":"..Get_user_input[1] if Get_user_input[3] then offst = 25 else offst = 0 end end function O_dinitial_search() if error > 1 then gg.setRanges(gg.REGION_C_ALLOC) else gg.setRanges(gg.REGION_OTHER) end gg.searchNumber(user_input, gg.TYPE_BYTE) count = gg.getResultsCount() if count == 0 then found_("O_dinitial_search") return 0 end Refiner = gg.getResults(1) gg.refineNumber(Refiner[1].value, gg.TYPE_BYTE) count = gg.getResultsCount() if count == 0 then found_("O_dinitial_search") return 0 end val = gg.getResults(count) gg.addListItems(val) end function CA_pointer_search() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC | gg.REGION_OTHER) gg.loadResults(gg.getListItems()) gg.searchPointer(offst) count = gg.getResultsCount() if count == 0 then found_("CA_pointer_search") return 0 end vel = gg.getResults(count) gg.clearList() gg.addListItems(vel) end function CA_apply_offset() if Get_user_input[4] then tanker = 0xfffffffffffffff8 else tanker = 0xfffffffffffffff0 end local copy = false local l = gg.getListItems() if not copy then gg.removeListItems(l) end for i, v in ipairs(l) do v.address = v.address + tanker if copy then v.name = v.name..' #2' end end gg.addListItems(l) end function CA2_apply_offset() if Get_user_input[4] then tanker = 0xfffffffffffffff8 else tanker = 0xfffffffffffffff0 end local copy = false local l = gg.getListItems() if not copy then gg.removeListItems(l) end for i, v in ipairs(l) do v.address = v.address + tanker if copy then v.name = v.name..' #2' end end gg.addListItems(l) end function Q_apply_fix() gg.setRanges(gg.REGION_ANONYMOUS) gg.loadResults(gg.getListItems()) gg.clearList() count = gg.getResultsCount() if count == 0 then found_("Q_apply_fix") return 0 end yy = gg.getResults(1000) gg.clearResults() i = 1 c = 1 s = {} while (i-1) < count do yy[i].address = yy[i].address + 0xb400000000000000 gg.searchNumber(yy[i].address, gg.TYPE_QWORD) cnt = gg.getResultsCount() if 0 < cnt then bytr = gg.getResults(cnt) n = 1 while (n-1) < cnt do s[c] = {} s[c].address = bytr[n].address s[c].flags = 32 n = n + 1 c = c + 1 end end gg.clearResults() i = i + 1 end gg.addListItems(s) end function A_base_value() gg.setRanges(gg.REGION_ANONYMOUS) gg.loadResults(gg.getListItems()) gg.clearList() gg.searchPointer(offst) count = gg.getResultsCount() if count == 0 then found_("A_base_value") return 0 end tel = gg.getResults(count) gg.addListItems(tel) end function A_base_accuracy() gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC) gg.loadResults(gg.getListItems()) gg.clearList() gg.searchPointer(offst) count = gg.getResultsCount() if count == 0 then found_("A_base_accuracy") return 0 end kol = gg.getResults(count) i = 1 h = {} while (i-1) < count do h[i] = {} h[i].address = kol[i].value h[i].flags = 32 i = i + 1 end gg.addListItems(h) end function A_user_given_offset() local old_save_list = gg.getListItems() for i, v in ipairs(old_save_list) do v.address = v.address + Get_user_input[2] v.flags = Get_user_type end gg.clearResults() gg.clearList() gg.loadResults(old_save_list) count = gg.getResultsCount() if count == 0 then found_("Q_apply_fix++") return 0 end end function start() user_input_taker() O_initial_search() O_dinitial_search() if error > 0 then return 0 end CA_pointer_search() if error > 0 then return 0 end CA_apply_offset() if error > 0 then return 0 end A_base_value() if error > 0 then return 0 end if offst == 0 then A_base_accuracy() end if error > 0 then return 0 end A_user_given_offset() if error > 0 then return 0 end loopCheck() if error > 0 then return 0 end end function second_start() O_dinitial_search() if error > 1 then return 0 end CA_pointer_search() if error > 1 then return 0 end CA_apply_offset() if error > 1 then return 0 end Q_apply_fix() if error > 1 then return 0 end if offst == 0 then A_base_accuracy() end if error > 1 then return 0 end A_user_given_offset() if error > 1 then return 0 end loopCheck() if error > 1 then return 0 end end function third_start() O_dinitial_search() if error > 2 then return 0 end CA_pointer_search() if error > 2 then return 0 end if offst == 0 then CA2_apply_offset() end if error > 2 then return 0 end A_base_value() if error > 2 then return 0 end if offst == 0 then A_base_accuracy() end if error > 2 then return 0 end A_user_given_offset() if error > 2 then return 0 end loopCheck() if error > 2 then return 0 end end function fourth_start() O_dinitial_search() CA_pointer_search() CA2_apply_offset() Q_apply_fix() if offst == 0 then A_base_accuracy() end A_user_given_offset() loopCheck() end function UI() gg.showUiButton() while true do if gg.isClickedUiButton() then start() end end end function valueFromClass(class, offset, tryHard, valueType) local x64 = gg.getTargetInfo().x64 local offst, tanker = tryHard and 25 or 0, x64 and -16 or -8 local metadata = gg.getRangesList("global-metadata.dat")[1] local x1, x2 = {}, {} gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber(":" .. class, 1, nil, gg.SIGN_EQUAL, metadata.start, metadata["end"]) gg.searchPointer(offst) do do for i, i in ipairs(gg.getResults(gg.getResultsCount())) do table.insert(x1, { address = i.address + tanker, flags = i.flags }) end end end gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC) gg.loadResults(x1) gg.searchPointer(offst) gg.searchPointer(offst) do do for i, i in pairs(gg.getResults(gg.getResultsCount())) do table.insert(x2, { address = i.value + offset, flags = valueType }) end end end gg.loadResults(x2) end function degerarama1(Method) local x64 = gg.getTargetInfo().x64 local libil2cpp, metadata = gg.getRangesList("libil2cpp.so")[x64 and 2 or 1], gg.getRangesList("global-metadata.dat")[1] local off1, typ = x64 and -16 or -8, x64 and 32 or 4 local Mlist = {} gg.clearResults() gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC) gg.searchNumber(":" .. Method, 1, nil, gg.SIGN_EQUAL, metadata.start, metadata["end"]) gg.searchPointer(0, typ) local xpoint = gg.getResults(gg.getResultsCount()) gg.clearResults() do do for i, i in pairs(xpoint) do i.address, i.flags = i.address + off1, typ end end end do do for i, i in pairs(gg.getValues(xpoint)) do xadd = tonumber(x64 and i.value or "0x" .. string.sub(tostring(string.format("%X", tonumber(i.value))), -8, -1)) if xadd > libil2cpp.start and xadd < libil2cpp["end"] then table.insert(Mlist, { address = xadd, flags = 4 }) end end end end return #Mlist > 0 and Mlist or false end function XInt(Xr, Value) local x64 = gg.getTargetInfo().x64 local x1, x2 = "", "" local Check, Get, Hex, Edit = {}, {}, {}, {} local allocpage = gg.allocatePage(7) local Value, Xend = Value % 2147483647, x64 and "hC0035FD6" or "h1EFF2FE1" local INTX, AP = gg.getValues({ {address = allocpage, flags = 4} }), gg.getValues({ {address = allocpage, flags = 2}, { address = allocpage + 2, flags = 2 }, { address = allocpage + 4, flags = 2 }, { address = allocpage + 6, flags = 2 } }) INTX[1].value, INTX[1].freeze = Value, true gg.addListItems(INTX) gg.removeListItems(INTX) Check = gg.getValues(INTX)[1].value Get = gg.getValues(AP) if Check ~= Value or tostring(Check) == "inf" or tostring(Check) == "NaN" then return false end if x64 then do do for i, i in ipairs(Get) do table.insert(Hex, string.format((i.value < 0 and "-" or "") .. "0x%X", i.value < 0 and i.value * -1 or i.value)) end end end x1, x2 = "~A8 MOV W0, #" .. tostring(Hex[1]), "~A8 MOVK W0, #" .. tostring(Hex[2]) .. ", LSL #16" if tonumber(Hex[1]) == -1 then x1 = "~A8 MOV W0, #0xFFFF" end if tostring(Hex[1]) == "0x0" then x1 = "h00008052" end if tostring(Hex[2]) == "0x0" then x2 = "h0000A072" end else x1, x2 = "~A MOVW R0, #" .. Get[1].value + (Get[1].value < 0 and 65536 or 0), "~A MOVT R0, #" .. Get[2].value + (Get[2].value < 0 and 65536 or 0) end do do for i, i in pairs(Xr) do table.insert(Edit, { address = i.address, value = x1, freeze = true, flags = 4 }) table.insert(Edit, { address = i.address + 4, value = x2, freeze = true, flags = 4 }) table.insert(Edit, { address = i.address + 8, value = Xend, freeze = true, flags = 4 }) end end end gg.addListItems(Edit) gg.removeListItems(Edit) end function AEdit(value) local Xt = gg.getResults(gg.getResultsCount()) do do for i, i in pairs(Xt) do i.value, i.freeze = value, true end end end gg.addListItems(Xt) gg.clearList() end function offsetResults(offset, valueType) valueType = valueType and valueType:find("[DFEWBQX]") and ({ D = gg.TYPE_DWORD, F = gg.TYPE_FLOAT, E = gg.TYPE_DOUBLE, W = gg.TYPE_WORD, B = gg.TYPE_BYTE, Q = gg.TYPE_QWORD, X = gg.TYPE_XOR })[valueType] local t = gg.getResults(gg.getResultsCount()) do do for i, i in pairs(t) do if offset then i.address = i.address + offset end if valueType then i.flags = valueType end end end end gg.loadResults(t) end function CIKIS() gg.toast("ร‡IKIลž YAPILDI โŒ") os.exit() cebraill() end while true do if gg.isVisible(true) then Cebraill = 1 gg.setVisible(false) end if Cebraill == 1 then cebrail() end end