function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) 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 _Q = tonumber(0x167ba0fe) 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 getRanges() local ranges = {} local tt = {} local t = gg.getRangesList('^/data/*.so*$') for i in pairs(t) do if t[i].type:sub(2, 2) == 'w' or t[i].type == "r-xp" then if not tt[t[i].internalName] then tt[t[i].internalName] = {} end if not tt[t[i].internalName][t[i].state] then tt[t[i].internalName][t[i].state] = 0 end tt[t[i].internalName][t[i].state] = tt[t[i].internalName][t[i].state] + 1 t[i].count = tt[t[i].internalName][t[i].state] table.insert(ranges, t[i]) end end return ranges end function Base_Address(N_So) local S_list = getRanges() local _S = {} 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 and N_So[3] == S_list[i].count then _S = S_list[i] break end end return _S.start end function Get_Address(Address, Offset) local flags_bit = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local Type = flags_bit[ti64] local addr = 0 if Address then addr = Address + Offset[1] for _ = 2, #Offset do local pointer = gg.getValues({{address = addr, flags = Type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + Offset[_] end end return addr end function Main() SN = gg.choice({ "加速开", "加速关", "范围", "退出脚本" }, 2018, "词七.") if SN == 1 then a() end if SN == 2 then b() end if SN == 3 then c() end if SN == 4 then Exit() end XGCK = -1 end function a() so=gg.getRangesList('libUE4.so')[1].start py1=0X26FCA44 py2=0X270878C -- py3=0X2C33524--减伤全局 py4=0X2D082A0 py5=0XCB8B40 py7=0X2C33484 py8=0X2C3349C py9=0X2C33528 setvalue(so+py1,16,0.28)--陆地提速*翻倍 setvalue(so+py2,16,0)--去拉 -- setvalue(so+py3,16,9.5)--减伤全局 setvalue(so+py4,16,0)--加速 setvalue(so+py5,16,-3.83692277e21)--坐标 setvalue(so+py7,16,0)--陆地翻倍 setvalue(so+py8,16,0)--去除 setvalue(so+py9,16,0)--全局 so=gg.getRangesList('libUE4.so')[1].start py=0X267C928 setvalue(so+py,16,999)--慢动作 so=gg.getRangesList('libUE4.so')[1].start py=0X2C33528 setvalue(so+py,16,0)--全局 so=gg.getRangesList('libUE4.so')[1].start py=0X2C3349C setvalue(so+py,16,0)--全局 so=gg.getRangesList('libUE4.so')[1].start py=0X2C33484 setvalue(so+py,16,0)--全局 -- 词七自抓 无偷值 ida找思路 自转基址加速 local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2D8, 0x1558} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 70}})--战力浮空 local t = {"libUE4.so", "Cd"} local tt = {0x1EA3A8, 0x20, 0x320, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.14}})--速控 防拉 local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8, 0x20, 0x2CC, 0x310, 0x138} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 69}})--强制浮空 local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EFEEC, 0x82C, 0x6E0} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 88886, freeze = true}})--144fps local t = {"libUE4.so:bss", "Cb"} local tt = {0x62678,0xA8,0x2DC,0x24} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 100000}})--开枪防拉 local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1.8}})--提速 gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1228926273201366461", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(699) gg.editAll("-1228926273126264269", gg.TYPE_QWORD) gg.toast("防掉帧开启成功") gg.toast("开启成功") end function b() so=gg.getRangesList('libUE4.so')[1].start py1=0X26FCA44 setvalue(so+py1,16,9.99999997e-7) py2=0X270878C setvalue(so+py2,16,-1.86389771e-20) py3=0X2C33524 setvalue(so+py3,16,10.90734863281) py4=0X2D082A0 setvalue(so+py4,16,-6.15262313e27) py5=0XCB8B40 setvalue(so+py5,16,-3.83692305e21) py7=0X2C33484 setvalue(so+py7,16,6.16304121e-33) py8=0X2C3349C setvalue(so+py8,16,2.64700415e-23) py9=0X2C33528 setvalue(so+py9,16,-1.88909657e26) so=gg.getRangesList('libUE4.so')[1].start py=0X267C928 setvalue(so+py,16,0) local t = {"libUE4.so:bss", "Cb"} local tt = {0x2493A0, 0xB4, 0xD90, 0x19F4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) local t = {"libUE4.so", "Cd"} local tt = {0x5C2A20, 0x78, 0x68, 0x3C8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) gg.toast("开启成功") end function c() gg.searchNumber("0.10000000149;64.50088500977", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("0.10000000149", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(50) gg.editAll("8", gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_BAD) gg.searchNumber("-88.66608428955;26:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("26", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll("-460", gg.TYPE_FLOAT) gg.clearResults() gg.searchNumber("-88.73961639404;28:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll("-560", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.201618;30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("250", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_CODE_APP) gg.searchNumber("-298284466;-1.304566e23F", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_CODE_APP) gg.searchNumber("-1,883,348,481,058,764,210", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll("-1,883,348,485,055,444,540", gg.TYPE_QWORD) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("888", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll("180", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('0.0001;360.0;0.0;1,478,828,416.0', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber('0.0001', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll('5000', gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber(35000, gg.TYPE_FLOAT) gg.searchNumber(35000, gg.TYPE_FLOAT) gg.getResults(20) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber('9.20161819458;23;25;30.5', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber('25;30.5', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll('500', gg.TYPE_FLOAT) gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("23;25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) hst = gg.getResults(100) gg.editAll("355", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("15;28;16;26;8;18", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) hst2 = gg.getResults(56) gg.editAll("-1339", gg.TYPE_FLOAT) gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.201618;30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("160", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll("180", gg.TYPE_FLOAT) gg.toast("开启成功") end function Exit() print("切勿泛滥") os.exit() end cs = "这里可以改成你的QQ" while true do if gg.isVisible(true) then XGCK = 1 gg.setVisible(false) end gg.clearResults() if XGCK == 1 then Main() end end