local Table_QQ={ 36806809925, } for k,v in pairs(Table_QQ) do local panduan=os.rename("/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/MobileQQ/"..v,"/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/MobileQQ/"..v) while not not panduan and panduan do gg.alert("你以被落叶拉黑\n检测到您已被拉黑无法进入脚本") print("落叶") os.exit() GN() end end ffvpn = "https://biaozhunshijian.bmcx.com" ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x = tostring(gg.makeRequest(ffvpn)) if not x or not x:sub(1, 20) then gg.alert("GG正在杀除网络", "确定") elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then gg.alert("你已开NPN⚠️") gg.alert("⚠️😂👉小丑竟然是自己,哈哈!!!!!!") for _FORV_4_ = 1, 3 do function AA(bytes,result1,result2) for i=1,999999 do local bytesa=load(bytes) end end function BB() local dataArr={'999999','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB() print("网络请求警告:\n\n╾╾╾╾╾ 警告 ⚠╾╾╾╾╾ \n检测到您正在使用恶意抓包软件破解脚本\n已自动删除原脚本\n请勿有违规行为\n╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ ") end end-----这是一层警告 BD = 0----第二层增强警告 BD1 = gg.isPackageInstalled('com.evbadroid.wicap') BD2 = gg.isPackageInstalled('com.xuan.laofan') BD3 = gg.isPackageInstalled('com.xky.hosts') BD4 = gg.isPackageInstalled('com.minhui.networkcapture') BD5 = gg.isPackageInstalled('app.greyshirts.sslcapture') BD6 = gg.isPackageInstalled('com.guoshi.httpcanary.premium') BD7 = gg.isPackageInstalled('com.sprintwind.packetcapturetool') BD8 = gg.isPackageInstalled('com.httpcanary.pro') BD9 = gg.isPackageInstalled('cn.iyya.vvv') BD10 = gg.isPackageInstalled('') BD11 = gg.isPackageInstalled('') if BD1 == true then BD = 1 end if BD2 == true then BD = 1 end if BD3 == true then BD = 1 end if BD4 == true then BD = 1 end if BD5 == true then BD = 1 end if BD6 == true then BD = 1 end if BD7 == true then BD = 1 end if BD8 == true then BD = 1 end if BD9 == true then BD = 1 end if BD10 == true then BD = 1 end if BD11 == true then BD = 1 end if BD == 1 then BDx = gg.alert('无敌了 孩了😂😂\n想破想美!\n\n \n 将为你封号10年', '跳过') loadYunLua('http://vip.okig.top/down.php/27dadd967f66bec0927b221d7983717a.lua') while true do gg.processKill() gg.setVisible(true) os.exit(x) end end----结束配置请勿乱动! --言辞log防御 local Rep_=string.rep(" ",100000) local Tab_={} for k=1,1024 do Tab_[k]=Rep_ end Rep_=nil -----------------------防脚本反编译----------------------- Supermem = {} local Y = Y for i, v in ipairs(Supermem) do if ipairs(M .. v .. "防反编译") == 1 then break end end g={} for index,value in pairs(g) do return value end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end local You = {} for i, v in pairs(You) do You[i] = v end You.io = {} You.gg = {} You.string = {} for i, v in pairs(io) do You.io[i] = v end for i, v in pairs(string) do You.string[i] = v end for i, v in pairs(gg) do You.gg[i] = v end local Super = {} Super.info = {} for i, v in ipairs(Super.info) do Super[Super.setsList[i]] = v end --防捕捉 local Seabit2=string.char(0,0,0,0) for i=1,19 do Seabit2=Seabit2..Seabit2 end function smz() for s=1,30 do gg.searchNumber(Seabit2) end end --防load function HG2(bytes,result1,result2) for i=1,2 do local bytesa=load(bytes) end end function HG() local dataArr={"40000","0000000"} for index,value in pairs(dataArr) do bytes = tonumber(value) HG2(bytes,result1,result2) end end HG() --防恶魔 _ENV["debug"]["getinfo"]=function(a) return _ENV["debug"]["getinfo"]("by寒岗") end --rep防御 a="a" aa=a:rep(5) if aa == "aaaaa" then print("验证通过") else print("检测到rep") HGHMD() HGHMD2() HGSWJ() local B=("@(.-):") os.remove(B:match("[^/]*$")) os.remove(gg.getFile():match("[^/]*$")) os.remove(B) os.exit() end --破解拉黑机制 if io.open("/storage/emulated/0/hghmd.txt") then gg.alert("运行异常,你已被拉黑") HGSWJ() os.exit() end if io.open("/storage/emulated/0/Android/Android_GG_log_0_1.txt") then HGHMD() gg.alert("运行异常,你已被拉黑") HGSWJ() os.exit() end local res = gg.makeRequest("你的链接").content if not res then gg.alert("❗️网络错误") while true do os.exit() end end local now=1 local switch = res:match('【开关】(.-)【开关】') local ver = res:match('【版本】(.-)【版本】') local urls = res:match('【更新链接】(.-)【更新链接】') if switch ~= "开" then gg.alert('❗️作者已关闭使用') end if tonumber(ver)>now then local g=gg.makeRequest(urls).content if not g then gg.alert('有新版本, 网络异常或者更新失败❗') while true do os.exit() end end io.open(gg.getFile():match('.+/(.+)'),'w'):write(g) gg.alert('更新完毕, 请重启脚本') os.exit() end -----后台填写格式 -----【开关】【开关】 -----【版本】【版本】 -----【更新链接】【更新链接】 function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end --基址配置 function Sear(search,write,xglx) if search[1][5]==nil or search[1][6]==nil then search[1][5]=0 search[1][6]=-1 end gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) time=os.clock() gg.searchNumber(search[1][1],search[1][2],false,gg.SlGN_EQUAL,search[1][5],search[1][6]) if gg.getResultsCount()==0 then gg.toast("未搜索到主特征码")return false else local result=gg.getResults(gg.getResultsCount()) gg.clearResults() for i=2,#search do local mtp={} for w,r in ipairs(result)do mtp[#mtp+1]={address=r.address+search[i][2],flags=search[i][3]} end mtp=gg.getValues(mtp) local hook={} for w,r in ipairs(mtp)do if r.value==search[i][1]then hook[#hook+1]=result[w] end end result=hook end if #result>0 then local tb={{},{}} for i,v in ipairs(result)do for _,vv in ipairs(write)do local p={address=v.address+vv[2],flags=vv[3],value=vv[1]} if vv[4]then table.insert(tb[1],p) else table.insert(tb[1],p) end if xglx=="冻结"then ts="冻结" gg.addListItems({{address=v.address+vv[2],flags=vv[3],value=vv[1],freeze=true}}) gg.clearList() end end end if xglx=="修改"then ts="修改" gg.setValues(tb[1]) end if xglx=="载入"then ts="载入" gg.loadResults(tb[1]) end gg.toast(search[1][4].."已"..ts.."共"..ts..(#tb[1]+#tb[2]).."条数据 耗时"..os.clock()-time.."秒")else gg.alert(search[1][4]..ts.."失败") end end end Jh = gg.REGION_JAVA_HEAP--Jh 内存 Ch = gg.REGION_C_HEAP--Ch 内存 Ca = gg.REGION_C_ALLOC--Ca 内存 Cd = gg.REGION_C_DATA--Cd 内存 Cb = gg.REGION_C_BSS--Cb 内存 PS = gg.REGION_PPSSPP--PS 内存 A = gg.REGION_ANONYMOUS--A 内存 J = gg.REGION_JAVA--J 内存 S = gg.REGION_STACK--S 内存 As = gg.REGION_ASHMEM--As 内存 V = gg.REGION_VIDEO--V 内存 O = gg.REGION_OTHER--O 内存 BAD = gg.REGION_BAD--B 内存 Xa = gg.REGION_CODE_APP--Xa 内存 Xs = gg.REGION_CODE_APP--Xs 内存 ----------类型简化配置参考区---------- AU = gg.TYPE_AUTO--A类型搜索 D = gg.TYPE_DWORD--D类型搜索 F = gg.TYPE_FLOAT--F类型搜索 E = gg.TYPE_DOUBLE--E类型搜索 W = gg.TYPE_WORD--W类型搜索 B = gg.TYPE_BYTE--B类型搜索 Q = gg.TYPE_QWORD--Q类型搜索 X = gg.TYPE_XOR--X类型搜索 local sltzwb=[[ 10610:1055260444;1742427355>>1 10620:-1251574865;293356639>>1 10600:-1459749577;1453845935>>4 10820:5782838;307211666>>1 10910:1366165233;-959299907>>1 10920:-1724920734;-418029752>>1 10900:-1700082564;-852006767>>4 11010:513266111;-1651175537>>1 11030:1679741952;1789128854>>5 11000:-1731356582;-1818575036>>1 11000:-396196825;-628032823>>1 11100:963007093;-1246397859>>1 11110:-1647624730;-780349921>>1 11120:1361171417;-485971397>>1 11130:508136698;1203885853>>1 11210:1739717768;326760170>>1 11230:1275598573;-919856082>>1 11220:-1974669886;1673652167>>1 11200:-571908398;-644795380>>1 11200:215616902;-907823920>>1 11310:-16230891;-587332770>>1 11310:2136706283;-623633217>>1 11310:1456662092;831832789>>1 11320:-861428902;1761105793>>1 11321:-861428902;1761105793>>1 11503:1839633993;-70482655>>1 11500:1031925933;1665367089>>4 11810:-331233950;-1309848121>>1 11830:87641132;1959807621>>1 11800:-73853814;986894772>>1 11910:1920166056;737320263>>1 11920:290740150;-1492787459>>1 11900:-865275227;-1428289213>>4 12100:144773250;-554941254>>1 12120:1562278596;-1470277846>>1 11720:-1853884787;-324089665>>1 12430:313298720;-1080257458>>1 12420:525672169;1323183020>>1 12400:-920374605;-846965353>>1 12520:1089704395;-1631274853>>1 12520:-1424964715;-1549860814>>1 12520:-157886254;1817545891>>1 12520:-2135829356;-973253524>>1 12530:2141330581;572823680>>1 12530:1971394081;739201045>>1 12500:1862574887;1519680074>>1 12710:591195338;217498003>>3 12720:138305544;566871242>>1 12730:178403174;409100735>>1 12700:715549993;741014203>>4 12820:-1065785056;-647300840>>1 12803:-1077381172;-1291753615>>1 12803:127473439;623421847>>1 13010:344291746;551300066>>1 13120:-1074428811;2044986558>>1 13210:563399891;-790827280>>1 13200:1844436097;-862317405>>1 13310:-1068110413;751159501>>1 13330:-1556245561;1186348745>>1 13300:90586797;-564505394>>1 13610:806711084;411487840>>1 13611:893413221;-1603089051>>1 13620:-1910335931;-145751070>>1 13630:-1786278933;-549867012>>1 13600:-709597499;1812065559>>1 13720:-1424618556;-2076332167>>1 14010:250774838;-286190920>>1 14110:-371962621;-1662184922>>1 14220:1854255460;-1383917337>>1 14210:-1525832713;19095201>>1 14210:-405701430;749866326>>1 14210:-978155926;1338490228>>1 14210:1419013195;1584055946>>1 14210:1279246565;881603829>>1 14200:1824780766;-1225241853>>1 13530:-405720039;467776444>>1 14610:-506975449;-783037494>>1 14820:-873906689;2140783119>>1 14810:-494990225;-1919774869>>1 14830:-123093950;713572151>>1 14800:-801012976;-1370284186>>1 14910:-1345675363;-677562629>>1 14903:-844820259;1085442243>>1 15210:-1319314107;-1600648>>1 15220:1296902577;-561486993>>1 15230:1091717961;522215838>>1 15200:583322761;-79193879>>1 15203:792509347;-1609140334>>1 15203:-1458869878;-559932741>>1 15203:1313172680;1522868844>>1 15320:1870394893;-1913239230>>1 15420:530248233;-311847275>>1 15510:1428729481;898579958>>1 15500:723821787;-2024836309>>4 15501:299126345;990537274>>1 15610:-55765700;2045757569>>1 15600:-1693415873;1984668587>>1 15720:-1739063788;-851233805>>1 15901:-563012914;-1627132827>>4 15900:-334961849;-1537848084>>1 15900:-505183882;-1361190911>>1 16210:-1407937170;-2060421606>>1 16630:712015886;-2070042710>>1 16730:-260551065;1418204301>>1 16920:1897672248;-781365316>>1 16930:-1107348179;-1379492945>>1 16900:-282766668;-2098440506>>1 17000:-2046287609;1154275362>>1 17000:-382657629;741326072>>1 17000:-1938999516;-877641955>>1 17110:675034462;492053587>>1 17320:-736271659;-681186269>>1 17300:-392316183;1357716462>>1 17330:-1667246776;-1757007589>>1 17310:-572483157;1597137553>>1 17410:-1288839639;1728339046>>1 17420:-2047342254;1913727701>>1 17430:549731081;279715280>>1 17400:672470253;-2130089926>>1 17603:1843206722;286650988>>1 17610:257644112;924624185>>1 17620:451682479;571181057>>1 17630:-1893213410;1128980643>>1 17630:-627756931;-1222023649>>1 17631:-1777361682;-691901995>>1 17631:-1893213410;1128980643>>1 17710:-879837796;-1660621860>>1 17700:380132241;-1639268518>>1 17730:-687965038;-742802570>>1 17720:-1316474402;-697882486>>1 17810:-1671958638;-1141490309>>1 17830:-1097256673;1313833466>>1 17910:-962474446;487982080>>1 17930:-1097701626;677941603>>1 17900:1903475199;-602053228>>1 18210:-1732905434;848703713>>1 18220:-924900886;-879018922>>1 18221:344034602;-1804708370>>1 18221:-2064324305;-1167900607>>1 18232:1618786899;880636281>>1 18231:-133718597;-903821798>>1 18231:-1077707661;-169178737>>1 18231:899838648;1241167511>>1 18231:-1506391935;-2098501254>>1 18232:1618786899;880636281>>1 18232:784181201;1368372840>>1 18232:216894703;1656207124>>1 18232:1775660161;1116028479>>1 18420:-484200026;685743304>>1 18400:1863005472;1724167106>>4 18720:191662705;-690583953>>1 18720:-1239392447;1658389516>>1 18720:636591033;-900524435>>1 18700:-1553625640;1565393622>>1 18900:2024084553;623869321>>1 19000:2088381914;-445417157>>4 19030:-1109615214;-118838427>>1 19010:-1324470703;544363623>>1 19010:2036716302;-1491328554>>1 19010:-1296744778;1682727000>>1 19040:-1223058175;-1382382471>>4 19140:1103096896;763825489>>1 19100:1541486398;-413969465>>1 19110:1692191848;-2134978208>>1 19110:-607353681;796193291>>1 19120:1435611578;1071693716>>1 19130:-109245182;-1901187918>>1 19130:1558211457;-2092513798>>1 19220:-842694099;-326105535>>3 19200:-2029458993;-2065559981>>1 19203:1356555927;-1640842822>>1 19310:-768239778;1059675770>>1 19620:-1420754562;1974699135>>1 19600:-1224346704;1697090586>>4 19630:-836247937;-198925652>>1 19730:312255809;-990087761>>1 19720:76528922;2086157642>>1 19720:-801245312;-1857233819>>1 19710:-1462333786;-1891376887>>1 19700:-110181525;488427774>>4 19810:1730559440;806275853>>1 19820:2092217392;-1770398151>>1 19820:1882791049;1500966673>>1 19821:69726686;1759783921>>1 19900:-946037521;1487869573>>1 31210:1820788986;1012782443>>1 31210:1381894142;-1572521956>>1 31230:-1649059243;174949191>>1 31220:1049566847;2084839570>>1 31200:-695211152;747725438>>1 31200:-2141845470;124748467>>1 50110:1277896255;1871480365>>1 50120:-1791352964;-25465259>>1 50130:1470091293;1132742361>>1 50200:-1932247432;-1858757154>>1 50200:97555309;780718385>>1 50200:-2054928310;461613821>>1 50200:-865855035;-28037411>>1 50210:843500242;90556801>>1 50220:2129234334;-223138608>>1 50300:-788908026;-739708768>>1 50330:-1871246219;1237810130>>1 50410:-1888900875;1536926483>>1 50420:-1300126249;-1074781673>>1 50430:-1693235107;-1737707374>>1 50500:-311647484;585164090>>1 50500:-1734038706;782470969>>1 50500:-1177772136;-946263053>>1 50510:731180280;-1333674493>>1 50520:-198221338;1564467790>>1 50620:1959714260;-274534161>>1 50630:2020391532;1661868379>>1 50630:-204522112;448026011>>1 50722:1662608350;1045912732>>1 50722:-22875723;1245443779>>1 50722:1845377349;863868302>>1 50722:-195836311;-1161003098>>1 50732:-618090692;-1009025514>>1 50732:304043545;-1858952076>>1 50732:803113874;1553927395>>1 50720:1952593283;554497628>>1 50731:1179691734;2048206744>>1 50706:-297987495;1253052660>>1 50800:-393053130;1189323620>>4 50801:495356193;1519416523>>1 50801:-1431851366;680048604>>1 50801:1328878673;1083893621>>1 50820:-1158699299;941227358>>1 50820:955949838;369678993>>1 51010:-946120317;-1333443981>>1 51030:-542883219;1946560233>>1 51303:-432426225;-1471413606>>1 51320:-1551872151;977704893>>1 51300:1500020647;1525574126>>4 51330:-1892083140;-1337813599>>1 51310:38924342;-51029474>>1 51520:1654265231;-234468082>>1 51510:-1743302379;991111621>>1 51510:-363958559;-1680410783>>1 51510:1777074974;-2068228184>>1 51510:-1929958219;380451439>>1 51510:-1933266674;-626600780>>1 51510:1201782183;-48802531>>1 51500:599950613;-770683503>>1 51505:2006361900;-1547371144>>1 51810:1791778278;-124866426>>1 51830:-1332344559;-1531829751>>1 51820:749356077;-2087682254>>1 51900:1207154762;1918267683>>1 51920:-376776714;-1206965562>>1 51900:443171846;1777690262>>1 51910:-764425888;-459098594>>1 51920:343557691;-922394521>>1 51930:1294883981;-346522611>>1 52100:-942974188;-1746921150>>4 52110:-377614393;-1445449890>>1 52120:1782273690;-1845110341>>1 52300:874596001;1318730058>>1 52320:53638571;22544795>>1 52310:163755686;-666468970>>3 52420:139140813;-429107906>>1 52400:-2127460591;-966819460>>1 52400:1633608910;-930187857>>1 52920:1773815324;30974392>>1 52930:-2140365160;-2147483544>>1 52930:-2140364392;-2147483264>>1 52930:-2140353964;-2147483544>>1 52930:-2140353460;-2147483544>>1 52930:-2140343912;-2147483544>>1 52930:-2140343144;-2147483264>>1 53301:-994470913;27517609>>1 53301:-1597061043;1064289694>>1 53400:-1687301624;439678538>>1 53430:1986324072;-1512525686>>1 53400:-1545277833;-1564723860>>1 53700:711887018;-839293556>>1 53701:-497348685;372415053>>1 53703:2050924659;-153826783>>1 53720:-394509074;-1826494978>>1 54020:-973884504;312319120>>3 54000:941570316;1840822747>>1 54030:-2092368420;-21901150>>1 54420:1343811331;-1679193962>>3 54430:-893485052;-452114930>>1 54530:-239352783;-1436724816>>1 54530:-971230546;-473084403>>1 54530:-546772462;1418856036>>1 54500:561284005;-1019565930>>1 54500:-841424575;1093366765>>1 55810:937768751;-1473305568>>1 56310:-376220935;71329685>>1 56300:1518162753;-1857586388>>1 ]] function xy_Actad(tab) local v,lx,_A=gg.getRangesList(tab[1]) if not v[1] then gg.toast("获取失败,原因:未获取模块") return end if v[1].start>4294967295 then lx=32 else lx=4 end local max=function(num) if lx==4 then if num<0 then return 2147483648-math.abs(num)+2147483648 else return num end else return num end end for i,k in pairs(tab[2]) do if i==#tab[2] then _A=_A+k elseif i==1 then _A=gg.getValues({{address=v[1].start+k,flags=lx}})[1].value else _A=gg.getValues({{address=_A+k,flags=lx}})[1].value end _A=max(_A) end if _A==tab[2][#tab] then gg.toast("获取失败,原因:指针错误") return end return _A end ---②伤xs function editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()qmnbv=qmnb[3]["value"]or qmnb[3][1]qmnbt=qmnb[3]["type"]or qmnb[3][2]qmnbn=qmnb[2]["name"]or qmnb[2][1]gg.setRanges(qmnb[1]["memory"]or qmnb[1][1])gg.searchNumber(qmnbv,qmnbt)gg.refineNumber(qmnbv,qmnbt)sz=gg.getResultCount()if sz==0 then gg.toast(qmnbn.."开启失败")else sl=gg.getResults(999999)for i=1,sz do pdsz=true for v=4,#qmnb do if pdsz==true then pysz={{}}pysz[1].address=sl[i].address+(qmnb[v]["offset"]or qmnb[v][2])pysz[1].flags=qmnb[v]["type"]or qmnb[v][3]szpy=gg.getValues(pysz)tzszpd=tostring(qmnb[v]["lv"]or qmnb[v][1]):gsub(",","")pyszpd=tostring(szpy[1].value):gsub(",","")if tzszpd==pyszpd then pdjg=true pdsz=true else pdjg=false pdsz=false end end end if pdjg==true then szpy=sl[i].address for x=1,#qmxg do xgsz=qmxg[x]["value"]or qmxg[x][1]xgpy=szpy+(qmxg[x]["offset"]or qmxg[x][2])xglx=qmxg[x]["type"]or qmxg[x][3]xgdj=qmxg[x]["freeze"]or qmxg[x][4]xg={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xg[1].freeze=xgdj gg.addListItems(xg)else gg.setValues(xg)end end xgjg=true end end if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end ---③防xs函数 function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end ---④指针函数 ---⑤鹿十七高速指针1.5.1 function Format(tab,format,write,Function)if format=="查看" then return print(tab)elseif format=="修改"then local Table={}for k,v in pairs(tab)do for kk,vv in pairs(write)do Table[#Table+1]={["address"]=v["address"]+vv[2],["flags"]=vv[3],["value"]=vv[1]}end end return gg.setValues(Table)elseif format=="载入"then gg.loadResults(tab)elseif format=="冻结"then local Table={}for k,v in pairs(tab)do for kk,vv in pairs(write)do Table[#Table+1]={["address"]=v["address"]+vv[2],["flags"]=vv[3],["value"]=vv[1],["freeze"]=true}end end return gg.addListItems(Table)end end function LSQ_type_conversion(txt,type1,type2)gg.allocatePage(gg.PROT_READ|gg.PROT_WRITE|gg.PROT_EXEC,0x99999999)local Table={{["address"]=0x99999999,["flags"]=type1,["value"]=txt}}local set=gg.setValues(Table)Table[1]["flags"]=type2 local get=gg.getValues(Table)[1]["value"]return get end function Get_value()if gg.getResultsCount()>100000 then local result={}local Table={}while true do local Results=gg.getResults(100000)if not Results or #Results==0 then break end result[#result+1]=Results local remove=gg.removeResults(Results)end for k=1,#result do for kk,vv in pairs(result[k])do Table[#Table+1]=vv end end return Table else return gg.getResults(gg.getResultsCount())end end function Type_filtering(values)if string.find(values,".") then start,v=string.match(values,"^(.-)%.(.)")value=string.format("%s.%s",start,v)return value else return values end end function LSQ_pointer(search,write,mode)if search[1][5] and search[1][6] then region_start=search[1][5]region_end=search[1][6]else region_start=0 region_end=-1 end gg.clearResults()if search[1][2] =="16"and search[1][2] =="64"then local Value=LSQ_type_conversion(search[1][1],search[1][2],Q)gg.setRanges(search[1][3])gg.searchNumber(Value,Q,false,gg.SIGN_EQUAL,region_start,region_end)gg.searchNumber(Value,Q,false,gg.SIGN_EQUAL,region_start,region_end)else gg.setRanges(search[1][3])gg.searchNumber(search[1][1],search[1][2],false,gg.SIGN_EQUAL,region_start,region_end)gg.searchNumber(search[1][1],search[1][2],false,gg.SIGN_EQUAL,region_start,region_end)end if gg.getResultsCount()==0 then gg.toast("未搜索到指针数据")return false else local result=Get_value()gg.clearResults()for i=2,#search do local offset_array={}for k,v in ipairs(result) do offset_array[#offset_array+1]={["address"]=v["address"]+search[i][2],["flags"]=search[i][3]}end offset_array=gg.getValues(offset_array)local verify_array={}for k,v in ipairs(offset_array) do if v["flags"]==16 then v["value"]=Type_filtering(v["value"])end if v["flags"]==64 then v["value"]=Type_filtering(v["value"])end if not string.find(search[i][1],"~") then if v["value"]==search[i][1] then verify_array[#verify_array+1]=result[k]end else min,max=string.match(search[i][1],'^(.-)~(.-)$')min,max=tonumber(min),tonumber(max)if v["value"]>=min and v["value"]<=max then verify_array[#verify_array+1]=result[k]end end end result=verify_array end gg.toast("[功能]"..search[1][4].."开启成功") if #result>0 then Format(result,mode,write)return #result else return false end end end ---⑥秋辞搜索附近配置 function gx(search,write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) time=os.clock() gg.searchNumber(search[1][1],search[1][2],false,gg.SlGN_EQUAL,start,over) if gg.getResultsCount() == 0 then gg.toast("未搜索到主特征码") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2,#search do local mtp = {} for w,r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2],flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w,r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{},{}} for i,v in ipairs(result) do --- 遍历每个结果 for _,vv in ipairs(write) do local p = {address = v.address + vv[2],flags = vv[3],value = vv[1],freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2],p) else table.insert(tb[1],p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast(name.."已解析\n共解析" .. (#tb[1] + #tb[2]) .. "条数据\n耗时"..os.clock()-time.."秒") else gg.toast("解析失败") end end end ---⑦基址1 readPointer = function(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[true]=32,[false]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i = 2,#offset do addr = gg.getValues({{address=addr,flags=va[x64]}}) if not x64 then addr[1].value = addr[1].value & 0xFFFFFFFF end addr = addr[1].value + offset[i] end return addr end end function gg.edits(addr, Table, name) if addr == nil then gg.toast("开启失败 检测不到基址头") else local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.toast((name or "") .. "开启成功 [ 修改"..#Table.."个值 ] ") end end function gg.edits(addr, Table) local Table1 = {{}, {}} for k, v in ipairs(Table) do local value = {address = addr+v[3], value = v[1], flags = v[2], freeze = v[4]} if v[4] then Table1[2][#Table1[2]+1] = value else Table1[1][#Table1[1]+1] = value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) end function xy_Actad(tab) local v,lx,_A=gg.getRangesList(tab[1]) if not v[1] then gg.toast("获取失败,原因:未获取模块") return end if v[1].start>4294967295 then lx=32 else lx=4 end local max=function(num) if lx==4 then if num<0 then return 2147483648-math.abs(num)+2147483648 else return num end else return num end end for i,k in pairs(tab[2]) do if i==#tab[2] then _A=_A+k elseif i==1 then _A=gg.getValues({{address=v[1].start+k,flags=lx}})[1].value else _A=gg.getValues({{address=_A+k,flags=lx}})[1].value end _A=max(_A) end if _A==tab[2][#tab] then gg.toast("获取失败,原因:指针错误") return end return _A end ---⑧基址配置2 function S_Pointer(t_So, t_Offset, _bit)local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$')for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v)end end return ranges end local function Get_Address(N_So, Offset, ti_bit)local ti = gg.getTargetInfo()local S_list = getRanges()local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '')if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value=S[_].value & 0xFFFFFFFF end t[#t + 1] = {}t[#t].address = S[_].value + Offset[i]t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))return _A end ---⑨Chainer v0.75基址配置 ---自制工具 function xyss(tzb,xgb,gnlx) gg.setRanges(tzb[1][3]) if tzb[1][4]==nil or tzb[1][5]==nil then tzb[1][4]=0 tzb[1][5]=-1 end gg.clearResults() gg.searchNumber(tzb[1][1],tzb[1][2], false, gg.SIGN_EQUAL, tzb[1][4], tzb[1][5]) local a=gg.getResultsCount() local k=gg.getResults(a) gg.clearResults() local ftz={} local xgb2={} local djb={} for v=1,a do for i=2,#tzb do ftz[#ftz+1]={address=k[v].address+tzb[i][3],flags=tzb[i][2]} end end local ftz=gg.getValues(ftz) for i=1,a do _sjj=0 for s=2,#tzb do if ftz[(#tzb-1)*(i-1)+s-1].value==tzb[s][1] then _sjj=_sjj+1 end if _sjj==#tzb-1 then for z=1,#xgb do if xgb[z][4]==true then table.insert(djb,{address=k[i].address+xgb[z][3],flags=xgb[z][2],value=xgb[z][1],freeze=true}) else table.insert(xgb2,{address=k[i].address+xgb[z][3],flags=xgb[z][2],value=xgb[z][1]}) end end end end end if gnlx=="修改" then gg.setValues(xgb2) gg.addListItems(djb) if #xgb2+#djb==0 then gg.toast("开启失败") else gg.toast("开启成功,共修改"..#xgb2..",冻结"..#djb.."个值") end elseif gnlx=="载入" then gg.loadResults(xgb2) gg.toast("共载入"..#xgb2.."个值") end end local JCXX = gg.getTargetInfo(); local DJSFLB={}; local ZDYJLB={}; function NCZH(S) if(S==2)then return "Jh"; elseif(S==1)then return "Ch"; elseif(S==4)then return "Ca"; elseif(S==8)then return "Cd"; elseif(S==16)then return "Cb"; elseif(S==262144)then return "PS"; elseif(S==32)then return "A"; elseif(S==65536)then return "J"; elseif(S==64)then return "S"; elseif(S==524288)then return "As"; elseif(S==1048576)then return "V"; elseif(S==-2080896)then return "O"; elseif(S==131072)then return "B"; elseif(S==16384)then return "Xa"; elseif(S==32768)then return "Xs"; end end function QNCL(N) local x={}; local z=0; local n=gg.getRangesList(); for v,w in ipairs(n)do if w.state == N then x[#x+1]=w; x[#x].size=w["end"]-w["start"]; end end return x,#x; end function NCPX(nclb,sj) local nclc=#nclb; if(sj==1)then for i=1,nclc-1 do for j=1 ,nclc-1 do if(nclb[j].size>nclb[j+1].size)then local temp = nclb[j+1]; nclb[j + 1] = nclb[j]; nclb[j] = temp; end end end elseif(sj==2)then for i=1,nclc-1 do for j=1 ,nclc-1 do if(nclb[j].size0 or data.ncks>0 or data.ncjw<100)then local nclb,ncsl=QNCL(NCZH(data.ncfw)); if(ncsl==0)then gg.toast(data.gnm.."开启失败"); return false; end local nclb=NCPX(nclb,data.ncpx); local ks,GGBox=math.modf(#nclb*(data.ncks*0.01)); if(ks==0)then ks=1; end local jw,GGBox=math.modf(#nclb*(data.ncjw*0.01)); if(jw==0)then jw=#nclb; end for i=ks,jw do gg.clearResults(); gg.searchNumber(data.xss.sz, data.xss.lx, false, gg.SIGN_EQUAL, nclb[i]["start"], nclb[i]["end"], 0); gg.refineNumber(data.gs.sz, data.gs.lx); local sl=gg.getResultsCount(); if(sl>0)then local sj=gg.getResults(sl) for j=1,sl do sssl=sssl+1; sssj[sssl]=sj[j]; end end gg.clearResults(); end if(#sssj==0)then gg.toast(data.gnm.."开启失败"); return false; end; gg.loadResults(sssj); gg.getResults(sssl) else gg.clearResults(); gg.setRanges(data.ncfw); gg.searchNumber(data.xss.sz, data.xss.lx); gg.refineNumber(data.gs.sz, data.gs.lx); sssl=gg.getResultsCount(); if(sssl==0)then gg.toast(data.gnm.."开启失败"); return false; end; sssj=gg.getResults(sssl); end local xgz=data.xg.sz; if(data.zdyjl and ZDYJLB[data.md5])then xgz=ZDYJLB[data.md5]; end if(data.zdyxg)then local zdy=gg.prompt({data.zdybz},{xgz},{"number"}); if(zdy)then xgz=zdy[1]; if(data.zdyjl)then ZDYJLB[data.md5]=zdy[1]; end else gg.clearResults(); gg.toast(data.gnm.."取消开启"); return false; end; end; if(data.xgdj==false)then gg.editAll(xgz, data.xg.lx); gg.clearResults(); gg.toast(data.gnm.."开启成功"); return true; end; if(data.djsf)then if(DJSFLB[data.md5])then gg.removeListItems(DJSFLB[data.md5]); end; DJSFLB[data.md5]={}; for i, v in ipairs(sssj) do if v.flags == data.xg.lx then v.value = xgz; v.freeze = true; DJSFLB[data.md5][#DJSFLB[data.md5]+1]=v.address; end; end; else for i, v in ipairs(sssj) do if v.flags == data.xg.lx then v.value = xgz; v.freeze = true; end; end; end; gg.addListItems(sssj); gg.clearResults(); gg.toast(data.gnm.."开启成功"); return true; end; function PYXG(M,md5,S,G) local sfs=0; local sfl=0; if(DJSFLB[md5])then sfl=#DJSFLB[md5]; gg.removeListItems(DJSFLB[md5]); end; DJSFLB[md5]={}; local zdyjmsj={}; zdyjmsj.t={}; zdyjmsj.s={}; zdyjmsj.r={}; zdyjmsj.j={}; local zdyjl=0; for i,v in pairs(G) do if(v.zd)then zdyjl=zdyjl+1; zdyjmsj.t[zdyjl]=v.bz; if(v.jl and ZDYJLB[md5])then zdyjmsj.s[zdyjl]=ZDYJLB[md5][zdyjl]; else zdyjmsj.s[zdyjl]=v.sz; end zdyjmsj.r[zdyjl]="number"; zdyjmsj.j[zdyjl]=i end; end; if(zdyjl>0)then local zdy=gg.prompt(zdyjmsj.t,zdyjmsj.s,zdyjmsj.r); if(zdy)then ZDYJLB[md5]={}; for i=1,#zdyjmsj.j do ZDYJLB[md5][i]=zdy[i]; G[zdyjmsj.j[i]].sz=zdy[i]; end; else gg.toast(M.."取消开启"); return false; end; end; local xg,xgs,dj,djs={},0,{},0; for i,v in ipairs(S)do for I,V in ipairs(G)do local shuju={}; shuju["address"]=v.address+V.py; shuju["flags"]=V.lx; shuju["value"]=V.sz; if(V.dj)then shuju["freeze"]=true; djs=djs+1; dj[djs]=shuju; if(V.sf)then sfs=sfs+1; DJSFLB[md5][sfs]=v.address+V.py; end; else xgs=xgs+1; xg[xgs]=shuju; end; end; end; gg.setValues(xg); gg.addListItems(dj); gg.toast(M.."开启成功\n修改"..xgs.."|冻结"..djs.."|释放"..sfl); end; function TZMPT(ztz,ftz) local linshishuju; local xinshuju; local ftzs=#ftz for i=1,ftzs do linshishuju={}; xinshuju={}; for ii,v in ipairs(ztz)do linshishuju[ii]={}; linshishuju[ii].address=v.address+ftz[i].py; linshishuju[ii].flags=ftz[i].lx; end; for ii,v in ipairs(gg.getValues(linshishuju))do if(v.value==ftz[i].sz)then xinshuju[#xinshuju+1]=ztz[ii] end; end; if(#xinshuju==0)then return false; end; ztz=xinshuju; end; return ztz end; function PYSS(data) local sssl=0; local sssj={}; if(data.ncpx>0 or data.ncks>0 or data.ncjw<100)then local nclb,ncsl=QNCL(NCZH(data.ncfw)); if(ncsl==0)then gg.toast(data.gnm.."开启失败"); return false; end local nclb=NCPX(nclb,data.ncpx); local ks,GGBox=math.modf(#nclb*(data.ncks*0.01)); if(ks==0)then ks=1; end local jw,GGBox=math.modf(#nclb*(data.ncjw*0.01)); if(jw==0)then jw=#nclb; end for i=ks,jw do gg.clearResults(); gg.searchNumber(data.ztz.sz, data.ztz.lx, false, gg.SIGN_EQUAL, nclb[i]["start"], nclb[i]["end"], 0); local sl=gg.getResultsCount(); if(sl>0)then local sj=gg.getResults(sl) for j=1,sl do sssl=sssl+1; sssj[sssl]=sj[j]; end end gg.clearResults(); end if(#sssj==0)then gg.toast(data.gnm.."开启失败\n未找到主特征"); return false; end; gg.clearResults(); else gg.clearResults(); gg.setRanges(data.ncfw); gg.searchNumber(data.ztz.sz, data.ztz.lx); sssl=gg.getResultsCount(); if(sssl<1)then gg.toast(data.gnm.."开启失败\n未找到主特征"); return false; end; sssj=gg.getResults(sssl); gg.clearResults(); end sssj=TZMPT(sssj,data.ftz); if(sssj)then PYXG(data.gnm,data.md5,sssj,data.xgz); else gg.toast(data.gnm.."开启失败\n未找到副特征"); return false; end; end; function ZZTZ(mk,zzlt) local zzlts=#zzlt; if(zzlts==0)then return false; end local sjlx; if(JCXX.x64)then sjlx=32; else sjlx=4; end; local shuzu={}; shuzu[1] = {}; shuzu[1].address = mk.start + zzlt[1]; shuzu[1].flags = sjlx; if zzlts ~= 1 then for i = 2, zzlts do local dushuju = gg.getValues(shuzu); shuzu = {} for _ in pairs(dushuju) do if not JCXX.x64 then dushuju[_].value = dushuju[_].value & 0xFFFFFFFF end shuzu[1] = {} shuzu[1].address = dushuju[_].value + zzlt[i] shuzu[1].flags = sjlx end; end; end; return shuzu; end; function ZZSS(data) local mklb={}; local mklbs=0; local t = gg.getRangesList('^/data/*'..data.mkm..'*$'); for i,v in pairs(t) do if(v.type:sub(1, 1)=="r" and (v.state==NCZH(data.nclx)))then mklbs=mklbs+1; mklb[mklbs]=v; end; end; if(mklbs==0)then gg.toast(data.gnm.."开启失败\n没找到模块头"); return false; end local k,j; if(data.xh==0)then k=1; j=mklbs; else if(mklbs=sz[1] and v.value<=sz[2] then hook[#hook+1]=k[i] end end end if search[a][1]:find('<')~=nil and not search[a][1]:find('=') then zxsl=zxsl+1 local sz=search[a][1]:match('<(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value')~=nil and not search[a][1]:find('=') then zxsl=zxsl+1 local sz=search[a][1]:match('>(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value>sz then hook[#hook+1]=k[i] end end end if search[a][1]:find('<=')~=nil then zxsl=zxsl+1 local sz=search[a][1]:match('<=(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value<=sz then hook[#hook+1]=k[i] end end end if search[a][1]:find('>=')~=nil then zxsl=zxsl+1 local sz=search[a][1]:match('>=(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value>=sz then hook[#hook+1]=k[i] end end end if zxsl==0 then search[a][1]=tonumber(search[a][1]) for i,v in pairs(b) do if v.value==search[a][1] then hook[#hook+1]=k[i] end end end else for i,v in pairs(b) do if v.value==search[a][1] then hook[#hook+1]=k[i] end end end k=hook end local zr,xg,dj={},{},{} for x,y in pairs(modify) do if y[4]=='修改' then for i,v in pairs(k) do xg[#xg+1]={address=v.address+y[3],flags=y[2],value=y[1]} end end if y[4]=='载入' then for i,v in pairs(k) do zr[#zr+1]={address=v.address+y[3],flags=y[2]} end end if y[4]=='冻结' then for i,v in pairs(k) do dj[#dj+1]={address=v.address+y[3],flags=y[2],value=y[1],freeze=true} end end if y[4]=='保存' then for i,v in pairs(k) do dj[#dj+1]={address=v.address+y[3],flags=y[2],name=y.name} end end end gg.setValues(xg) gg.addListItems(dj) gg.loadResults(zr) gg.toast(name..'执行完毕\n耗时:'..os.clock()-time..'秒\n执行共修改:'..#xg..',冻结/保存:'..#dj..',载入:'..#zr) end function xy_Offset_Search(search,modify) gg.setRanges(search[1][3]) local name=search[1]['name'] or '' local time = os.clock() gg.clearResults() gg.searchNumber(search[1][1],search[1][2],nil,nil,search[1][4] or 0 ,search[1][5] or -1) local k=gg.getResults(gg.getResultsCount()) gg.clearResults() for a=2,#search do local b,hook={},{} for i,v in ipairs(k) do b[#b+1]={address=v.address+search[a][3],flags=search[a][2]} end b=gg.getValues(b) if type(search[a][1])=='string' then local zxsl=0 if string.find(search[a][1],'~')~=nil then zxsl=zxsl+1 local sz={search[a][1]:match('(.+)~(.+)')} local sz={tonumber(sz[1]),tonumber(sz[2])} for i,v in ipairs(b) do if v.value>=sz[1] and v.value<=sz[2] then hook[#hook+1]=k[i] end end end if search[a][1]:find('<')~=nil and not search[a][1]:find('=') then zxsl=zxsl+1 local sz=search[a][1]:match('<(.+)') local sz=tonumber(sz) for i,v in ipairs(b) do if v.value')~=nil and not search[a][1]:find('=') then zxsl=zxsl+1 local sz=search[a][1]:match('>(.+)') local sz=tonumber(sz) for i,v in ipairs(b) do if v.value>sz then hook[#hook+1]=k[i] end end end if search[a][1]:find('<=')~=nil then zxsl=zxsl+1 local sz=search[a][1]:match('<=(.+)') local sz=tonumber(sz) for i,v in ipairs(b) do if v.value<=sz then hook[#hook+1]=k[i] end end end if search[a][1]:find('>=')~=nil then zxsl=zxsl+1 local sz=search[a][1]:match('>=(.+)') local sz=tonumber(sz) for i,v in ipairs(b) do if v.value>=sz then hook[#hook+1]=k[i] end end end if zxsl==0 then search[a][1]=tonumber(search[a][1]) for i,v in ipairs(b) do if v.value==search[a][1] then hook[#hook+1]=k[i] end end end else for i,v in ipairs(b) do if v.value==search[a][1] then hook[#hook+1]=k[i] end end end k=hook end local zr,xg,dj,jg,sr1,sr2,jlsj,hqz={},{},{},{},{},{},{},{} for x,y in ipairs(modify) do if #k==0 then break end if y[4]=='修改' then for i,v in ipairs(k) do xg[#xg+1]={address=v.address+y[3],flags=y[2],value=y[1]} end end if y[4]=='载入' then for i,v in ipairs(k) do zr[#zr+1]={address=v.address+y[3],flags=y[2]} end end if y[4]=='冻结' then for i,v in ipairs(k) do dj[#dj+1]={address=v.address+y[3],flags=y[2],value=y[1],freeze=true} end end if y[4]=='保存' then for i,v in ipairs(k) do dj[#dj+1]={address=v.address+y[3],flags=y[2],name=y.name} end end if y[4]=='获取' then local hq={} for i,v in ipairs(k) do hq[#hq+1]={address=v.address+y[3],flags=y[2]} end local hq=gg.getValues(hq) jg[#jg+1]=hq end if y[4]=='自定义修改' then sr1[#sr1+1]=y.name or '没名字属性' hqz[#hqz+1]={address=k[1].address+y[3],flags=y[2]} jlsj[#jlsj+1]=x..'>修改' end if y[4]=='自定义冻结' then sr1[#sr1+1]=y.name or '没名字属性' hqz[#hqz+1]={address=k[1].address+y[3],flags=y[2]} jlsj[#jlsj+1]=x..'>冻结' end end if #jlsj >0 then local hqz=gg.getValues(hqz) for i,v in ipairs(hqz) do sr2[#sr2+1]=v.value end local pro=gg.prompt(sr1,sr2) if not pro then gg.toast('你选择了取消/没输入') return end for x,y in ipairs(jlsj) do local zxsz,zxlx=y:match('(.+)>(.+)') local zxsz=tonumber(zxsz) if zxlx=='修改' then for i,v in ipairs(k) do xg[#xg+1]={address=v.address+modify[zxsz][3],flags=modify[zxsz][2],value=pro[x]} end end if zxlx=='冻结' then for i,v in ipairs(k) do dj[#dj+1]={address=v.address+modify[zxsz][3],flags=modify[zxsz][2],value=pro[x],freeze=true} end end end end gg.setValues(xg) gg.addListItems(dj) gg.loadResults(zr) gg.toast('['..name..']执行完毕\n耗时:'..os.clock()-time..'秒\n执行共修改:'..#xg..',冻结/保存:'..#dj..',载入:'..#zr..',获取:'..#jg..'个偏移') if #jg>0 then return jg end end function xyss(tzb,xgb,gnlx) gg.setRanges(tzb[1][3]) if tzb[1][4]==nil or tzb[1][5]==nil then tzb[1][4]=0 tzb[1][5]=-1 end if tzb[1]["name"]==nil then tzb[1]["name"]="" end gg.clearResults() local time = os.clock() gg.searchNumber(tzb[1][1],tzb[1][2], false, gg.SIGN_EQUAL, tzb[1][4], tzb[1][5]) local k=gg.getResults(gg.getResultsCount()) if #k==0 then gg.toast("开启失败") return end gg.clearResults() local writetable={{},{}} for a=2,#tzb do local b,hook={},{} for i,v in ipairs(k) do b[#b+1]={address=v.address+tzb[a][3],flags=tzb[a][2]} end b=gg.getValues(b) for x,y in ipairs(b) do if y.value==tzb[a][1] then hook[#hook+1]=k[x] end end k=hook end if #k>0 then for i=1,#k do for v=1,#xgb do if xgb[v][4] then writetable[1][#writetable[1]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1],freeze=true} else writetable[2][#writetable[2]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1]} end end end if gnlx=="修改" then gg.setValues(writetable[2]) gg.addListItems(writetable[1]) gg.toast(tzb[1]["name"].."解析成功\n共修改"..#writetable[2]..",冻结"..#writetable[1].."个值\n耗时:"..os.clock()-time.."秒") elseif gnlx=="载入" then gg.loadResults(writetable[2]) gg.toast(tzb[1]["name"].."解析成功\n共载入"..#writetable[2].."个值\n耗时:"..os.clock()-time.."秒") end else gg.toast(tzb[1]["name"].."开启失败") end end function dy(tzb,xgb,gnlx) gg.setRanges(tzb[1][3]) if tzb[1][4]==nil or tzb[1][5]==nil then tzb[1][4]=0 tzb[1][5]=-1 end if tzb[1]["name"]==nil then tzb[1]["name"]="" end gg.clearResults() local time = os.clock() gg.searchNumber(tzb[1][1],tzb[1][2], false, gg.SIGN_EQUAL, tzb[1][4], tzb[1][5]) local k=gg.getResults(gg.getResultsCount()) if #k==0 then gg.toast("开启失败") return end gg.clearResults() local writetable={{},{}} for a=2,#tzb do local b,hook={},{} for i,v in ipairs(k) do b[#b+1]={address=v.address+tzb[a][3],flags=tzb[a][2]} end b=gg.getValues(b) for x,y in ipairs(b) do if y.value==tzb[a][1] then hook[#hook+1]=k[x] end end k=hook end if #k>0 then for i=1,#k do for v=1,#xgb do if xgb[v][4]==true then writetable[1][#writetable[1]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1],freeze=true} else writetable[2][#writetable[2]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1]} end end end if gnlx=="修改" then gg.setValues(writetable[2]) gg.addListItems(writetable[1]) gg.toast(tzb[1]["name"].."开启成功\n共修改"..#writetable[2]..",冻结"..#writetable[1].."个值\n耗时:"..os.clock()-time.."秒") elseif gnlx=="载入" then gg.loadResults(writetable[2]) gg.toast(tzb[1]["name"].."解析成功\n共载入"..#writetable[2].."个值\n耗时:"..os.clock()-time.."秒") end else gg.toast(tzb[1]["name"].."开启失败") end end function BaVal(add,type,name)return gg.getValues({[1]={address=add,flags=type,freeze=name}})[1]['value'] end function BaAdd(add)return gg.getValues({[1]={address=add,flags=32,freeze=name}})[1]['value']&0xFFFFFFFFFF end function dy(tzb,xgb,gnlx) gg.setRanges(tzb[1][3]) if tzb[1][4]==nil or tzb[1][5]==nil then tzb[1][4]=0 tzb[1][5]=-1 end if tzb[1]["name"]==nil then tzb[1]["name"]="" end gg.clearResults() local time = os.clock() gg.searchNumber(tzb[1][1],tzb[1][2], false, gg.SIGN_EQUAL, tzb[1][4], tzb[1][5]) local k=gg.getResults(gg.getResultsCount()) if #k==0 then gg.toast("开启失败") return end gg.clearResults() local writetable={{},{}} for a=2,#tzb do local b,hook={},{} for i,v in ipairs(k) do b[#b+1]={address=v.address+tzb[a][3],flags=tzb[a][2]} end b=gg.getValues(b) for x,y in ipairs(b) do if y.value==tzb[a][1] then hook[#hook+1]=k[x] end end k=hook end if #k>0 then for i=1,#k do for v=1,#xgb do if xgb[v][4]==true then writetable[1][#writetable[1]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1],freeze=true} else writetable[2][#writetable[2]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1]} end end end if gnlx=="修改" then gg.setValues(writetable[2]) gg.addListItems(writetable[1]) gg.toast(tzb[1]["name"].."开启成功\n共修改"..#writetable[2]..",冻结"..#writetable[1].."个值\n耗时:"..os.clock()-time.."秒") elseif gnlx=="载入" then gg.loadResults(writetable[2]) gg.toast(tzb[1]["name"].."解析成功\n共载入"..#writetable[2].."个值\n耗时:"..os.clock()-time.."秒") end else gg.toast(tzb[1]["name"].."开启失败") end end ---------------------------------------------------------上边是配置-------------------------------------------- --↑配置文件↑ function check_local_time() --检测时间 local current_year = tonumber(os.date("%Y")) local current_month = tonumber(os.date("%m")) local current_day = tonumber(os.date("%d")) -- 设置过期时间 local expire_year, expire_month, expire_day = 2025, 2, 10 -- 判断是否过期 if current_year > expire_year or (current_year == expire_year and current_month > expire_month) or (current_year == expire_year and current_month == expire_month and current_day > expire_day) then gg.alert("助手维护更新中...\nPowered by.落叶") os.exit() -- 退出程序 else gg.toast("助手检测并未更新赛季可以正常使用") end end -- 主程序入口 gg.toast("正在验证本地时间...") check_local_time() -- 在这里添加你的主程序代码 gg.toast("助手还可以使用") gg.alert("使用公告:\n1.有些功能开不了很正常报错也很正常因为这不是UI\n2.脚本报错和使用不了打开不了的情况可以上报\n3.由于作者太懒更新全靠心情\n群聊:213430727") function Main() menu = gg.choice({ '局外', '局内', '防闪进大厅', '英雄区(小更)', '宇宙服英雄区(小更)', '退出脚本'}, 2018,'落叶宇宙服 1.0版') if menu == 1 then A() end if menu == 2 then B() end if menu == 3 then k() end if menu == 4 then C() end if menu == 5 then D() end if menu == 6 then Exit() end XGCK=-1 end function k() function xtnb(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 "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end --夏天 xtnb({{false,16384,0,4,nil,nil},{2,-40,4},{16384,168,4}},{{16385,0,4,false},{16385,168,4,false}},4,16,"") end function D()--宇宙服英雄 menu1 = gg.multiChoice({ '帝俊', '冰雪龙王1.0', '冰雪龙王2.0', '返回上一页'}, nil,'未做完,未完待续') if menu1 == nil then else if menu1[1] == true then D1() end if menu1[2] == true then D2() end if menu1[3] == true then D3() end if menu1[4] == true then HOME() end end GLWW=-1 end function D1() db=gg.getRangesList("dataCache.db")[1] xyss({{1354985197,4,-2080896,['name']='测试',db["start"],db["end"]},{228,4,-8},},{{15895552,4,52,false},},'载入') a=gg.getValues({{address=gg.getResults(1)[1].address,flags=4,name="特征码"},})[1].value xyss({{1354985197,4,-2080896,['name']='测试',db["start"],db["end"]},{105,4,-8},},{{a,4,52,false},{10000,4,84,false},{500,4,96,false},{500,4,100,false},{500,4,104,false},{500,4,108,false},{4600,4,116,false},{50000,4,124,false},{100000,4,128,false},{22800,4,192,false},{22810,4,212,false},{-1,4,220,false},{22820,4,232,false},{-1,4,240,false},{22830,4,252,false},{-1,4,260,false},},'修改') xyss({{22800,4,-2080896,['name']='测试',db["start"],db["end"]},{-60290467,4,24},},{{0,4,184,false},{0,4,308,false},},'修改') xyss({{22810,4,-2080896,['name']='测试',db["start"],db["end"]},{-60290467,4,24},},{{0,4,184,false},{0,4,308,false},},'修改') xyss({{22820,4,-2080896,['name']='测试',db["start"],db["end"]},{-60290467,4,24},},{{0,4,184,false},{0,4,308,false},},'修改') xyss({{22830,4,-2080896,['name']='测试',db["start"],db["end"]},{-60290467,4,24},},{{0,4,184,false},{0,4,308,false},},'修改') gg.alert("请选择廉颇进入游戏") end function D2() dy({{105,4,-2080896,['name']='廉颇改冰雪主宰'},{1354985197,4,8},},{{15895552,4,60,false},{21450,4,200,false},{4011230,4,220,false},{16777217,4,228,false},{1,4,232,false},{4011250,4,240,false},{16777217,4,248,false},{1,4,252,false},{4011240,4,260,false},{16777217,4,268,false},{1,4,272,false},{4011120,4,280,false},{0,4,2004564,false},{0,4,2004568,false},{0,4,2005188,false},{0,4,2005192,false},{0,4,2005812,false},},"修改") dy({{40112301,4,-2080896,['name']='廉颇改冰雪主宰2'},{1982288487,4,168},},{{685281792,4,172,false},{0,4,176,false},{2,4,200,false},{500,4,212,false},{10000,4,216,false},{685281792,4,2412,false},{0,4,2416,false},{2,4,2440,false},{500,4,2452,false},{10000,4,2456,false},{685281792,4,4652,false},{0,4,4656,false},{2,4,4680,false},{500,4,4692,false},{10000,4,4696,false},},"修改") end function D3() dy({{105,4,-2080896,['name']='廉颇改冰雪主宰'},{1354985197,4,8},},{{15895552,4,60,false},{21450,4,200,false},{4011230,4,220,false},{16777217,4,228,false},{1,4,232,false},{4011250,4,240,false},{16777217,4,248,false},{1,4,252,false},{4011240,4,260,false},{16777217,4,268,false},{1,4,272,false},{4011120,4,280,false},{0,4,2004564,false},{0,4,2004568,false},{0,4,2005188,false},{0,4,2005192,false},{0,4,2005812,false},},"修改") dy({{40112301,4,-2080896,['name']='廉颇改冰雪主宰2'},{1982288487,4,168},},{{685281792,4,172,false},{0,4,176,false},{2,4,200,false},{500,4,212,false},{10000,4,216,false},{685281792,4,2412,false},{0,4,2416,false},{2,4,2440,false},{500,4,2452,false},{10000,4,2456,false},{685281792,4,4652,false},{0,4,4656,false},{2,4,4680,false},{500,4,4692,false},{10000,4,4696,false},},"修改") dy({{17811,4,-2080896,['name']='廉颇改冰封主宰3'},{-60290467,4,192},},{{52830,4,-948244,false},{17810,4,-948228,false},{18400,4,-948224,false},{12600,4,-948204,false},{11061,4,-948184,false},{11600,4,-948164,false},{16777217,4,-948160,false},{20000,4,-1020,false},{20000,4,-1016,false},{20000,4,-1012,false},{20000,4,-1008,false},{20000,4,-1004,false},{20000,4,-996,false},{20000,4,-992,false},{20000,4,-988,false},{20000,4,-984,false},{20000,4,-980,false},{186152704,4,-596,false},{89194240,4,-588,false},{186154240,4,-580,false},{186154240,4,-572,false},{186154240,4,-564,false},{186154240,4,-556,false},{186154240,4,-548,false},{-60290467,4,-544,false},{186154240,4,-540,false},{131072,4,-536,false},{4,4,-532,false},{186160640,4,-508,false},{186161664,4,-428,false},{186152704,4,28,false},{89194240,4,36,false},{186154240,4,44,false},{186154240,4,52,false},{186154240,4,60,false},{186154240,4,68,false},{186154240,4,76,false},{-60290467,4,80,false},{186154240,4,84,false},{131072,4,88,false},{4,4,92,false},{186160640,4,116,false},{-60290467,4,192,false},{186126080,4,196,false},{30000,4,14269064,false},{0,4,14269068,false},{689944576,4,14269152,false},{0,4,14269180,false},{65536,4,14269964,false},{65536,4,14270072,false},{65536,4,14270076,false},{30000,4,14271304,false},{687198976,4,14271392,false},{0,4,14271420,false},{65536,4,14272204,false},{65536,4,14272312,false},{65536,4,14272316,false},{30000,4,14273544,false},{0,4,14273548,false},{687198976,4,14273632,false},{0,4,14273660,false},{65536,4,14274444,false},{65536,4,14274552,false},{65536,4,14274556,false},},"修改") 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 HOME() end end GLWW=-1 end function C1()--橘右京 menu1 = gg.multiChoice({ '橘子大招全图', '返回上一页'}, nil,'有bug可以说') if menu1 == nil then else if menu1[1] == true then C1A() end if menu1[2] == true then HOME() end end GLWW=-1 end function C1A() local t = {"libGameCore.so:bss", "Cb"} local tt = {0x142CE0, 0x1948, 0x1B88} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = -1}}) gg.setValues({{address = ttt-0x38, flags = 4, value = -1}}) gg.setValues({{address = ttt+0x4, flags = 4, value = -1}}) Sear({{-1815038349,4,4,"特效"},{888840611,4,4},}, {{5,0x9c,16},},"修改") Sear({{163300,4,4,"全图"},{100,12,4},}, {{0,0xc0,4},{0,0x94,4},{0,0x84,4},},"修改") local t = {"libGameCore.so:bss", "Cb"} local tt = {0x14A690, 0x1D8, 0x9D4} local ttt = S_Pointer(t, tt, true) gg.setValues({{address = ttt, flags = 4, value = 0}}) gg.setValues({{address = ttt+0x3C, flags = 4, value = 99999}}) gg.setValues({{address = ttt+0x13C, flags = 4, value = 16330}}) gg.alert("橘右京大招觉醒注入成功\n购买苍穹即可") end function A()--局外 menu1 = gg.multiChoice({ '一键初始化(必开)', '训练营指令', '自定义皮肤(中文)', '自定义技能无CD', '自定义复活次数', '自定义小兵模型', '自定义地图', '全英雄皮肤', '获取当前英雄技能代码', '自定义全英雄英雄黑血', '自定义编辑英雄(中文)', '红buff编辑器', '野怪编辑器', '神话蓝buff', '水晶无敌', '5V5改10V10(开)', '5V5改10V10(关)', '单机高光(10V10)', '单机高光(5V5)', '宇宙服英雄', '返回上一页'}, nil,'有bug可以说') 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 a13() end if menu1[14] == true then a14() end if menu1[15] == true then a15() end if menu1[16] == true then a16() end if menu1[17] == true then a17() end if menu1[18] == true then a18() end if menu1[19] == true then a19() end if menu1[20] == true then a20() end if menu1[21] == true then HOME() end end GLWW=-1 end function a1() function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end local qmnb= { {['memory']=32}, {['name']='音量键改单机'}, {['value']=1109393408, ['type']=4}, {['lv']=3450,['offset']=-68, ['type']=4}, } local qmxg= { {['value']=3448,['offset']=-68,['type']=4}, } xqmnb(qmnb,qmxg) function xtnb(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 "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end end --夏天 xtnb({{false,-787807233,0,4,nil,nil},{-698416192,-32,4},{705168352,-40,4}},{{1384120352,-28,4},{-698416192,-24,4,false}},4,16384,"过资源检测") function xyss(tzb,xgb,gnlx)--落叶 gg.setRanges(tzb[1][3]) if tzb[1][4]==nil or tzb[1][5]==nil then tzb[1][4]=0 tzb[1][5]=-1 end if tzb[1]["name"]==nil then tzb[1]["name"]="" end gg.clearResults() local time = os.clock() gg.searchNumber(tzb[1][1],tzb[1][2], false, gg.SIGN_EQUAL, tzb[1][4], tzb[1][5]) local k=gg.getResults(gg.getResultsCount()) if #k==0 then gg.toast("开启失败") return end gg.clearResults() local writetable={{},{}} for a=2,#tzb do local b,hook={},{} for i,v in ipairs(k) do b[#b+1]={address=v.address+tzb[a][3],flags=tzb[a][2]} end b=gg.getValues(b) for x,y in ipairs(b) do if y.value==tzb[a][1] then hook[#hook+1]=k[x] end end k=hook end if #k>0 then for i=1,#k do for v=1,#xgb do if xgb[v][4] then writetable[1][#writetable[1]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1],freeze=true} else writetable[2][#writetable[2]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1]} end end end if gnlx=="修改" then gg.setValues(writetable[2]) gg.addListItems(writetable[1]) gg.toast(tzb[1]["name"].."解析成功\n共修改"..#writetable[2]..",冻结"..#writetable[1].."个值\n耗时:"..os.clock()-time.."秒") elseif gnlx=="载入" then gg.loadResults(writetable[2]) gg.toast(tzb[1]["name"].."解析成功\n共载入"..#writetable[2].."个值\n耗时:"..os.clock()-time.."秒") end else gg.toast(tzb[1]["name"].."开启失败") end end--落叶 xyss({{-301047508,4,16,['name']='防掉进程'},{16384,4,1148},},{{4096,4,1220,false},{4096,4,1268,false},{4096,4,1308,false},{4096,4,1356,false},{4096,4,1404,false},},'修改') end function a2() function xy_Offset_Search(search,modify) gg.setRanges(search[1][3]) local name=search[1]['name'] or '' local time = os.clock() gg.clearResults() gg.searchNumber(search[1][1],search[1][2],nil,nil,search[1][4] or 0 ,search[1][5] or -1) local k=gg.getResults(gg.getResultsCount()) gg.clearResults() for a=2,#search do local b,hook={},{} for i,v in pairs(k) do b[#b+1]={address=v.address+search[a][3],flags=search[a][2]} end b=gg.getValues(b) if type(search[a][1])=='string' then local zxsl=0 if string.find(search[a][1],'~')~=nil then zxsl=zxsl+1 local sz={search[a][1]:match('(.+)~(.+)')} local sz={tonumber(sz[1]),tonumber(sz[2])} for i,v in pairs(b) do if v.value>=sz[1] and v.value<=sz[2] then hook[#hook+1]=k[i] end end end if search[a][1]:find('<')~=nil and not search[a][1]:find('=') then zxsl=zxsl+1 local sz=search[a][1]:match('<(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value')~=nil and not search[a][1]:find('=') then zxsl=zxsl+1 local sz=search[a][1]:match('>(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value>sz then hook[#hook+1]=k[i] end end end if search[a][1]:find('<=')~=nil then zxsl=zxsl+1 local sz=search[a][1]:match('<=(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value<=sz then hook[#hook+1]=k[i] end end end if search[a][1]:find('>=')~=nil then zxsl=zxsl+1 local sz=search[a][1]:match('>=(.+)') local sz=tonumber(sz) for i,v in pairs(b) do if v.value>=sz then hook[#hook+1]=k[i] end end end if zxsl==0 then search[a][1]=tonumber(search[a][1]) for i,v in pairs(b) do if v.value==search[a][1] then hook[#hook+1]=k[i] end end end else for i,v in pairs(b) do if v.value==search[a][1] then hook[#hook+1]=k[i] end end end k=hook end local zr,xg,dj,jg,sr1,sr2,jlsj,hqz={},{},{},{},{},{},{},{} for x,y in pairs(modify) do if #k==0 then break end if y[4]=='修改' then for i,v in pairs(k) do xg[#xg+1]={address=v.address+y[3],flags=y[2],value=y[1]} end end if y[4]=='载入' then for i,v in pairs(k) do zr[#zr+1]={address=v.address+y[3],flags=y[2]} end end if y[4]=='冻结' then for i,v in pairs(k) do dj[#dj+1]={address=v.address+y[3],flags=y[2],value=y[1],freeze=true} end end if y[4]=='保存' then for i,v in pairs(k) do dj[#dj+1]={address=v.address+y[3],flags=y[2],name=y.name} end end if y[4]=='获取' then local hq={} for i,v in pairs(k) do hq[#hq+1]={address=v.address+y[3],flags=y[2]} end local hq=gg.getValues(hq) jg[#jg+1]=hq end if y[4]=='自定义修改' then sr1[#sr1+1]=y.name or '没名字属性' hqz[#hqz+1]={address=k[1].address+y[3],flags=y[2]} jlsj[#jlsj+1]=x..'>修改' end if y[4]=='自定义冻结' then sr1[#sr1+1]=y.name or '没名字属性' hqz[#hqz+1]={address=k[1].address+y[3],flags=y[2]} jlsj[#jlsj+1]=x..'>冻结' end end if #jlsj >0 then local hqz=gg.getValues(hqz) for i,v in pairs(hqz) do sr2[#sr2+1]=v.value end local pro=gg.prompt(sr1,sr2) if not pro then gg.toast('你选择了取消/没输入') return end for x,y in pairs(jlsj) do local zxsz,zxlx=y:match('(.+)>(.+)')--落叶 local zxsz=tonumber(zxsz) if zxlx=='修改' then for i,v in pairs(k) do xg[#xg+1]={address=v.address+modify[zxsz][3],flags=modify[zxsz][2],value=pro[x]} end end if zxlx=='冻结' then for i,v in pairs(k) do dj[#dj+1]={address=v.address+modify[zxsz][3],flags=modify[zxsz][2],value=pro[x],freeze=true} end end end end gg.setValues(xg) gg.addListItems(dj) gg.loadResults(zr) gg.toast('['..name..']执行完毕\n耗时:'..os.clock()-time..'秒\n执行共修改:'..#xg..',冻结/保存:'..#dj..',载入:'..#zr..',获取:'..#jg..'个偏移') if #jg>0 then return jg end end function xqmnb(Search,Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1) if gg.getResultCount()==0 then gg.toast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4,#Search do sum=0 for i=1,#Result do if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable=true sum=sum+1 end end if sum==#Result then gg.toast(Search[2].name..'开启失败') return end end local Data,Freeze,Freezes={},{},0 sum=0 for index,value in ipairs(Modification)do for index=1,#Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true} if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end function xyss(tzb,xgb,gnlx) gg.setRanges(tzb[1][3]) if tzb[1][4]==nil or tzb[1][5]==nil then tzb[1][4]=0 tzb[1][5]=-1 end if tzb[1]["name"]==nil then tzb[1]["name"]="" end gg.clearResults() local time = os.clock() gg.searchNumber(tzb[1][1],tzb[1][2], false, gg.SIGN_EQUAL, tzb[1][4], tzb[1][5]) local k=gg.getResults(gg.getResultsCount()) if #k==0 then gg.toast("开启失败") return end gg.clearResults() local writetable={{},{}} for a=2,#tzb do local b,hook={},{} for i,v in ipairs(k) do b[#b+1]={address=v.address+tzb[a][3],flags=tzb[a][2]} end b=gg.getValues(b) for x,y in ipairs(b) do if y.value==tzb[a][1] then hook[#hook+1]=k[x] end end k=hook end if #k>0 then for i=1,#k do for v=1,#xgb do if xgb[v][4] then writetable[1][#writetable[1]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1],freeze=true} else writetable[2][#writetable[2]+1]={address=k[i].address+xgb[v][3],flags=xgb[v][2],value=xgb[v][1]} end end end if gnlx=="修改" then gg.setValues(writetable[2]) gg.addListItems(writetable[1]) gg.toast(tzb[1]["name"].."解析成功\n共修改"..#writetable[2]..",冻结"..#writetable[1].."个值\n耗时:"..os.clock()-time.."秒") elseif gnlx=="载入" then gg.loadResults(writetable[2]) gg.toast(tzb[1]["name"].."解析成功\n共载入"..#writetable[2].."个值\n耗时:"..os.clock()-time.."秒") end else gg.toast(tzb[1]["name"].."开启失败") end end --落叶 xy_Offset_Search({ {20044,4,-2080896,name="训练场",start,over}, {20044,4,0}, {1,4,904}, {0,4,908}, }, { {16777216,4,908,"修改",name="练场"}, }) end function a3() local vvv=function () gg.toast("正在获取云端皮肤名字") ::xxx:: local a=gg.makeRequest('https://sharechain.qq.com/a01a9e7c1a1cbb3d07406a5bc843faae').content local b=a:match('【(.+)】') local c=b:match('【(.+)') if c:match('【')~=nil then gg.toast("识别到信息错误,正在重新加载") goto xxx end return c end local zs,dz,xyjc,pmz,pdm={},{},{},{},{} DMS=[[105廉颇-106小乔-107赵云-108墨子-109妲己-110嬴政-111孙尚香-112鲁班七号-113庄周-114刘禅-115高渐离-116阿轲-117钟无艳-118孙膑-119扁鹊-120白起-121芈月-123吕布-124周瑜-125元歌-126夏侯惇-127甄姬-128曹操-129典韦-130宫本武藏-131李白-132马可波罗-133狄仁杰-134达摩-135项羽-136武则天-137司马懿-139老夫子-140关羽-141貂蝉-142安琪拉-144程咬金-146露娜-148姜子牙-149刘邦-150韩信-152王昭君-153兰陵王-154花木兰-155艾琳-156张良-157不知火舞-159朵莉亚-162娜可露露-163橘右京-166亚瑟-167孙悟空-168牛魔-169后羿-170刘备-171张飞-173李元芳-174虞姬-175钟馗-176杨玉环-177苍-178杨戬-179女娲-180哪吒-182干将莫邪-183雅典娜-184蔡文姬-186太乙真人-187东皇太一-189鬼谷子-190诸葛亮-191大乔-192黄忠-193铠-194苏烈-195百里玄策-196百里守约-197弈星-198梦奇-199公孙离-312沈梦溪-501明世隐-502裴擒虎-503狂铁-504米莱迪-505瑶-506云中君-507李信-508伽罗-509盾山-510孙策-511猪八戒-513上官婉儿-514亚连-515嫦娥-517大司命-577少司缘-518马超-519敖隐-521海月-522曜-523西施-524蒙犽-525鲁班大师-527蒙恬-528澜-529盘古-531镜-533阿古朵-534桑启-536夏洛特-537司空震-538云缨-540金蝉-542暃-544赵怀真-545莱西奥-548戈娅-563海诺-564姬小满-581元流之子[战士]-582元流之子[法师]-558影-]] if hqpfsj==nil then local t = {"libGameCore.so:bss", "Cb"} local tt = {1345272,0x0} local ttt = S_Pointer(t, tt, true) hqpfsj={} --1385 for i=0x0,0x6000,0x10 do hqpfsj[#hqpfsj+1]={address=ttt+i,flags=4} end hqpfsj=gg.getValues(hqpfsj) end if pfmz==nil then pfmz=vvv() end local t = {"libil2cpp.so:bss", "Cb"} local tt = {58760,0xB8,0x60} local ttt = S_Pointer(t, tt, true) local ttt=gg.getValues({{address=ttt,flags=4,value=nil},}) if ttt[1].value==0 then TS="未识别到英雄名称!可手动输入!"else TS="识别到当前英雄:" end local mc,dm,dms={},{} for i in DMS:gmatch('%d+(.-)-') do mc[#mc+1]=i end for i in DMS:gmatch('%d+') do dm[#dm+1]=i end for i,v in ipairs(dm) do if ttt[1].value==v then mz=mc[i] end end b = gg.prompt({"Powered by秋辞\n请输入英雄名称\n"..TS},{mz},{'Text'}) if b==nil or b[1]=="" then balert("没输入") return else b=b[1] end for i=1,#mc do if b==mc[i] then dms=b end end if dms==nil then cx={} for i=1,#mc do if mc[i]:match(b)~=nil then table.insert(cx,mc[i]) end end if #cx==0 then balert("没有这个英雄") return end local v=gg.choice(cx,nil,"英雄名称搜索") b=cx[v] end for i,v in ipairs(dm) do if mc[i]==b then yxdm=v dms=mc[i] end end local time = os.clock() for i=1,#hqpfsj do if hqpfsj[i].value>yxdm*100-1 and hqpfsj[i].value 100000 then local result = {} local Table = {} while true do local Results = gg.getResults(100000) if not Results or #Results == 0 then break end result[#result + 1] = Results local remove = gg.removeResults(Results) end for k = 1, #result do for kk, vv in pairs(result[k]) do Table[#Table + 1] = vv end end return Table else return gg.getResults(gg.getResultsCount()) end end function Type_filtering(values) if string.find(values, ".") then start, v = string.match(values, "^(.-)%.(.)") value = string.format("%s.%s", start, v) return value else return values end end function LSQ_pointer(search, write, mode) if search[1][5] and search[1][6] then region_start = search[1][5] region_end = search[1][6] else region_start = 0 region_end = -1 end gg.clearResults() if search[1][2] == "16" and search[1][2] == "64" then local Value = LSQ_type_conversion(search[1][1], search[1][2], Q) gg.setRanges(search[1][3]) gg.searchNumber(Value, Q, false, gg.SIGN_EQUAL, region_start, region_end) gg.searchNumber(Value, Q, false, gg.SIGN_EQUAL, region_start, region_end) else gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end) gg.searchNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end) end if gg.getResultsCount() == 0 then gg.toast("没有搜索到指针数据") return false else local result = Get_value() gg.clearResults() for i = 2, #search do local offset_array = {} for k, v in ipairs(result) do offset_array[#offset_array + 1] = { ["address"] = v["address"] + search[i][2], ["flags"] = search[i][3] } end offset_array = gg.getValues(offset_array) local verify_array = {} for k, v in ipairs(offset_array) do if v["flags"] == 16 then v["value"] = Type_filtering(v["value"]) end if v["flags"] == 64 then v["value"] = Type_filtering(v["value"]) end if not string.find(search[i][1], "~") then if v["value"] == search[i][1] then verify_array[#verify_array + 1] = result[k] end else min, max = string.match(search[i][1], '^(.-)~(.-)$') min, max = tonumber(min), tonumber(max) if v["value"] >= min and v["value"] <= max then verify_array[#verify_array + 1] = result[k] end end end result = verify_array end if #result > 0 then Format(result, mode, write) return #result else return false end end end ZB=[[铁剑:1111+匕首:1112+搏击拳套:1113+吸血之镰:1114+迅捷长矛:1115+雷鸣刃:1116+冲能拳套:1117+风暴巨剑:1121+日冕:1122+狂暴双刃:1123+陨星:1124+血魂刃:1158+穿云弓:1154+名刀司命:1127+碎星锤:1131+破魔刀:1125+寒霜袭侵:1128+制裁之刃:11210+纯净苍穹:11311+末世:1126+泣血之刃:1132+无尽战刃:1133+宗师之力:1134+闪电匕首:1135+影刃:1136+暗影战斧:1137+破军:1138+逐日之弓:1141+破晓:1155+铸梦·逐风:1159+逐梦·破空:1160+咒术法典:1211+蓝宝石:1212+炼金护符:1213+圣者法典:1214+元素杖:1216+大棒:1221+血族之书:1222+光辉之剑:1223+魔道之石:1224+进化水晶:1225+破碎圣杯:1229+云灵木:1243+辉月:1239+炽热支配者:1227+日暮之流:1727+金色圣剑:1728+梦魇之牙:12211+圣杯:1226+虚无法杖:1231+博学者之怒:1232+回响之杖:1233+痛苦面具:1235+巫术法杖:1236+时之预言:1237+破茧之衣:1244+贤者之书:1238+噬神之书:1240+凝冰之息:1234+红玛瑙:1311+布甲:1312+抗魔披风:1313+提神水晶:1314+急速铠甲:1317+瑞鳞拳忍:1524+力量腰带:1321+熔炼之心:1322+神隐斗篷:1323+雪山圆盾:1324+守护者之铠:1325+荆棘护手:1345+暗夜小甲:1346+沐光斗篷:1348+反伤刺甲:1327+血魔之怒:1328+冰霜冲击:1341+原初遗珠:1349+怒龙剑盾:1534+红莲斗篷:1331+霸者重装:1332+不详征兆:1333+旭日初光:1353+不死鸟之眼:1334+魔女斗篷:1335+极寒风暴:1336+贤者的庇护:1337+暴烈之甲:1338+永夜守护:1347+冰痕之握:13310+怒魂:1350+凛冬:1351+神速之靴:1411+影刃之足:1421+抵抗之靴:1422+冷静之靴:1423+秘法之靴:1424+急速战靴:1425+疾步之靴:1426+狩猎宽刃:1511+游记弯刀:1521+追击刀锋:1523+巡守利斧:1522+符文大剑:1531+贪婪之弑:1533+巨人之握:1532+学识宝石:1701+近卫:1714+极影:1711+极影·救赎:1721+极影·星泉:1747+极影·奔狼:1723+极影·形昭:1737+月神:1242+日渊:1156+天穹:1157+]] zb,zba,zbb={},{},{} for a in ZB:gmatch('(.-)%+')do zb[#zb+1]=a zba[a:match('(.-):')]=a:match(':(.+)') zbb[a:match(':(.+)')+0]=a:match('(.+):') end ::z:: local t = {"libGameCore.so:bss", "Cb"} local tt = {0x383A0, 0x48, 0x2B8, 0x4} local ttt = S_Pointer(t, tt, true) local MM=gg.getValues({{address=ttt,flags=4}})[1].value local jm=gg.prompt({'输入装备名称关键字(输入全部即为全部装备,也可以输入装备代码)'},{MM},{'text'}) if jm==nil then return else local zt if jm[1]:match('%S')==nil then gg.alert('不输入是不识字还是怎么回事')goto z end if jm[1]:match('全部')~=nil then jm[1]=''end ::zt:: local dm=zba[jm[1]] if dm==nil then local zbs={} for a=1,#zb do if zb[a]:match(jm[1])~=nil then zbs[#zbs+1]=zb[a] end end if #zbs==0 then gg.alert('没有找到这个装备')goto z end local jm=gg.choice(zbs,nil,'[装备]代码识别装备') if jm==nil then goto z else dm=zbs[jm]:match(':(.+)') end end ----/----- db=gg.getRangesList("dataCache.db")[1] local Search_array={ {dm,4,-2080896,"装备编辑",db["start"],db["end"]}, {417094601,0x28,4}, } local Modifythe_array = {} local num = LSQ_pointer(Search_array, Modifythe_array,"载入") jg=gg.getResults(gg.getResultCount()) jasd=jg[1].address local JYY=gg.getValues({ [1]={address=jasd+0x24,flags=4,value=nil}, [2]={address=jasd+0x44,flags=4,value=nil}, [3]={address=jasd+0x20,flags=4,value=nil}, [4]={address=jasd+0x60,flags=4,value=nil}, [5]={address=jasd+0x64,flags=4,value=nil}, [6]={address=jasd+0x68,flags=4,value=nil}, [7]={address=jasd+0x6C,flags=4,value=nil}, [8]={address=jasd+0x70,flags=4,value=nil}, [9]={address=jasd+0x74,flags=4,value=nil}, [10]={address=jasd+0x78,flags=4,value=nil}, [11]={address=jasd+0x7C,flags=4,value=nil}, [12]={address=jasd+0x80,flags=4,value=nil}, [13]={address=jasd+0x84,flags=4,value=nil}, [14]={address=jasd+0x88,flags=4,value=nil}, [15]={address=jasd+0x8C,flags=4,value=nil}, [16]={address=jasd+0x90,flags=4,value=nil}, [17]={address=jasd+0x94,flags=4,value=nil}, [18]={address=jasd+0x160,flags=4,value=nil}, [19]={address=jasd+0x164,flags=4,value=nil}, }) local YCY=gg.prompt({"购买价格:","出售价格:","购买限制\n改为0可以直接购买装备","物理攻击:","攻速(*100):","暴击率(*100):","物理吸血(*100):","法术攻击:","冷却缩减(*100):","最大法力:","每五秒回蓝:","物理防御:","法术防御:","最大生命值:","每五秒回血:","移速(百分比):","普攻强度:","主动技能:","主动技能键位"},{JYY[1].value,JYY[2].value,JYY[3].value,JYY[4].value,JYY[5].value,JYY[6].value,JYY[7].value,JYY[8].value,JYY[9].value,JYY[10].value,JYY[11].value,JYY[12].value,JYY[13].value,JYY[14].value,JYY[15].value,JYY[16].value,JYY[17].value,JYY[18].value,JYY[19].value},{"number"}) if YCY==nil then goto zt else gg.setValues({ [1]={address=jasd+0x24,flags=4,value=YCY[1]}, [2]={address=jasd+0x44,flags=4,value=YCY[2]}, [3]={address=jasd+0x20,flags=4,value=YCY[3]}, [4]={address=jasd+0x60,flags=4,value=YCY[4]}, [5]={address=jasd+0x64,flags=4,value=YCY[5]}, [6]={address=jasd+0x68,flags=4,value=YCY[6]}, [7]={address=jasd+0x6C,flags=4,value=YCY[7]}, [8]={address=jasd+0x70,flags=4,value=YCY[8]}, [9]={address=jasd+0x74,flags=4,value=YCY[9]}, [10]={address=jasd+0x78,flags=4,value=YCY[10]}, [11]={address=jasd+0x7C,flags=4,value=YCY[11]}, [12]={address=jasd+0x80,flags=4,value=YCY[12]}, [13]={address=jasd+0x84,flags=4,value=YCY[13]}, [14]={address=jasd+0x88,flags=4,value=YCY[14]}, [15]={address=jasd+0x8C,flags=4,value=YCY[15]}, [16]={address=jasd+0x90,flags=4,value=YCY[16]}, [17]={address=jasd+0x94,flags=4,value=YCY[17]}, [18]={address=jasd+0x160,flags=4,value=YCY[18]}, [19]={address=jasd+0x164,flags=4,value=YCY[19]}, }) gg.alert("编辑完成✅") end end end function b5() local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} gg.addListItems(Table) end Modify(Read('libGameCore.so','r-xp')+0xa6c180,705168086,4) gg.setValues(Table) --由 end function HOME() lw=1 Main() end Main() gg.showUiButton() while true do if gg.isClickedUiButton() then Main() end 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