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 = gg.getRangesList("libil2cpp.so")[2].start 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 void(gx,gn) local bb=xa+gx local cc=xa+gn if bb < cc then local fun=bb-cc gg.addListItems({{address=bb,flags=4,name="更新函数"}}) gg.setValues({{address=bb,flags=4,value="~A8 B [PC,#-0x"..string.format("%X",fun).."]"}}) else fun=bb-cc gg.addListItems({{address=bb,flags=4,value="~A8 B [PC,#0x"..string.format("%X",fun).."]",name="更新函数"}}) gg.setValues({{address=bb,flags=4,value="~A8 B [PC,#-0x"..string.format("%X",fun).."]",name="更新函数"}}) print(string.format("%X",fun)) end end function set(xg,add) gg.setValues({{address=add,flags=4,value=xg}}) 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 Exit() end end end function a1() local g=xa+0x481780c a={ {value="~A8 MOV X0, X0",flags=4,address=g}, {value="~A8 MOV X1, #1",flags=4,address=g+0x4}, {value="~A8 MOV X2, #1",flags=4,address=g+0x8}, {value="~A8 MOV X3, #1",flags=4,address=g+0xC}, {value="~A8 MOV X4, #1",flags=4,address=g+0x10}, {value="~A8 MOV X5, XZR",flags=4,address=g+0x14}, {value="~A8 B [PC,#0xBF78]",flags=4,address=g+0x18} } gg.setValues(a) gg.addListItems(a) end function a2() local j=xa+0x444d468 a={ {value="~A8 LDR W0, [PC,#0x8]",flags=4,address=j}, {value="~A8 RET",flags=4,address=j+0x4}, {value="99999",flags=4,address=j+0x8} } gg.setValues(a) gg.addListItems(a) end function a3() local j=xa+0x45821d8 local v=xa+0x45477cc a={ {value="~A8 MOV W0, #6666",flags=4,address=j}, {value="~A8 RET",flags=4,address=j+0x4}, {value="~A8 MOV W0, #6666",flags=4,address=v}, {value="~A8 RET",flags=4,address=v+0x4} } gg.setValues(a) 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