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--动态 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 local gurenya=gg.setValues--静态 so=gg.getRangesList('libUE4.so')[1].start py=0X116E568 setvalue(so+py,16,-1.30013986e28) so=gg.getRangesList('libUE4.so')[1].start py=0X21D2CAC setvalue(so+py,16,-1.30013986e28) so=gg.getRangesList('libUE4.so')[1].start py=0X116E54C setvalue(so+py,16,-5.90757092e21) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0xC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0x44} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0x7C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0xB4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) so=gg.getRangesList('libUE4.so')[1].start py=0X116E54C setvalue(so+py,16,0) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0xC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0x44} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0x7C} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 9999}}) local t = {"libUE4.so:bss", "Cb"} local tt = {0x1EA3A8,0x20,0x32C,0x380,0xB4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 9999}}) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("160", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.getResults(2000) gg.editAll("180", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("140", 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) gg.clearResults() 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("500", gg.TYPE_FLOAT) 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.toast("头") gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.getResults(2000) gg.editAll("180", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("240", 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("160", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) 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_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("220", gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(32) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll("371;365", 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("160", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("78;783", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("115;220", gg.TYPE_FLOAT) gg.clearResults() gg.toast("头") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("-92.2311706543;16;26::",gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResultCount() gg.searchNumber("16;26",gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(1) gg.editAll("200",gg.TYPE_FLOAT) gg.searchNumber("26",gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(1) gg.editAll("-195",gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("12.66705417633;28;15;26:5120",gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(10) gg.editAll("315",gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(16384) gg.searchNumber("0.10000000149F;64.50088500977F",gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.searchNumber("0.10000000149",gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0,-1) gg.getResults(10) gg.editAll("85",gg.TYPE_FLOAT) gg.toast("头") gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("370;375", gg.TYPE_FLOAT) gg.clearResults() gg.toast("载入") gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("0000B040rA;0000803FrA;0000403FrA:9", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll("1,087,897,600;1,075,838,976;1,075,838,976", gg.TYPE_DWORD) gg.clearResults() gg.toast("爆头") gg.clearResults() gg.setRanges(131072) gg.searchNumber("-88.66608428955;26", 16, false, 536870912, 0, -1) gg.searchNumber("26", 16, false, 536870912, 0, -1) gg.getResults(2) gg.editAll("-466", 16) gg.clearResults() gg.searchNumber("-88.73961639404;28", 16, false, 536870912, 0, -1) gg.searchNumber("28", 16, false, 536870912, 0, -1) gg.getResults(2) gg.editAll("-568", 16) gg.clearResults() gg.setRanges(32) gg.searchNumber("9.201618;30.5;25", 16, false, 536870912, 0, -1) gg.searchNumber("30.5;25", 16, false, 536870912, 0, -1) gg.getResults(10) gg.editAll("280", 16) gg.clearResults() gg.toast("头")gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('40;33;69.5', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(50, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll('80;120;230', gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('-1.427811E28', gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.processResume() gg.refineAddress('58', -1, gg.TYPE_FLOAT, gg.SIGN_EQUAL, 0, -1) gg.getResults(2700, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll('9999999', gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_C_DATA | gg.REGION_CODE_APP) 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.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("450", 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.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("-1000", gg.TYPE_FLOAT) 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("-1000", 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("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1000", gg.TYPE_FLOAT) gg.setRanges(gg.REGION_C_BSS) gg.searchNumber("2048D;1F", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0.07", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("9.1022205e-38;0.0001;9.1025635e-38::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.0001", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("1000", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_BAD) gg.searchNumber("-7.1611644e24;0.0001;1.1297201e-37::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.0001", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(500) gg.editAll("-500", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("h4E8A38EEE000DDE5",gg.TYPE_BYTE,false,gg.SIGN_EQUAL,0,-1,0) gg.refineNumber("h4E8A38EE",gg.TYPE_BYTE,false,gg.SIGN_EQUAL,0,-1,0) gg.getResults(7243) gg.editAll("78;-118;56;0",gg.TYPE_BYTE) gg.clearResults()while true do--//循环 gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber('23;25;30.5',gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('23;25',gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('250',gg.TYPE_FLOAT) end while(true)do if gg.isVisible(true) then XGCK=1 gg.setVisible(false) end gg.clearResults() if XGCK==1 then Main() end end