local info = gg.getTargetInfo() if info.x64 then PID = 64 else PID = 32 end local function class_search(search, write, name) gg.setVisible(false) gg.clearResults() local function pointer_list(val, ranges) list = gg.getResults(gg.getResultsCount()) gg.setRanges(ranges) gg.loadResults(list) gg.searchPointer(val) end local ClassName = search[1] gg.clearResults() gg.setRanges(-2080892) gg.searchNumber(":" .. ClassName, 1) local result = gg.getResults(gg.getResultsCount()) if #result == 0 then gg.toast(name .. " -> 类名搜索失败 " .. PID .. "位") return false end for i, v in ipairs(result) do if v.value == ";" .. ClassName:sub(1, 1) then if gg.getValues({[1] = {address = v.address - 1, flags = 1}})[1].value == 0 and gg.getValues({[1] = {address = v.address + #ClassName, flags = 1}})[1].value == 0 then gg.loadResults({[1] = {address = v.address, flags = 1}}) end end end pointer_list(0, -2080892) local result = gg.getResults(gg.getResultsCount()) local num = PID / 4 for i, v in ipairs(result) do v.address = v.address - num end gg.loadResults(result) pointer_list(0, 32) pointer_list(0, 32) local result = gg.getResults(gg.getResultsCount()) for i, v in ipairs(result) do v.address = v.value + search[2] end gg.loadResults(result) --- 加载结果 local result = gg.getResults(gg.getResultsCount()) gg.clearResults() if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do if v.flags == write[2] then --- 遍历每个结果 local p = {address = v.address, flags = write[2], value = write[1], freeze = write[3]} if write[3] == true then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) if name ~= nil then gg.toast(name .. " -> 共修改" .. (#tb[1] + #tb[2]) .. "条结果") return true end else if name ~= nil then gg.toast(name .. " -> 开启失败") return false end end end -- ============================== -- class_search({"RoleAttributePlayer", 0x50}, {"99999", 4, true}, "[类名]无限护盾") -- class_search({"RoleAttributePlayer", 0x58}, {"99999", 4, true}, "[类名]无限能量") -- class_search({"RoleAttributePlayer", 0x8C}, {"0", 4, true}, "[类名]护盾恢复时间") -- class_search({"RGGameProcess", 0x20}, {"99999", 4, true}, "[类名]无限金币") -- class_search({"RGGameProcess", 0xC}, {"15", 4, true}, "[类名]跳关卡") -- class_search({"RGGameProcess", 0x10}, {"15", 4, true}, "[类名]跳关卡") class_search({"InGameStore", 0xE8}, {"1", 4, true}, "[类名]道具免费") -- class_search({"InGameStore", 0x88}, {"2147482847", 4, true}, "[类名]金币数量") -- class_search({"InGameStore", 0xD0}, {"1", 4, true}, "[类名]一键减金币") -- 类名名称: InGameStore -- 字段指针: 9AF39D90 -- 字段偏移: 0x88 -- gg.getRangesList('libil2cpp.so')[1].start -- function BaseAddressD(address, value) -- local tt = {} -- tt[1] = {} -- tt[1].address = so + address -- tt[1].flags = 4 -- tt[1].value = value -- tt[2] = {} -- tt[2].address = so + address + 0x4 -- tt[2].flags = 4 -- tt[2].value = '~A BX LR' -- gg.setValues(tt) -- end -- --方法get_backMaxWeapon -- BaseAddressD(0x159D538,'-476053404')