--😋Kitsune Mask😋制作 --1218539014作者qq --类型c --rlgg执行最佳 本工具永久免费 function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, 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(szSeparator) 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"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 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"] .. "\n开启失败") 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"] .. "\n开启失败") 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, ";") 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[i].address xgxc(szpy, qmxg) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "\n开启成功\n注入" .. xgsl .. "\n条数据") else gg.toast(qmnb[2]["name"] .. "\n开启失败") end end end end--配置"--你乱动的话可能会执行不哦! --1 搜索一个数 --2 变化的数移动偏移 --3 数据类型篡改,修改数据 gg.searchNumber("104", gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume()--搜索值 gg.refineNumber("104", gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume()--移动值 gg.refineNumber("104", gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume()--移动值 gg.refineNumber("104", gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume()--移动值 revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("835", gg.TYPE_DOUBLE) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil)--修改值 gg.editAll("835", gg.TYPE_DOUBLE)--修改值 gg.clearResults()--退出值 gg.processResume()--退出值 gg.toast("开启成功")--退出值