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--静态 local Char={} local _Char=(function(_) for i=0,255 do Char[i]=string.char(i) Char[(Char[i])]=i end Char["bit32"]=_ end)(bit32.bxor) local Concat=table.concat local dec=function(a,b) return(Char[Char["bit32"](Char[a],Char[b])]) end gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber((Concat({dec('\31','\44'),dec('\58','\20'),dec('\62','\6'),dec('\63','\13'),dec('\41','\25'),dec('\53','\1'),dec('\28','\43'),dec('\24','\41'),dec('\54','\2'),dec('\44','\31'),dec('\103','\2'),dec('\59','\22'),dec('\36','\23'),dec('\22','\33'),dec('\122','\60'),dec('\58','\1'),dec('\19','\34'),dec('\36','\10'),dec('\56','\8'),dec('\21','\37'),dec('\51','\11'),dec('\49','\3'),dec('\38','\19'),dec('\60','\13'),dec('\33','\18'),dec('\48','\5'),dec('\125','\24'),dec('\10','\39'),dec('\3','\48'),dec('\33','\21'),dec('\127','\57'),dec('\35','\24'),dec('\1','\48'),dec('\0','\46'),dec('\43','\27'),dec('\25','\41'),dec('\8','\48'),dec('\52','\6'),dec('\26','\47'),dec('\18','\35'),dec('\53','\6'),dec('\21','\32'),dec('\57','\92'),dec('\12','\33'),dec('\32','\19'),dec('\26','\46'),dec('\120','\62'),dec('\22','\45'),dec('\45','\31'),dec('\14','\32'),dec('\5','\51'),dec('\49','\4'),dec('\48','\8'),dec('\63','\11'),dec('\48','\6'),dec('\55','\5'),dec('\57','\14'),dec('\3','\53'),dec('\114','\23'),dec('\0','\45'),dec('\60','\15'),dec('\34','\16'),dec('\77','\11'),dec('\26','\33'),dec('\36','\22'),dec('\13','\35'),dec('\52','\2'),dec('\48','\5'),dec('\57','\1'),dec('\23','\35'),dec('\31','\41'),dec('\54','\4'),dec('\6','\49'),dec('\40','\30'),dec('\66','\39'),dec('\0','\45'),dec('\45','\30'),dec('\25','\43'),dec('\100','\34'),dec('\11','\48'),dec('\57','\10'),dec('\32','\14'),dec('\37','\29'),dec('\37','\23'),dec('\50','\2'),dec('\39','\19'),dec('\56','\15'),dec('\26','\43'),dec('\41','\29'),dec('\62','\13'),dec('\84','\49'),dec('\51','\30'),dec('\58','\9'),dec('\5','\50'),dec('\65','\7'),dec('\52','\15'),dec('\52','\6'),dec('\56','\22'),dec('\28','\45'),dec('\23','\35'),dec('\40','\27'),dec('\63','\15'),dec('\33','\21'),dec('\21','\36'),dec('\28','\47'),dec('\60','\5'),dec('\113','\20'),dec('\11','\38'),dec('\20','\39'),dec('\58','\13'),dec('\102','\32'),dec('\63','\4'),dec('\41','\25'),dec('\6','\40'),dec('\45','\29'),dec('\41','\25'),dec('\53','\5'),dec('\25','\40'),dec('\109','\43'),dec('\55','\12'),dec('\26','\42'),dec('\15','\33'),dec('\45','\28'),dec('\27','\43'),dec('\63','\15'),dec('\20','\36'),dec('\60','\12'),dec('\57','\9'),dec('\39','\23'),dec('\17','\33'),dec('\48','\1'),dec('\29','\41'),dec('\46','\23'),dec('\97','\39')})), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber((dec('\31','\47')..dec('\63','\17')..dec('\25','\40')..dec('\60','\12')..dec('\60','\12')..dec('\16','\32')..dec('\26','\42')..dec('\26','\42')..dec('\49','\1')..dec('\24','\40')..dec('\39','\22')..dec('\30','\42')..dec('\61','\4')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll((dec('\26','\42')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.clearResults() gg.setRanges(32) gg.searchNumber((dec('\47','\29')..dec('\5','\48')..dec('\18','\41')..dec('\34','\17')..dec('\34','\18')..dec('\4','\42')..dec('\1','\52')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll((dec('\61','\14')..dec('\17','\38')..dec('\31','\47')..dec('\19','\40')..dec('\19','\32')..dec('\23','\32')..dec('\51','\6')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\35','\17')..dec('\38','\19')..dec('\61','\6')..dec('\60','\14')..dec('\25','\42')..dec('\14','\53')..dec('\42','\25')..dec('\24','\40')..dec('\4','\42')..dec('\62','\11')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll((dec('\41','\24')..dec('\35','\21')..dec('\60','\12')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\47','\29')..dec('\5','\48')..dec('\18','\41')..dec('\34','\17')..dec('\34','\18')..dec('\4','\42')..dec('\1','\52')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll((dec('\50','\0')..dec('\39','\18')..dec('\29','\45')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\20','\39')..dec('\54','\6')..dec('\54','\24')..dec('\57','\12')..dec('\30','\37')..dec('\31','\45')..dec('\38','\19')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll((dec('\2','\48')..dec('\51','\1')..dec('\46','\30')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\46','\28')..dec('\54','\5')..dec('\51','\8')..dec('\19','\33')..dec('\27','\46')..dec('\46','\21')..dec('\54','\5')..dec('\55','\7')..dec('\36','\10')..dec('\21','\32')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber((dec('\47','\29')..dec('\5','\48')..dec('\18','\41')..dec('\34','\17')..dec('\34','\18')..dec('\4','\42')..dec('\1','\52')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) hst = gg.getResults(100) gg.editAll((dec('\30','\45')..dec('\41','\28')..dec('\63','\10')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\46','\31')..dec('\23','\34')..dec('\23','\44')..dec('\61','\15')..dec('\51','\11')..dec('\41','\18')..dec('\32','\17')..dec('\5','\51')..dec('\62','\5')..dec('\23','\37')..dec('\46','\24')..dec('\2','\57')..dec('\18','\42')..dec('\27','\32')..dec('\29','\44')..dec('\27','\35')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) hst2 = gg.getResults(56) gg.editAll((dec('\60','\17')..dec('\0','\49')..dec('\19','\32')..dec('\20','\39')..dec('\18','\43')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\13','\52')..dec('\35','\13')..dec('\3','\49')..dec('\0','\48')..dec('\32','\17')..dec('\48','\6')..dec('\36','\21')..dec('\55','\15')..dec('\20','\47')..dec('\1','\50')..dec('\37','\21')..dec('\32','\14')..dec('\54','\3')..dec('\41','\18')..dec('\19','\33')..dec('\63','\10')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber((dec('\47','\29')..dec('\5','\48')..dec('\18','\41')..dec('\34','\17')..dec('\34','\18')..dec('\4','\42')..dec('\1','\52')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll((dec('\41','\24')..dec('\35','\21')..dec('\60','\12')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111'))) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber((dec('\35','\17')..dec('\38','\19')..dec('\61','\6')..dec('\60','\14')..dec('\25','\42')..dec('\14','\53')..dec('\42','\25')..dec('\24','\40')..dec('\4','\42')..dec('\62','\11')), gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll((dec('\57','\8')..dec('\51','\11')..dec('\32','\16')), gg.TYPE_FLOAT) gg.toast((dec('\104','\142')..dec('\135','\30')..dec('\162','\56')..dec('\234','\13')..dec('\254','\89')..dec('\146','\25')..dec('\219','\60')..dec('\165','\2')..dec('\230','\103')..dec('\194','\38')..dec('\203','\113')..dec('\143','\53')..dec('\134','\110')..dec('\141','\1')..dec('\1','\130')..dec('\175','\74')..dec('\230','\125')..dec('\219','\111')))