draw.text(os.date'SZXP778', 290,300)draw.setColor('#00FFFF')
draw.setSize(45)draw.setStyle('描边并填充')
DM="尊敬的用户欢迎您使用冷落国体范围 已适配4.5.3"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻
function English()
English=gg.colorAlert("Welcome to the Maple Leaf PUBGM plugin","This plugin is permanently free .If you obtained it through a paid channel That can only congratulate you on successfully being deceived\nPlease join me on Telegarm channel →:@LCNB7813","OK")
end
if Chinese == 1 then English() end
--把以上代码复制到你脚本最前面即可
local a641 = 0x558CF0
local a642 = 0x4B8
local a643 = 0x510
local aKX1 = 0x540
local bKX2 = 0x618
function getZZ(address)
return gg.getValues({{address = address, flags = 32}})[1].value
end
function getDword(address)
return gg.getValues({{address = address, flags = 4}})[1].value
end
function getFloat(address)
return gg.getValues({{address = address, flags = 16}})[1].value
end
function WriteFloat(address, value, freeze)
gg.setValues({{address = address, flags = 16, value = value}})
if freeze then
gg.addListItems({{address = address, flags = 16, value = value, freeze = freeze}})
end
end
function WriteDword(address, value, freeze)
gg.setValues({{address = address, flags = 4, value = value}})
if freeze then
gg.addListItems({{address = address, flags = 4, value = value, freeze = freeze}})
end
end
function UnfreezeF(address, freeze)
gg.addListItems({{address = address, flags = 16, freeze = freeze}})
end
function Unfreeze ( )
-- 获取保存列表
local t = gg.getListItems ( )
for k , v in pairs ( t ) do
t [ k ] [ "freeze" ] = false
end
return gg.addListItems ( t )
end
local function setvalue(address, flags, value, freeze)
local t = {}
t[1] = {}
t[1].address = address
t[1].flags = flags
t[1].value = value
t[1].freeze = freeze
gg.setValues(t)
if freeze then
gg.addListItems(t)
end
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
print(string.char(231,190,164,58).._Q)
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
end
local function interruptThread(thread)
if thread then
pcall(function()
thread:interrupt()
end)
end
end
local function getASyncThreadCallbak(func)
return function()
luajava.startThread(function()
return pcall(func)
end)
end
end
local function newGradientDrawableLayout(layout)
local baseLayout = {
GradientDrawable,
cornerRadius = '15dp',
color = 0x20000000
}
return table.copy(baseLayout, layout)
end
local task
local function getSyncThreadCallbak(func)
return function()
if task then
gg.toast('正在运行其它任务,再稍后!')
return
end
luajava.startThread(function()
task = true
pcall(func)
task = nil
end)
end
end
local function callSyncThreadCallbak(func)
return getSyncThreadCallbak(func)()
end
local function findFunctionByName(name)
local func = _ENV[name]
if not isFunction(func) then
gg.alert(string.format('不存在 %q 功能', name))
return nil
end
return getSyncThreadCallbak(func)
end
local function newButtonLayout(name)
if not isString(name) then
return
end
local layout = {
Button,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_margin = '2dp',
text = name,
textSize = '16sp',
onClick = findFunctionByName(name)
}
return layout
end
local function newSwitchLayout(openName, closeName)
if not isString(openName) then
return
end
local layout = {
Switch,
layout_width = 'match_parent',
text = openName,
onCheckedChange = function(CompoundButton, state)
local func
local cacheName = '多线程'
if state then
if isString(closeName) then
CompoundButton:setText(closeName)
end
func = findFunctionByName(openName)
else
CompoundButton:setText(openName)
if isString(closeName) then
func = findFunctionByName(closeName)
end
end
if isFunction(func) then
func()
end
end
}
return layout
end
local function newCheckBoxLayout(openName, closeName)
if not isString(openName) then
return
end
local layout = {
CheckBox,
layout_width = 'match_parent',
text = openName,
onCheckedChange = function(CompoundButton, state)
local func
local cacheName = '多线程'
if state then
if isString(closeName) then
CompoundButton:setText(closeName)
end
func = findFunctionByName(openName)
else
CompoundButton:setText(openName)
if isString(closeName) then
func = findFunctionByName(closeName)
end
end
if isFunction(func) then
func()
end
end
}
return layout
end
function newcheck(radio)
firadio={LinearLayout,layout_width = 'match_parent',layout_height = "match_parent",orientation="vertical"}
if type(radio[1])=="string" or type(radio[1])=="number" then
firadio[#firadio+1]={TextView,text=radio[1],textColor="#ffffff",} end
radios={LinearLayout,orientation="horizontal",gravity="center",background="#00C92E37",layout_width = 'match_parent',}
for i=2,#radio do
local name = radio[i][1]
local func1 = radio[i][2]
local func2 = radio[i][3]
local nid = radio[i][4]
if not name then name = "未设置" end
nid = name..guid()
local func = 开关(nid,func1,func2)
radios[#radios+1]={CheckBox,
text=radio[i][1],
textSize="9sp",
textColor="#ffffff",
onClick=function() luajava.newThread(function() pcall(func) end):start() end,
}
end
firadio[#firadio+1]=radios
return luajava.loadlayout(firadio)
end
function newradio(radio)
firadio={LinearLayout,
layout_width = 'match_parent',
layout_height = "match_parent",
orientation="horizontal"
}
if type(radio[1])=="string" or type(radio[1])=="number" then
end
radios={RadioGroup,orientation="horizontal",gravity="center",background="#00C92E37",layout_width = 'match_parent',}
for i=2,#radio do
radios[#radios+1]={
RadioButton,
text=radio[i][1],
textColor="#ffffff",
textSize="11sp",
onClick=function() luajava.newThread(function() pcall(radio[i][2]) end):start() end,
}
end
firadio[#firadio+1]=radios
return luajava.loadlayout(firadio)
end
function 开关(name,func1,func2)
if func1 == nil then func1 = "" end
if func2 == nil then func2 = "" end
if type(func1) == "function" then
return function()
namers = _ENV[name]
if namers ~= "开" then
_ENV[name] = "开"
func1()
else
_ENV[name] = "关"
func2()
end
end
end
end
function guid()
seed = {
'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'
}
tb = {}
for i = 1,32 do
table.insert(tb,seed[math.random(1,16)])
end
sid = table.concat(tb)
return string.format('%s%s%s%s%s',
string.sub(sid,1,8),
string.sub(sid,10,12),
string.sub(sid,21,22))
..string.format('%s%s%s%s%s',
string.sub(sid,1,6),
string.sub(sid,21,25)
)
end
local function getASyncThreadCallbak(func)
return function()
luajava.startThread(function()
return pcall(func)
end)
end
end
local task
local function getSyncThreadCallbak(func)
return function()
if task then
gg.toast('正在运行其它任务,再稍后!')
return
end
luajava.startThread(function()
task=true
pcall(func)
task=nil
end)
end
end
function m1()
end
function BZTX()
end
function D1()
end
local floatingWindowManager = require('floatingWindowManager')
floatingWindowManager:init()
floatingWindowManager:newWindow(('小胖'):format(floatingWindowManager.version), {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_margin = '0dp',
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '5dp',
{
Button,
background = {
GradientDrawable,
cornerRadius='10dp',
color='#5000000',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '配置进程',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
gg.setProcessX()
DM="请选择你的游戏进程"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译
end
},
{
Button,
background = {
GradientDrawable,
cornerRadius='10dp',
color='#5000000',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '范围区域',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
floatingWindowManager:start('小胖[范围]')
end
},
{
Button,
background = {
GradientDrawable,
cornerRadius='10dp',
color='#5000000',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '通用防闪',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
local items, count = {}, 0
local liblist = {
{"libUE4.so", {
{0x7E0, 4096, 4},
{0x808, 4096, 4},
{0xCA4, 4096, 4},
{0xCCC, 4096, 4}
}},
{"libanogs.so", {
{0x300, 4096, 4},
{0x3F8, 4096, 4},
{0x430, 4096, 4},
{0x550, 4096, 4},
{0x5D8, 4096, 4},
{0x45E0, 4096, 4},
{0x4610, 4096, 4},
{0x463C, 4096, 4}
}}
}
for i=1,#liblist do
local r = gg.getRangesList(liblist[i][1] .. ":bss")[1]
if r then
local base = r.start
for j=1,#liblist[i][2] do
count = count + 1
items[count] = {
address = base + liblist[i][2][j][1],
flags = liblist[i][2][j][3],
value = liblist[i][2][j][2]
}
end
end
end
if count > 0 then
gg.setValues(items)
end
DM="防闪开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译
end
},
{
Button,
background = {
GradientDrawable,
cornerRadius='10dp',
color='#5000000',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '工具区域',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
floatingWindowManager:start('小胖[工具]')
end
},
}
})
end,
onDestroy = function()
end
})
floatingWindowManager:newWindow('小胖[工具]', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '5dp',
{
Button,
background = {
GradientDrawable,
cornerRadius='34dp',
color='0xE0F7F9',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '隐藏电报',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
draw.remove()
end
},
{
Button,
background = {
GradientDrawable,
cornerRadius='34dp',
color='0xE0F7F9',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '显示电报',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
draw.text(os.date'SZXP778', 290,300)draw.setColor('#00FFFF')
draw.setSize(45)draw.setStyle('描边并填充')
end
},
{
Button,
background = {
GradientDrawable,
cornerRadius='34dp',
color='0xE0F7F9',
},
layout_width = 'match_parent',
layout_margin = '1dp',
text = '免ROOT自选SO注入[未更]',
textColor= "#FF14DAFF",
textSize = '16sp',
onClick = function()
end
},
}
})
end
})
floatingWindowManager:newWindow('小胖[范围]', {
onCreate = function(floatingWindow)
floatingWindow:addlayout({
ScrollView,
layout_width = 'match_parent',
layout_height = 'match_parent',
{
LinearLayout,
background = floatingWindowManager:getStateListDrawable(),
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
padding = '0dp',
{ TextView, text = "防卡伤[一把一开]:", textSize = "12sp", textColor = "#FFFFFF" },
{LinearLayout,
padding = {'0dp', '0dp', '0dp', '0dp'},
layout_marginTop = '1dp',
{
Switch,
layout_marginLeft = '0dp',--间距王
text="防卡伤[局内]",--7
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
local thread1 = luajava.startThread(FKS1)
floatingWindow:setCache(cacheName, thread1)
end
end
},
},
{ TextView, text = "范围[一把一开]:", textSize = "12sp", textColor = "#FFFFFF" },
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '1dp'},
layout_marginTop = '1dp',--间距
{
Switch,
layout_marginLeft = '0dp',--间距王
text="独家范围",
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
local scriptName = [=====[小胖入侵成功]=====]
local scriptVersion = '独家头部'
local scriptAuthor = 'HOOK'
local startToast = ''
-- 0 - no check; 1 - check package only, 2 - check package and build
local checkTarget = 0
local targetName = [=====[BETA PUBG MOBILE]=====]
local targetPkg = 'com.tencent.igce'
local targetVersion = [=====[4.5.2]=====]
local targetBuild = 21055
-- functions
-- init
gg.require('96.0', 15993)
if startToast ~= '' then startToast = '\n'..startToast end
gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor..startToast)
if checkTarget ~= 0 then
local info = gg.getTargetInfo()
local check = false
local current = false
if checkTarget >= 1 then
check = targetPkg
current = info.packageName
end
if checkTarget >= 2 then
check = check..' '..targetVersion..' ('..targetBuild..')'
current = current..' '..info.versionName..' ('..info.versionCode..')'
end
if check ~= current then
gg.alert('This script for "'..targetName..'" ['..check..'].\nYou select "'..info.label..'" ['..current..'].\nNow script exit.')
os.exit()
end
end
local revert = nil
-- main code
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
revert = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil)
gg.editAll("78", gg.TYPE_FLOAT)
end
end
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '1dp'},
layout_marginTop = '1dp',--间距
{
Switch,
layout_marginLeft = '0dp',--间距王
text="全头范围",
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(100)
gg.editAll("60", gg.TYPE_FLOAT)
DM="全头范围开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻
end
end
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '1dp'},
layout_marginTop = '1dp',--间距
{
Switch,
layout_marginLeft = '0dp',--间距王
text="爆头范围",
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启成功") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启成功") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启成功") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= 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 = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("开启成功", false) return false end else gg.toast("Not Found") return false end end
function HaoGe(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tPUBGMH={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tPUBGMH[#tPUBGMH+1]={} tPUBGMH[#tPUBGMH].address=v.address+offset tPUBGMH[#tPUBGMH].flags=v.flags end tPUBGMH=gg.getValues(tPUBGMH) for i,v in ipairs(tPUBGMH)do if(tostring(v.value)~=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={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) else return false end else return false end end
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(100)
gg.editAll("110", 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)
gg.getResults(56)
gg.editAll("-1339", gg.TYPE_FLOAT)
qmnb =
{
{["memory"] = 32},
{["name"] = "爆头范围加载中"},
{["value"] = 4719772412750681353, ["type"] = 32},
{["lv"] = 4742290408720039936, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -10, ["offset"] = 8, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "爆头范围加载中"},
{["value"] = -4417614866316724128, ["type"] = 32},
{["lv"] = 4724276012378061487, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -10, ["offset"] = 12, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "加载成功"},
{["value"] = -4416487068034336677, ["type"] = 32},
{["lv"] = 4724276012378324073, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -10, ["offset"] = 8, ["type"] = 16},
{["value"] = -10, ["offset"] = 12, ["type"] = 16},
}
xqmnb(qmnb)
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= 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 = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end
function HARRY()
end
function setvalue(address,flags,value) HARRY('Modify address value(Address, value type, value to be modified)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1.427811e28", 16, false, 536870912, 0, -1) gg.getResults(100) gg.editAll("0", 16)
gg.toast("有缘")
qmnb = {{["memory"] = 32},{["name"] = "ʜᴇᴀᴅsʜᴏᴛ"},{["value"] = 4740038608910024704, ["type"] = 32}, {["lv"] = 4752423507886342144, ["offset"] = 4, ["type"] = 32}, {["lv"] = 1106509824, ["offset"] = 8, ["type"] = 32}, }qmxg = {{["value"] = 180, ["offset"] = 0, ["type"] = 16}, {["value"] = 150, ["offset"] = 4, ["type"] = 16}, {["value"] = 150, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "防卡伤45%"},{["value"] = 1119156320, ["type"] = 4},{["lv"] = 1105199104, ["offset"] = 12, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 12, ["type"] = 16},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "防卡伤51%"},{["value"] = 1091779028, ["type"] = 4},{["lv"] = 1103626240, ["offset"] = 28, ["type"] = 4},{["lv"] = 1106509824, ["offset"] = 32, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 28, ["type"] = 16},{["value"] = 150, ["offset"] = 32, ["type"] = 16},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "防卡伤62%"},{["value"] = 69.5, ["type"] = gg.TYPE_FLOAT},{["lv"] = 33, ["offset"] = -4, ["type"] = gg.TYPE_FLOAT},{["lv"] = 35, ["offset"] = -8, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = 150, ["offset"] = 0, ["type"] = gg.TYPE_FLOAT},{["value"] = 260, ["offset"] = -4, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "防卡伤75%"},{["value"] = 9.20161819458, ["type"] = gg.TYPE_FLOAT},{["lv"] = 0, ["offset"] = 12, ["type"] = gg.TYPE_FLOAT},{["lv"] = 0, ["offset"] = 16, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = 220, ["offset"] = 24, ["type"] = gg.TYPE_FLOAT,},{["value"] = 180, ["offset"] = 24, ["type"] = gg.TYPE_FLOAT,},{["value"] = 220, ["offset"] = 28, ["type"] = gg.TYPE_FLOAT},{["value"] = 180, ["offset"] = 32, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "防卡伤90%"},{["value"] = -88.66608428955, ["type"] = gg.TYPE_FLOAT},{["lv"] = 16, ["offset"] = 4, ["type"] = gg.TYPE_FLOAT},{["lv"] = 26, ["offset"] = 8, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = -530, ["offset"] = 8, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "防卡伤开启成功"},{["value"] = 27.13222122192, ["type"] = 16},{["lv"] = 15, ["offset"] = 4, ["type"] = 16},{["lv"] = 5, ["offset"] = -4, ["type"] = 16},{["lv"] = 39, ["offset"] = 20, ["type"] = 16},{["lv"] = 27, ["offset"] = 116, ["type"] = 16},{["lv"] = 38, ["offset"] = 132, ["type"] = 16},}qmxg = {{["value"] = -640, ["offset"] = 4, ["type"] = 4},{["value"] = -640, ["offset"] = 116, ["type"] = 4},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "爆头范围已加载"},{["value"] = 3266401545, ["type"] = 4},{["lv"] = 1104150528, ["offset"] = 8, ["type"] = 4},{["lv"] = 1104180528, ["offset"] = 392, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 8, ["type"] = 16},{["value"] = 180, ["offset"] = 392, ["type"] = 16},}xqmnb(qmnb)
DM="爆头范围开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻
end
end
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '1dp'},
layout_marginTop = '1dp',--间距
{
Switch,
layout_marginLeft = '0dp',--间距王
text="自改爆头范围",
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
OP=gg.prompt({'推荐60-80'},{[1]='60'},{[1]='number'})
if OP == nil or OP[1] == '' or OP[1] == '0' then gg.toast("取消")
else
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber("9.20161819458;15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResultCount()
gg.searchNumber("15.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.getResults(1000)
gg.editAll(OP[1], gg.TYPE_FLOAT)
end
DM="自改爆头范围开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻
end
end
},
},
{ TextView, text = "特效[一把一开]:", textSize = "12sp", textColor = "#FFFFFF" },
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '1dp'},
layout_marginTop = '1dp',--间距
{
Switch,
layout_marginLeft = '0dp',--间距王
text="7H特效",--7
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= 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 = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end
function HaoGe(Nc,Type,Search,Write) gg.clearResults() gg.setRanges(Nc) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tPUBGMH={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tPUBGMH[#tPUBGMH+1]={} tPUBGMH[#tPUBGMH].address=v.address+offset tPUBGMH[#tPUBGMH].flags=v.flags end tPUBGMH=gg.getValues(tPUBGMH) for i,v in ipairs(tPUBGMH)do if(tostring(v.value)~=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={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) else return false end else return false end end
Name = "ʜᴇᴀᴅ ʜɪᴛᴛɪɴɢ ᴡɪᴛʜᴏᴜᴛ ᴡᴀsᴛᴇ ᴏғ ʙᴜʟʟᴇᴛ"
local Nc = 16384
local Lx = 16
local Sz1 = {{-1.42781105e28, 0}}
local Sz2 = {{0, 0}}
HaoGe(Nc, Lx, Sz1, Sz2)
qmnb =
{
{["memory"] = 32},
{["name"] = "ᴍᴀɪɴ ʜɪᴛᴛɪɴɢ ᴄᴏᴍᴘᴏɴᴇɴᴛ ᴀʟʟ ʙᴏᴅʏ"},
{["value"] = 4740038608910024704, ["type"] = 32},
{["lv"] = 4752423507886342144, ["offset"] = 4, ["type"] = 32},
{["lv"] = 1106509824, ["offset"] = 8, ["type"] = 32},
}
qmxg =
{
{["value"] = 700, ["offset"] = 4, ["type"] = 16},
{["value"] = 700, ["offset"] = 8, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "sᴜᴘᴘᴏʀᴛ sᴋʏ sʜᴏᴏᴛ ᴠ1"},
{["value"] = 4719772412750681353, ["type"] = 32},
{["lv"] = 4742290408720039936, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -460, ["offset"] = 8, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "sᴜᴘᴘᴏʀᴛ sᴋʏ sʜᴏᴏᴛ ᴠ2"},
{["value"] = -4417614866316724128, ["type"] = 32},
{["lv"] = 4724276012378061487, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -560, ["offset"] = 12, ["type"] = 16},
}
xqmnb(qmnb)
qmnb =
{
{["memory"] = 32},
{["name"] = "sᴜᴘᴘᴏʀᴛ sᴋʏ sʜᴏᴏᴛ ᴠ3"},
{["value"] = -4416487068034336677, ["type"] = 32},
{["lv"] = 4724276012378324073, ["offset"] = 4, ["type"] = 32},
}
qmxg =
{
{["value"] = -660, ["offset"] = 8, ["type"] = 16},
{["value"] = -660, ["offset"] = 12, ["type"] = 16},
}
xqmnb(qmnb)
qmnb = {
{["memory"] = 32},
{["name"] = "xʜɪᴛ"},
{["value"] = 4771563806291656704, ["type"] = 32},
{["lv"] = 1110966272, ["offset"] = 4, ["type"] = 32},
{["lv"] = 4692750811720056832, ["offset"] = -4, ["type"] = 32},}
qmxg = {
{["value"] = 999, ["offset"] = 0, ["type"] = 16},}
xqmnb(qmnb)
DM="7H特效开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译
end
end
},
},
{LinearLayout,--同一排代码
padding = {'0dp', '0dp', '0dp', '1dp'},
layout_marginTop = '1dp',--间距
{
Switch,
layout_marginLeft = '0dp',--间距王
text="双X特效",--7
textColor= "#01FFFF",
layout_height="30dp",--长度
layout_width="200dp",--宽度
background= luajava.loadlayout {
GradientDrawable,
color = "#00000000",--背景颜色代码
cornerRadius = 28--背景圆角
},
onCheckedChange = function(CompoundButton, state)
local cacheName = '多线程-13jhds,ri0'
if state then
gg.searchNumber("10;46", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.processResume()
gg.refineNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil)
gg.editAll("9999", gg.TYPE_FLOAT)
gg.processResume()
gg.searchNumber("10;46", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
gg.processResume()
gg.refineNumber("10", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1)
revert = gg.getResults(100, nil, nil, nil, nil, nil, nil, nil, nil)
gg.editAll("9999", gg.TYPE_FLOAT)
gg.processResume()
DM="双X特效开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译
end
end
},
},
{
TextView,
layout_width = 'match_parent',
layout_margin = '0dp',
gravity="center",
text = '✶ Telegram:SZXP778 ✶',
textSize = '12sp',
textColor = '#FF01FFFF' -- 只设置文字颜色,没有点击事件
}
}
})
end
})
function FKS1()
function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] 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 = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= 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 = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end
function HARRY()
end
function setvalue(address,flags,value) HARRY('Modify address value(Address, value type, value to be modified)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1.427811e28", 16, false, 536870912, 0, -1) gg.getResults(100) gg.editAll("0", 16)
gg.toast("有缘")
qmnb = {{["memory"] = 32},{["name"] = "ʜᴇᴀᴅsʜᴏᴛ"},{["value"] = 4740038608910024704, ["type"] = 32}, {["lv"] = 4752423507886342144, ["offset"] = 4, ["type"] = 32}, {["lv"] = 1106509824, ["offset"] = 8, ["type"] = 32}, }qmxg = {{["value"] = 180, ["offset"] = 0, ["type"] = 16}, {["value"] = 150, ["offset"] = 4, ["type"] = 16}, {["value"] = 150, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = 1119156320, ["type"] = 4},{["lv"] = 1105199104, ["offset"] = 12, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 12, ["type"] = 16},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = 1091779028, ["type"] = 4},{["lv"] = 1103626240, ["offset"] = 28, ["type"] = 4},{["lv"] = 1106509824, ["offset"] = 32, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 28, ["type"] = 16},{["value"] = 150, ["offset"] = 32, ["type"] = 16},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = 69.5, ["type"] = gg.TYPE_FLOAT},{["lv"] = 33, ["offset"] = -4, ["type"] = gg.TYPE_FLOAT},{["lv"] = 35, ["offset"] = -8, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = 150, ["offset"] = 0, ["type"] = gg.TYPE_FLOAT},{["value"] = 260, ["offset"] = -4, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = 9.20161819458, ["type"] = gg.TYPE_FLOAT},{["lv"] = 0, ["offset"] = 12, ["type"] = gg.TYPE_FLOAT},{["lv"] = 0, ["offset"] = 16, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = 220, ["offset"] = 24, ["type"] = gg.TYPE_FLOAT,},{["value"] = 180, ["offset"] = 24, ["type"] = gg.TYPE_FLOAT,},{["value"] = 220, ["offset"] = 28, ["type"] = gg.TYPE_FLOAT},{["value"] = 180, ["offset"] = 32, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = -88.66608428955, ["type"] = gg.TYPE_FLOAT},{["lv"] = 16, ["offset"] = 4, ["type"] = gg.TYPE_FLOAT},{["lv"] = 26, ["offset"] = 8, ["type"] = gg.TYPE_FLOAT},}qmxg = {{["value"] = -530, ["offset"] = 8, ["type"] = gg.TYPE_FLOAT},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = 27.13222122192, ["type"] = 16},{["lv"] = 15, ["offset"] = 4, ["type"] = 16},{["lv"] = 5, ["offset"] = -4, ["type"] = 16},{["lv"] = 39, ["offset"] = 20, ["type"] = 16},{["lv"] = 27, ["offset"] = 116, ["type"] = 16},{["lv"] = 38, ["offset"] = 132, ["type"] = 16},}qmxg = {{["value"] = -640, ["offset"] = 4, ["type"] = 4},{["value"] = -640, ["offset"] = 116, ["type"] = 4},}xqmnb(qmnb)
qmnb = {{["memory"] = 32},{["name"] = "有缘"},{["value"] = 3266401545, ["type"] = 4},{["lv"] = 1104150528, ["offset"] = 8, ["type"] = 4},{["lv"] = 1104180528, ["offset"] = 392, ["type"] = 4},}qmxg = {{["value"] = 180, ["offset"] = 8, ["type"] = 16},{["value"] = 180, ["offset"] = 392, ["type"] = 16},}xqmnb(qmnb)
DM="范围防卡伤开启成功"--语音播报内容自己改
gg.playMusic("https://fanyi.baidu.com/gettts?lan=zh&text="..DM.."&spd=5&source=wise") --百度翻译
end
floatingWindowManager:run()