input=gg.prompt({' '}, {[1]= 'โ˜ฏ๏ธŽ ๐‘ท๐‘ผ๐‘ฉ๐‘ฎ ๐‘ณ๐‘ฐ๐‘ป๐‘ฌ ๐‘ฉ๐‘ฌ๐‘ป๐‘จ ๐‘ด๐‘ฟ โ˜ฏ๏ธŽ" ' } ) function HaoGe1(Range,Type,Search,Write) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then gg.toast("๐Ÿ”ๆœ็ดขๅˆฐ"..#data.."ๆ•ฐๆฎ๐Ÿ”ฐๅผ€ๅง‹่ฟ›่กŒๅ็งป") local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) gg.toast("๐Ÿšฌ"..Name.."ๆˆๅŠŸ๐Ÿ› ๅ…ฑไฟฎๆ”น"..#t.."ๆ•ฐๆฎ") else gg.toast("โŒ"..Name.."ๅคฑ่ดฅ") return false end else gg.toast("โŒ"..Name.."ๅคฑ่ดฅ") return false end end function HaoGe(Search,Get,Type,Range,Name) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) if Search[1][1]~=false then gg.searchAddress(Search[1][1],0xFFFFFFFF,Search[1][4] or Type,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) end gg.searchNumber(Search[1][2],Search[1][4] or Type,false,gg.SIGN_EQUAL,Search[1][5] or 1,Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] if (count > 0) then for i,v in ipairs(result) do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2] - base local num=Search[k][1] for i,v in ipairs(result) do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=Search[k][3] or Type end tmp=gg.getValues(tmp) for i,v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1,6) num=tostring(num):sub(1,6) else values=v.value end if tostring(values)~=tostring(num) then result[i].isUseful=false end end end for i,v in ipairs(result) do if (v.isUseful) then data[#data+1]=v.address end end if (#data > 0) then local t,t_={},{} local base=Search[1][3] for i=1,#data do for k,w in ipairs(Get) do offset=w[2] - base if w[1]==false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]==true) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "byๅˆคๅฎ˜ๆ็คบไฟฎๆ”น"..tg_.."ๆ•ฐๆฎ" or "" th=(th_) and "" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast(""..Name..tg) tg_,th_=nil,nil else gg.toast("ๆœ็ดขไธๅˆฐ",false) return false end else gg.toast("ๆœ็ดขไธๅˆฐ") return false end end function split(szFullString, sNaiCieparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, sNaiCieparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (sNaiCieparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๅคฑ่ดฅ") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๅคฑ่ดฅ") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tNaiCizpd = szpd[1] pyszpd = szpd[2] if tNaiCizpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๆˆๅŠŸ,ๅ…ฑไฟฎๆ”น" .. xgsl .. "ๆกๆ•ฐๆฎ") else gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๅคฑ่ดฅ") end end end end function edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.."ๅผ€ๅฏๅคฑ่ดฅ")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."ๅผ€ๅฏๆˆๅŠŸ")else gg.toast(_on.."ๅผ€ๅฏๅคฑ่ดฅ")end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("ๆœ็ดขๅˆฐ"..#data.."ๆกๆ•ฐๆฎ") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("ๅทฒไฟฎๆ”น"..#t.."ๆกๆ•ฐๆฎ") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") return false end end function split(szFullString, sNaiCieparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, sNaiCieparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(sNaiCieparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๅคฑ่ดฅ") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๅคฑ่ดฅ") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tNaiCizpd = szpd[1] pyszpd = szpd[2] if tNaiCizpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๆˆๅŠŸ,ๅ…ฑไฟฎๆ”น" .. xgsl .. "ๆกๆ•ฐๆฎ") else gg.toast(qmnb[2]["name"] .. "ๅผ€ๅฏๅคฑ่ดฅ") end end end end AA="ๆจกๆฟไฝœ่€…:้นฟๅ‡›" function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("โœจๅผ€ๅฏๆˆๅŠŸโœจ"..#data.."") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else gg.toast("", false) return false end else gg.toast("") return false end end --new offset function PS() end function setvalue(address,flags,value) PS("Modify address value (address, value type, value to be modified)") local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end --Base address function HG() menu = gg.multiChoice({ "๐Ž๐ ๐Ž๐", "๐Ž๐ ๐Ž๐…๐…", "180๐๐„๐‘๐’๐๐„๐‚๐“๐ˆ๐•๐„", "๐—๐€๐ƒ๐Ž๐”๐๐ฅ๐„", "๐€๐ƒ๐Ž๐”๐๐ฅ๐„", "๐„๐—๐ˆ๐“ ๐’๐‚๐‘๐ˆ๐๐“"}, nil," ๐๐„๐“๐€ ๐Œ๐—@ ") if menu == nil then else if menu[1] == true then a1() end if menu[2] == true then a2() end if menu[3] == true then a3() end if menu[4] == true then a4() end if menu[5] == true then a5() end if menu[6] == true then Exit() end end XGCK=-1 end function a1() HaoGe({{false,268464131,0,4,nil,nil},{290914307,4,4}},{{0,24,16,false}},4,16384,"้˜ฒๆ‹‰") HaoGe({{false,-637534134,0,4,nil,nil},{-309061114,-12,4}},{{0,-16,16,false}},4,16384,"็ฝš็ซ™") HaoGe({{false,150994944,0,4,nil,nil},{58,-4,4},{58,-8,4},{89,40,4},{1084227584,68,4}},{{90.0,16,16,false},{90.0,20,16,false}},4,32,"๐Ÿ”’ๅธง็އ") HaoGe({{false,-998965248,0,4,nil,nil},{1101004800,232,4}},{{0.055,236,16,false}},4,32,"้˜ฒๆ‹‰") HaoGe({{false,-309327247,0,4,nil,nil},{-308340220,4,4}},{{0.285,-4,16,false}},4,16384,"ไบบ็‰ฉๅŠ ้€Ÿ") HaoGe({{false,1198153728,0,4,nil,nil},{1,20,4},{1,24,4}},{{1.01,100,16,false}},4,32,"็ˆ†้€Ÿ") HaoGe({{false,-1088801054,0,4,nil,nil}},{{9,-8,16,false}},4,16384,"ๅ…จๅฑ€") HaoGe({{false,-1359975840,0,4,nil,nil}},{{-1228926273201366,-12,32,false}},4,16384,"้˜ฒ") HaoGe({{false,1139785728,0,4,nil,nil},{1065353216,-12,4},{1065353216,-8,4},{1065353216,-4,4}},{{1100.0,-12,16,false},{1100.0,-8,16,false},{1100.0,-4,16,false}},4,32,"็ฟปๅ€") end function a2() HaoGe({{false,268464131,0,4,nil,nil},{290914307,4,4}},{{-6.15262313e27,24,16,false}},4,16384,"้˜ฒๆ‹‰ๅ…ณ้—ญ") HaoGe({{false,-637534134,0,4,nil,nil},{-309061114,-12,4}},{{-5.10801854e27,-16,16,false}},4,16384,"็ฝš็ซ™ๅ…ณ้—ญ") HaoGe({{false,-998965248,0,4,nil,nil},{1101004800,232,4}},{{0.0005,236,16,false}},4,32,"ๅ…ณ้—ญ") HaoGe({{false,-309327247,0,4,nil,nil},{-308340220,4,4}},{{9.99999997e-7,-4,16,false}},4,16384,"ๅ…ณ้—ญ") HaoGe({{false,1198153728,0,4,nil,nil},{1,20,4},{1,24,4}},{{1.0,100,16,false}},4,32,"็ˆ†้€Ÿๅ…ณ้—ญ") HaoGe({{false,-1088801054,0,4,nil,nil}},{{10.90734863281,-8,16,false}},4,16384,"ๅ…ณ้—ญ") HaoGe({{false,-1359975840,0,4,nil,nil}},{{-1228926276669014016,-12,32,false}},4,16384,"้˜ฒๅ…ณ้—ญ") HaoGe({{false,1139785728,0,4,nil,nil},{1065353216,-12,4},{1065353216,-8,4},{1065353216,-4,4}},{{1.0,-12,16,false},{1.0,-8,16,false},{1.0,-4,16,false}},4,32,"็ฟปๅ€ๅ…ณ้—ญ") end function a3() gg.setRanges(16384) gg.setVisible(false) gg.searchNumber("360.0;0.00100000005;-9.38575022e22", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("360.0;0.00100000005", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll("-1.4235595e-27;180", gg.TYPE_FLOAT) gg.toast("Bull and horse perspective11"..gg.getResultCount().."1ๆ•ฐๆฎ") end function a4() Name = "xaDouble" Name = "half blow" local Nc = 32 local Lx = 16 local Sz1 = {{10.0, 0},{46.0, 4}} local Sz2 = {{999, 0}} HaoGe1(Nc, Lx, Sz1, Sz2) local Nc = 16392 local Lx = 32 local Sz1 = {{-1505254313802431360, 0}} local Sz2 = {{-1505254313804169216, 0}} HaoGe1(Nc, Lx, Sz1, Sz2) Name = "Opened successfully" local Nc = 16392 local Lx = 32 local Sz1 = {{-1328550408728725571, 0}} local Sz2 = {{-1328550408581493555, 0}} HaoGe1(Nc, Lx, Sz1, Sz2) Name = "xaDoubled open successfully" local Nc = 32 local Lx = 16 local Sz1 = {{10.0, 0},{46.0, 4}} local Sz2 = {{99999, 0}} HaoGe1(Nc, Lx, Sz1, Sz2) end function a5() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4,525,216,907,414,147,695", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(30) gg.editAll("4,525,216,907,473,673,257", gg.TYPE_QWORD) end function Exit() print("34Had sex with jb and used it as a trap") os.exit() end while(true)do if gg.isVisible(true) then XGCK=1 gg.setVisible(false) end gg.clearResults() if XGCK==1 then HG() end end