function aycXa(lib) ranges = {} for i, v in pairs(gg.getRangesList(lib)) do modjs = v.type:sub(2, 3) if modjs == '-x' then table.insert(ranges, v) end end return ranges[1].start end local xa=aycXa("libil2cpp.so") function getPointer(Address,Flags) return gg.getValues({ { address=Address, flags=Flags } })[1].value end local function getName(addr) local str = "" local t = {} for i=1, 128 do t[i] = {address=addr+(i-1), flags=gg.TYPE_BYTE} end t = gg.getValues(t) for i, v in ipairs(t) do if v.value==0 then break end if v.value<0 then return "" end str = str..string.char(v.value&0xFF) end return str end function ff(py,xg1,xg2)--方法偏移搜索 local add=xa + py local a=gg.addListItems({{address=add,flags=4}}) gg.setValues({{address=add,flags=4,value="~A8 "..xg1}}) local g=gg.addListItems({{address=add+0x4,flags=4}}) gg.setValues({{address=add+0x4,flags=4,value="~A8 "..xg2}}) end --by.神之名字段模板,交流群:1038362246 local function va(address, Type) local result = gg.getValues({{address = address, flags = Type}}) return result[1].value end function shenzhiming(lm,py,lx,xg,dj,jz,jjlx,yz) gg.clearResults() gg.setRanges(-2080896|4) gg.searchNumber(":"..lm, gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) local results = gg.getResults(gg.getResultsCount()) local add=results[1].address local vc=va(add,1) if #results > 0 then gg.setRanges(4) gg.searchNumber(vc, 1,false,gg.SIGN_EQUAL,0, -1) gg.searchPointer(0) local zz = gg.getResults(gg.getResultsCount()) for k, item in ipairs(zz) do local l1 = item.address local Add = item.address - 0x10 local Value = va(Add, 4) if Value ~= 0 then gg.setRanges(32)--如果是Ca内存自己改4 local z3 = {} for i = 1, #zz do z3[i] = {address = zz[i].address - 0x10, flags = 4} end z3 = gg.getValues(z3) gg.loadResults(z3) if jz==1 then gg.searchPointer(0) gg.searchPointer(0) local ret = gg.getResults(gg.getResultsCount()) if #ret == 0 then gg.alert("无法定位") return end local max = math.min(#ret, 10000) local ToAdd = {} for i = 1, max do local q = ret[i] local ss = q.address local s1 = getPointer(ss, 32) local vc=s1+py local r=gg.getValues({{address=vc,flags=jjlx}})[1].value if yz==0 then table.insert(ToAdd, { address = vc, flags = lx, value = xg, freeze = dj, name = "字段偏移:0x"..string.format("%X",py) }) else if r==yz then table.insert(ToAdd, { address = vc, flags = lx, value = xg, freeze = dj, name = "字段偏移:0x"..string.format("%X",py) }) end end end gg.addListItems(ToAdd) gg.setValues(ToAdd) return else gg.searchPointer(0) local ret = gg.getResults(gg.getResultsCount()) if #ret == 0 then gg.alert("无法定位") return end local max = math.min(#ret, 10000) local ToAdd = {} for i = 1, max do local q = ret[i] local ss = q.address table.insert(ToAdd, { address = ss + py, flags = lx, value = xg, freeze = dj, name = "字段偏移:0x"..string.format("%X",py) }) end gg.addListItems(ToAdd) gg.setValues(ToAdd) return end end end end end function Main() xz=gg.choice({ "✔局内检测", "✔修改生命", "✔超级秒杀", "✔修改蓝量", "✔技能冷却", "✔攻击速度", "✔提高暴击", "✔暴击伤害", "✔移动速度", "✔伤害无效", "✔解锁月卡", "✔人物等级", "✔技能点数", "✘退出脚本", },nil,"") if xz==nil then else if xz==1 then a1() end if xz==2 then a2() end if xz==3 then a3() end if xz==4 then a4() end if xz==5 then a5() end if xz==6 then a6() end if xz==7 then a7() end if xz==8 then a8() end if xz==9 then a9() end if xz==10 then a10() end if xz==11 then a11() end if xz==12 then a12() end if xz==13 then a13() end if xz==14 then Exit() end end end function a1()--屏蔽检测 ff(0xAED630,"NOP","RET") end function a2()--修改生命 shenzhiming("DynamicStat", 0x70, 4, "666666", true, 1, 16, 0)--类名, 偏移, 类型, 修改, 冻结, 精准搜索改1不要的话改0 end function a3()--超级秒杀 shenzhiming("ActionHitDamage", 0x14, 16, "20000", true, 1, 16, "-0.5") end function a4()--修改蓝量 shenzhiming("TSkillCombo", 0x148, 4, "0", true, 1, 4, 0) end function a5()--技能冷却 shenzhiming("TSkillCombo", 0x134, 4, "0", true, 1, 4, 0) end function a6()--攻击速度 shenzhiming("TCharacterStat", 0x4C, 16, "3", true, 1, 4, 0) end function a7()--提高暴击 shenzhiming("TCharacterStat", 0x50, 16, "3", true, 1, 4, 0) end function a8()--暴击伤害 shenzhiming("TCharacterStat", 0x54, 16, "3", true, 1, 4, 0) end function a9()--移动速度 shenzhiming("TCharacterStat", 0x60, 16, "2", true, 1, 4, 0) end function a10()--伤害无效 shenzhiming("ActionHitDamage", 0x10, 4, "0", true, 1, 4, "1") end function a11()--解锁月卡 --shenzhiming("ServerData", 0xE8, 4, "444445", true, 1, 4, 0) gg.setRanges(32) gg.searchNumber("444444;444444:8", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) local re=gg.getResults(100000) for a,v in ipairs(re) do local add=v.address local a1=getPointer(add-0xE8,32) local a2=getPointer(a1+0x10,32) local a3=getName(a2) if a3=="ServerData" then gg.setValues({{address=add,flags=4,value=444445,freeze=true}}) break end end end function a12()--人物等级 local a=gg.prompt({"角色目前等级","目标修改等级"},{"","50"},{"text","text"}) shenzhiming("TCharacter", 0x2C, 4, a[2], true, 1, 4, a[1]) end function a13()--技能点数 gg.setRanges(32) gg.searchNumber("444444;444444:8", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) local re=gg.getResults(100000) for a,v in ipairs(re) do local add=v.address local a1=getPointer(add-0x30,32) local a2=getPointer(a1+0x10,32) local a3=getName(a2) if a3=="TCharacter" then gg.setValues({{address=add,flags=4,value=444666,freeze=true}}) break end end end function Exit() os.exit() end gg.showUiButton() while true do if gg.isClickedUiButton()==true then Main() end end while(true) do if gg.isVisible(true) then gg.setVisible(false) Main() end end