function setvalue(A0_55879, A1_55880, A2_55881) local L3_55882 L3_55882 = {} L3_55882[1] = {} L3_55882[1].address = A0_55879 L3_55882[1].flags = A1_55880 L3_55882[1].value = A2_55881 gg.setValues(L3_55882) end _ENV["edit"] = function(A0_55894, A1_55895) _om = A0_55894[1].memory or A0_55894[1][1] _ov = A0_55894[3].value or A0_55894[3][1] _on = A0_55894[2].name or A0_55894[2][1] gg.clearResults() gg.setRanges(_om) gg.searchNumber(_ov, A0_55894[3].type or A0_55894[3][2]) sz = gg.getResultCount() if 1 > sz then gg.toast(_on .. "失败") else sl = gg.getResults(720) for _FORV_5_ = 1, sz do ist = true for _FORV_9_ = 4, #A0_55894 do if ist == true and sl[_FORV_5_].value == _ov then cd = { {} } cd[1].address = sl[_FORV_5_].address + (A0_55894[_FORV_9_].offset or A0_55894[_FORV_9_][2]) cd[1].flags = A0_55894[_FORV_9_].type or A0_55894[_FORV_9_][3] szpy = gg.getValues(cd) cdlv = A0_55894[_FORV_9_].lv or A0_55894[_FORV_9_][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[_FORV_5_].address for _FORV_9_ = 1, #A1_55895 do xgpy = szpy + (A1_55895[_FORV_9_].offset or A1_55895[_FORV_9_][2]) xglx = A1_55895[_FORV_9_].type or A1_55895[_FORV_9_][3] xgsz = A1_55895[_FORV_9_].value or A1_55895[_FORV_9_][1] xgdj = A1_55895[_FORV_9_].freeze or A1_55895[_FORV_9_][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(A0_55907, A1_55908, A2_55909) local L3_55910, L4_55911, L5_55912, L6_55913, L7_55914, L8_55915, L9_55916, L10_55917, L11_55918, L12_55919, L13_55920, L14_55921, L15_55922, L16_55923, L17_55924, L18_55925, L19_55926, L20_55927, L21_55928 function L8_55915() local L0_55929, L1_55930, L2_55931, L3_55932, L4_55933, L5_55934, L6_55935, L7_55936, L8_55937, L9_55938, L10_55939 L0_55929 = "ipairs" end end function split(A0_55940, A1_55941) local L2_55942, L3_55943, L4_55944 L2_55942 = 1 L3_55943 = 1 L4_55944 = {} while true do gg.killGG() if gg.isVpn() then gg.alert(("环境异常!")) os.exit() end if not string.find(A0_55940, A1_55941, L2_55942) then L4_55944[L3_55943] = string.sub(A0_55940, L2_55942, string.len(A0_55940)) break end L4_55944[L3_55943] = string.sub(A0_55940, L2_55942, string.find(A0_55940, A1_55941, L2_55942) - 1) L2_55942 = string.find(A0_55940, A1_55941, L2_55942) + string.len(A1_55941) L3_55943 = L3_55943 + 1 end return L4_55944 end function xgxc(A0_55956, A1_55957) local L2_55958, L3_55959, L4_55960, L5_55961 L2_55958 = 1 L3_55959 = #A1_55957 for _FORV_5_ = 1, #A1_55957 do xgpy = A0_55956 + A1_55957[_FORV_5_]["offset"] xglx = A1_55957[_FORV_5_].type xgsz = A1_55957[_FORV_5_].value xgdj = A1_55957[_FORV_5_].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(A0_55973) gg.clearResults() gg.setRanges(A0_55973[1]["memory"]) gg.searchNumber(A0_55973[3].value, A0_55973[3].type) if gg.getResultCount() == 0 then gg.toast(A0_55973[2].name .. "失败") else gg.refineNumber(A0_55973[3].value, A0_55973[3].type) gg.refineNumber(A0_55973[3].value, A0_55973[3].type) gg.refineNumber(A0_55973[3].value, A0_55973[3].type) if gg.getResultCount() == 0 then gg.toast(A0_55973[2].name .. "失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if 999999 < sz then sz = 999999 end for _FORV_4_ = 1, sz do pdsz = true for _FORV_8_ = 4, #A0_55973 do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[_FORV_4_].address + A0_55973[_FORV_8_].offset pysz[1].flags = A0_55973[_FORV_8_].type szpy = gg.getValues(pysz) pdpd = A0_55973[_FORV_8_].lv .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[_FORV_4_].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(A0_55973[2].name .. "成功,共196864" .. xgsl .. "条数据") else gg.toast(A0_55973[2].name .. "失败") end end end end gg.alert(os.date("开始入侵账护"), ("开始入侵账户")) function Main() menu = gg.choice({ "🇼🇸绝地求生账户入侵32.64", "🇼🇸绝地求生体验版本账户入侵", "🇼🇸绝地求生轻量版本账户入侵", "⚠️防止第三方系统检测", "防止闪退32.", "防止闪退64.", "不再入侵账户" }, 2023, "入侵的账户不能保证绝对的安全") if menu == 1 then A() end if menu == 2 then B() end if menu == 3 then C() end if menu == 4 then D() end if menu == 5 then E() end if menu == 6 then F() end if menu == 7 then Exit() end XGCK = -1 end function A() menu1 = gg.multiChoice({ "防止检查", "日本韩国防止检查", "台湾防止检查", "越南防止检查", "更改客人账户", "刷新客人账户", "", "免冷却绑定邮件", "免冷却绑定推特", "免冷却绑定脸书", "免冷却解除其他登录方式", "退出界面" }, nil, "🇼🇸绝地求生(🇨🇳版本)账户入侵") if menu1 == nil then else if menu1[1] == true then a1() end if menu1[2] == true then a2() end if menu1[3] == true then a3() end if menu1[4] == true then a4() end if menu1[5] == true then a5() end if menu1[6] == true then a6() end if menu1[7] == true then a7() end if menu1[8] == true then a8() end if menu1[9] == true then a9() end if menu1[10] == true then a10() end if menu1[11] == true then a11() end if menu1[12] == true then a12() end if menu1[13] == true then HOME() end end GLWW = -1 end function B() menu1 = gg.multiChoice({ "防止检查", "日本韩国防止检查", "越南防止检查", "更改客人账户", "刷新客人账户", "免冷却绑定邮件", "免冷却绑定推特", "免冷却绑定脸书", "免冷却解除其他登录方式", "退出界面" }, nil, "🇨🇳国际服64位功能菜单") if menu1 == nil then else if menu1[1] == true then b1() end if menu1[2] == true then b2() end if menu1[3] == true then b3() end if menu1[4] == true then b4() end if menu1[5] == true then b5() end if menu1[6] == true then b6() end if menu1[7] == true then b7() end if menu1[8] == true then b8() end if menu1[9] == true then b9() end if menu1[10] == true then b10() end if menu1[11] == true then HOME() end end GLWW = -1 end function C() menu1 = gg.multiChoice({ "", "", "", "", "", "", "", "", "" }, nil, "这个选项没有更新最新的版本暂时无法使用") if menu1 == nil then else if menu1[1] == true then c1() end if menu1[2] == true then c2() end if menu1[3] == true then c3() end if menu1[4] == true then c4() end if menu1[5] == true then c5() end if menu1[6] == true then c6() end if menu1[7] == true then c7() end if menu1[8] == true then c8() end if menu1[9] == true then HOME() end end GLWW = -1 end function a1() so = gg.getRangesList(("libUE4.so"))[1].start py = 38330496 setvalue(so + py, 16, 0) gg.toast("成功") end function a2() so = gg.getRangesList(("libUE4.so"))[1].start py = 87912484 setvalue(so + py, 16, 0) so = gg.getRangesList("libUE4.so")[1].start py = 88602940 setvalue(so + py, 16, 0) gg.toast("成功") end function a3() so = gg.getRangesList(("libUE4.so"))[1].start py = 38308844 setvalue(so + py, 16, tonumber("0.0")) gg.toast("成功") end function a4() so = gg.getRangesList(("libUE4.so"))[1].start py = 93311768 setvalue(so + py, 4, 20) gg.toast("成功") end function a5() so = gg.getRangesList(("libUE4.so"))[1].start py = 93315568 setvalue(so + py, 16, 60) gg.toast("成功") end function a6() so = gg.getRangesList(("libUE4.so"))[1].start py = 88617060 setvalue(so + py, 16, tonumber("360.0")) gg.toast("成功") end function a7() so = gg.getRangesList(("libUE4.so"))[1].start py = 64673912 setvalue(so + py, 4, 0) gg.toast("成功") end function a8() so = gg.getRangesList(("libUE4.so"))[1].start py = 73024712 setvalue(so + py, 4, 0) gg.toast("成功") end function a9() so = gg.getRangesList(("libUE4.so"))[1].start py = 48684712 setvalue(so + py, 16, 0) gg.toast("成功") end function a10() so = gg.getRangesList(("libUE4.so"))[1].start py = 48684712 setvalue(so + py, 16, -tonumber("1.86389771e-20")) gg.toast("成功") end function a11() _ENV["setvalue"] = function(A0_56188, A1_56189, A2_56190) local L3_56191 L3_56191 = {} L3_56191[1] = {} L3_56191[1].address = A0_56188 L3_56191[1].flags = A1_56189 L3_56191[1].value = A2_56190 gg.setValues(L3_56191) end _ENV["setvalue"](gg.getRangesList("libTDataMaster.so")[1].start + 14180, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 18261, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 18468, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 18520, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 20670, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 21198, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 21263, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 21343, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 21847, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 21944, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 21962, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22016, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22075, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22147, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22190, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22237, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22304, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22353, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22402, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22448, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22489, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22530, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22578, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22630, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22702, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22756, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22810, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22861, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 22896, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 135464, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 135484, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 136000, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 136792, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 138368, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 138384, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 140908, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 140944, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 140960, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 141020, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 141632, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 141648, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 141672, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 141688, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 181684, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 181944, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 182700, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 182844, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 184244, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 184288, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 185940, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 185964, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 186024, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 190196, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 190244, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 191836, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 201372, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 265744, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 265768, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 267356, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 267376, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 267772, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 269364, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 272776, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 273008, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 2098493, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 2098587, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 2098640, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 2098905, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 2098997, 32, 0) setvalue(gg.getRangesList("libTDataMaster.so")[1].start + 2115056, 32, 0) gg.alert("32位logo防封开启成功!推荐功能:基址无后,防抖,聚点,范围,自瞄") end function a12() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("578,351,706,144,768;564,058,054,983680", gg.TYPE_QWORD) gg.refineNumber("578,351,706,144,768", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("288516253469900800", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("577,252,194,516,992;288,233,678,981,562,368", gg.TYPE_QWORD) gg.refineNumber("577,252,194,516,992", gg.TYPE_QWORD) gg.getResults(50000) gg.editAll("361418272522109953", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("447,514,117,406,720", gg.TYPE_QWORD, nil, nil, nilnil) gg.getResults(66677) gg.editAll("361418272522109953", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("144387;134658:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("144387", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("135682;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("135682", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("134658;131330:737", gg.TYPE_DWORD) gg.getResults(66677) gg.refineNumber("134658", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("131331;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("131331", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("589,824;16384;4096;1024;256", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("589824", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("4,194,312", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("4,194,312", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("1,147,264", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1,147,264", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("15,536", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("15,536", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("101,912", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("101,912", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("84149249", gg.TYPE_DWORD) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("1,970,642,922", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1,970,642,922", gg.TYPE_DWORD) gg.getResults(66677) gg.editAll("839123713", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("196864;16842753::5", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("196864", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg = gg.getResults(100000) sl = gg.getResultCount() for _FORV_3_ = 1, sl do dzy = jg[_FORV_3_].address gg.addListItems({ [1] = { address = dzy, flags = gg.TYPE_DWORD, freeze = true, value = 256 } }) end gg.alert("建议您更新绑定邮件,并绑定您的电话号码!") end function b1() so = gg.getRangesList(("libUE4.so"))[1].start py = 79974820 setvalue(so + py, 4, 449318186) gg.toast("成功") end function b2() so = gg.getRangesList(("libUE4.so"))[1].start py = 130392984 setvalue(so + py, 4, 449318186) gg.toast("成功") so = gg.getRangesList("libUE4.so")[1].start py = 92153424 setvalue(so + py, 4, 1409287170) gg.toast("成功") end function b3() so = gg.getRangesList(("libUE4.so"))[1].start py = 79964972 setvalue(so + py, 4, 505425152) gg.toast("成功") end function b4() so = gg.getRangesList(("libUE4.so"))[1].start py = 115302320 setvalue(so + py, 4, 706675684) gg.toast("成功") end function b5() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;23;25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("100", gg.TYPE_FLOAT) gg.searchNumber("30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("100", gg.TYPE_FLOAT) gg.toast("成功!") end function b6() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10.0;45.0;40.0", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(150) gg.editAll("99999", gg.TYPE_FLOAT) gg.toast("成功") end function b7() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("99999.0;45.0;40.0", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("99999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(150) gg.editAll("10", gg.TYPE_FLOAT) gg.toast("成功") end function b8() so = gg.getRangesList(("libgcloud.so"))[1].start py = 4940040 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4944920 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4945064 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4945576 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946688 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946696 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946720 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4947688 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4947944 setvalue(so + py, 4, 0) gg.clearResults() gg.setRanges(16384) gg.searchNumber("75776", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_4_, _FORV_5_ in ipairs(revert) do if _FORV_5_.flags == gg.TYPE_DWORD then _FORV_5_.value = "65536" _FORV_5_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("131586;131330", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("131586", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_5_, _FORV_6_ in ipairs(revert) do if _FORV_6_.flags == gg.TYPE_DWORD then _FORV_6_.value = "84149249" _FORV_6_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("136706;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("136706", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_6_, _FORV_7_ in ipairs(revert) do if _FORV_7_.flags == gg.TYPE_DWORD then _FORV_7_.value = "67175425" _FORV_7_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("134402;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("134402", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_7_, _FORV_8_ in ipairs(revert) do if _FORV_8_.flags == gg.TYPE_DWORD then _FORV_8_.value = "67175425" _FORV_8_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("137730;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("137730", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_8_, _FORV_9_ in ipairs(revert) do if _FORV_9_.flags == gg.TYPE_DWORD then _FORV_9_.value = "67175425" _FORV_9_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(16384) gg.searchNumber("2,453,636", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("2,453,636", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_9_, _FORV_10_ in ipairs(revert) do if _FORV_10_.flags == gg.TYPE_DWORD then _FORV_10_.value = "0" _FORV_10_.freeze = true end end gg.addListItems(revert) gg.alert("默柒第一套防开启成功") end function b9() so = gg.getRangesList(("libgcloud.so"))[1].start py = 4940040 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4944920 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4945064 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4945576 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946688 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946696 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946720 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4947688 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4947944 setvalue(so + py, 4, 0) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("144387;134658", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("144387", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(1000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_4_, _FORV_5_ in ipairs(revert) do if _FORV_5_.flags == gg.TYPE_DWORD then _FORV_5_.value = "67175425" _FORV_5_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("131586;131330", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("131586", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(1000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_5_, _FORV_6_ in ipairs(revert) do if _FORV_6_.flags == gg.TYPE_DWORD then _FORV_6_.value = "67175425" _FORV_6_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("134,402;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("134402", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(1000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_6_, _FORV_7_ in ipairs(revert) do if _FORV_7_.flags == gg.TYPE_DWORD then _FORV_7_.value = "67175425" _FORV_7_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("136706;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("136706", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_7_, _FORV_8_ in ipairs(revert) do if _FORV_8_.flags == gg.TYPE_DWORD then _FORV_8_.value = "67175425" _FORV_8_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("137730;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("137730", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_8_, _FORV_9_ in ipairs(revert) do if _FORV_9_.flags == gg.TYPE_DWORD then _FORV_9_.value = "67175425" _FORV_9_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("131331;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("131331", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_9_, _FORV_10_ in ipairs(revert) do if _FORV_10_.flags == gg.TYPE_DWORD then _FORV_10_.value = "67175425" _FORV_10_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("10,240;131,072;262,144;524,288", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("10,240;131,072;262,144;524,288", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_10_, _FORV_11_ in ipairs(revert) do if _FORV_11_.flags == gg.TYPE_DWORD then _FORV_11_.value = "0" _FORV_11_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("10257;2,097,152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("10257;2,097,152", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_11_, _FORV_12_ in ipairs(revert) do if _FORV_12_.flags == gg.TYPE_DWORD then _FORV_12_.value = "0" _FORV_12_.freeze = true end end gg.addListItems(revert) gg.alert("默柒第二套防开启成功") end function b10() so = gg.getRangesList(("libgcloud.so"))[1].start py = 4940040 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4944920 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4945064 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4945576 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946688 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946696 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4946720 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4947688 setvalue(so + py, 4, 0) so = gg.getRangesList("libgcloud.so")[1].start py = 4947944 setvalue(so + py, 4, 0) gg.clearResults() gg.setRanges(4) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("196,864;16,842,753::5", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("196,864", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("13,4218,241", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("131586;131330", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("131586", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_4_, _FORV_5_ in ipairs(revert) do if _FORV_5_.flags == gg.TYPE_DWORD then _FORV_5_.value = "13,4218,241" _FORV_5_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("144387;134658", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("144387", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_5_, _FORV_6_ in ipairs(revert) do if _FORV_6_.flags == gg.TYPE_DWORD then _FORV_6_.value = "67175425" _FORV_6_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("131331;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("131331", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_6_, _FORV_7_ in ipairs(revert) do if _FORV_7_.flags == gg.TYPE_DWORD then _FORV_7_.value = "13,4218,241" _FORV_7_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("135426;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("135426", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_7_, _FORV_8_ in ipairs(revert) do if _FORV_8_.flags == gg.TYPE_DWORD then _FORV_8_.value = "13,4218,241" _FORV_8_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(16384) gg.searchNumber("8,060,928", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(50000) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("135938;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("135938", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_8_, _FORV_9_ in ipairs(revert) do if _FORV_9_.flags == gg.TYPE_DWORD then _FORV_9_.value = "13,4218,241" _FORV_9_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("134402;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("134402", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_9_, _FORV_10_ in ipairs(revert) do if _FORV_10_.flags == gg.TYPE_DWORD then _FORV_10_.value = "13,4218,241" _FORV_10_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("136706;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("136706", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_10_, _FORV_11_ in ipairs(revert) do if _FORV_11_.flags == gg.TYPE_DWORD then _FORV_11_.value = "13,4218,241" _FORV_11_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("137730;131330:737", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("137730", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_11_, _FORV_12_ in ipairs(revert) do if _FORV_12_.flags == gg.TYPE_DWORD then _FORV_12_.value = "13,4218,241" _FORV_12_.freeze = true end end gg.addListItems(revert) gg.alert("成功") end function c1() so = gg.getRangesList(("libUE4.so"))[1].start py = 79974820 setvalue(so + py, 4, 449318186) gg.toast("成功") end function c2() so = gg.getRangesList(("libUE4.so"))[1].start py = 130392984 setvalue(so + py, 4, 449318186) gg.toast("成功") so = gg.getRangesList("libUE4.so")[1].start py = 92153424 setvalue(so + py, 4, 1409287170) gg.toast("成功") end function c3() so = gg.getRangesList(("libUE4.so"))[1].start py = 79964972 setvalue(so + py, 4, 505425152) gg.toast("成功") end function c4() so = gg.getRangesList(("libUE4.so"))[1].start py = 115302320 setvalue(so + py, 4, 706675684) gg.toast("成功") end function c5() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.20161819458;23;25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("100", gg.TYPE_FLOAT) gg.searchNumber("30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("100", gg.TYPE_FLOAT) gg.toast("成功!") end function c6() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("10.0;45.0;40.0", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(150) gg.editAll("99999", gg.TYPE_FLOAT) gg.toast("成功") end function c7() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("99999.0;45.0;40.0", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("99999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(150) gg.editAll("10", gg.TYPE_FLOAT) gg.toast("成功") end function c8() gg.clearResults() gg.setRanges(4) gg.searchNumber("144387;134658", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("144387", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_4_, _FORV_5_ in ipairs(revert) do if _FORV_5_.flags == gg.TYPE_DWORD then _FORV_5_.value = "67175425" _FORV_5_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("196,864;16,842,753::5", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("196,864", gg.TYPE_DWORD) gg.getResults(50000) gg.editAll("13,4218,241", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("131586;131330", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("131586", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_5_, _FORV_6_ in ipairs(revert) do if _FORV_6_.flags == gg.TYPE_DWORD then _FORV_6_.value = "13,4218,241" _FORV_6_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("135682;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("135682", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_6_, _FORV_7_ in ipairs(revert) do if _FORV_7_.flags == gg.TYPE_DWORD then _FORV_7_.value = "13,4218,241" _FORV_7_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("134402;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("134402", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_7_, _FORV_8_ in ipairs(revert) do if _FORV_8_.flags == gg.TYPE_DWORD then _FORV_8_.value = "13,4218,241" _FORV_8_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("134146;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("134146", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_8_, _FORV_9_ in ipairs(revert) do if _FORV_9_.flags == gg.TYPE_DWORD then _FORV_9_.value = "13,4218,241" _FORV_9_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("135938;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("135938", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_9_, _FORV_10_ in ipairs(revert) do if _FORV_10_.flags == gg.TYPE_DWORD then _FORV_10_.value = "13,4218,241" _FORV_10_.freeze = true end end gg.addListItems(revert) gg.clearResults() gg.setRanges(4) gg.searchNumber("137730;131330:757", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("137730", gg.TYPE_DWORD) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) for _FORV_10_, _FORV_11_ in ipairs(revert) do if _FORV_11_.flags == gg.TYPE_DWORD then _FORV_11_.value = "13,4218,241" _FORV_11_.freeze = true end end gg.addListItems(revert) gg.alert("成功") end function D() for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in _ENV["pairs"](b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end for _FORV_3_ = 1, #a do for _FORV_7_, _FORV_8_ in pairs(b) do if tonumber(a[_FORV_3_].address) >= _FORV_8_.start and tonumber(a[_FORV_3_].address) <= _FORV_8_["end"] then for _FORV_12_, _FORV_13_ in pairs(gg.getRangesList(_FORV_8_.internalName)) do if _FORV_13_.start == _FORV_8_.start then num = _FORV_12_ print("Tools::WriteAddr((void *) (anogs + 0x34298" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x35118" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)11 98 53 05 60, 4);") print("Tools::WriteAddr((void *) (anogs + 0x352B0" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x262C76" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") print("Tools::WriteAddr((void *) (anogs + 0x28BCD8" .. string.format("%X", a[_FORV_3_].address) .. "), (void *)0, 4);") break end end end end end gg.toast("框架防三方开启成功 ") end function E() gg.clearResults() gg.setRanges(16384) gg.searchNumber("328,671,808", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("10000001", gg.TYPE_DWORD) gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber("328,671,808", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("10000001", gg.TYPE_DWORD) gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber("328,671,808", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("10000001", gg.TYPE_DWORD) gg.clearResults() gg.clearResults() gg.setRanges(16384) gg.searchNumber("328,671,808", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("10000001", gg.TYPE_DWORD) gg.clearResults() gg.toast("成功") end function F() gg.setRanges(16384) gg.searchNumber("10000001", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("328,671,808", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("10000001", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("328,671,808", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("10000001", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("328,671,808", gg.TYPE_DWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("10000001", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll("328,671,808", gg.TYPE_DWORD) gg.toast("成功") end function HOME() lw = 1 _ENV["Main"]() end function Exit() _ENV["print"]("") os.exit() end cs = "" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end