do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = '斩泪自动改车牌', appid = '101635', appkey = '8339Qeeg9j1n7e9g', rc4key = 'zK5yzZodE8LJE3I9', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= '020c448bd2de32a972673ab1eb7dbc41' then os.exit() return end end -- 列出进程并让用户选择 function chooseProcess() -- 尝试获取进程列表(不同 GG 版本支持度不同,用 pcall 保护) local ok, procs = pcall(gg.getProcesses) if not ok or procs == nil or #procs == 0 then -- 无法列出进程,退化为确认当前进程 local pkg = gg.getTargetPackage() or "(未选择)" local confirm = gg.alert( "当前目标进程:\n" .. pkg .. "\n\n" .. "请在 GameGuardian 悬浮窗中确认/切换目标应用后再继续。\n" .. "点「继续」开始脚本,点「退出」结束。", "继续", "退出" ) return confirm == 1 end -- 构建进程列表 local list = {} for i, p in ipairs(procs) do list[i] = p.name .. " [PID: " .. p.pid .. "]" end local choice = gg.choice(list, nil, "请选择要修改的应用进程") if choice == nil then return false end -- 尝试用 API 切换(部分 GG 版本支持),失败则提示手动切换 local switched = pcall(function() gg.setProcess(procs[choice].pid) end) if switched then gg.toast("已选择: " .. procs[choice].name) else gg.alert( "请在 GameGuardian 悬浮窗中手动切换到:\n" .. procs[choice].name .. "\n\n" .. "切换完成后再点「继续」。", "继续" ) end return true end function main() -- 第一步:选择进程 if not chooseProcess() then gg.toast("脚本已退出") return end -- 第二步:循环替换文本 while true do local prompt = gg.prompt( {"请输入要搜索的旧文本:", "请输入要替换的新文本:"}, {[1]="", [2]=""}, {[1]="text", [2]="text"} ) if prompt == nil then gg.toast("脚本已退出") return end local oldText = prompt[1] local newText = prompt[2] if oldText == "" or newText == "" then gg.toast("文本不能为空,请重新输入") else gg.setRanges( gg.REGION_JAVA_HEAP | gg.REGION_C_HEAP | gg.REGION_C_ALLOC | gg.REGION_C_DATA | gg.REGION_C_BSS | gg.REGION_PPSSPP | gg.REGION_ANONYMOUS ) gg.clearResults() gg.searchNumber(";" .. oldText, gg.TYPE_UNICODE) local count = gg.getResultsCount() if count == 0 then gg.toast("未找到: " .. oldText) else gg.getResults(count) gg.editAll(";" .. newText, gg.TYPE_WORD) gg.toast("成功替换 " .. count .. " 处") end gg.clearResults() end -- 循环回到开头,继续下一组替换 end end main()