wilmans2m

SpiderFighter3

Mar 29th, 2024 (edited)
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 24.16 KB | Gaming | 0 0
  1. LUA = 'WILS2M'
  2. GLabel = 'Spider Fighter 3'
  3. GProcess = 'com.starplay.spider.fighter.openworld'
  4. GVersion = '(vAU.02)'
  5. xbit = 64
  6. LibResult = 1
  7. xlib = 'libil2cpp.so'
  8. xREV = 1  I={}
  9. xCNE = 0
  10. xSSE = 0
  11. XbitX = 2
  12. --███████████████████████
  13. expire='free'
  14. game = gg.getTargetInfo()
  15. P=game.processName
  16. FP=game.name
  17. L=gg.getTargetInfo().label
  18. M=gg.getTargetInfo()["label"]
  19. V=game.versionName
  20. TP=gg.getTargetPackage()
  21. xTAGx="Have fun"
  22. xLINKx="https://t.me/HxE_Chat"
  23. xLINK1x="https://www.tiktok.com/@hxesq"
  24. printx="---------------------------------------------------------------"
  25. print(printx)
  26. print(xTAGx)
  27. print("Telegram = "..xLINKx)
  28. print("TikTok = "..xLINK1x)
  29. print(printx)  
  30. print("Script = "..GLabel.."  "..GVersion)
  31.  
  32. --███████████████████████
  33. apex=1
  34. gg.setVisible(false)
  35. v=gg.getTargetInfo()
  36.     if v==nil then
  37.         print("×× ERROR ××\n×× INVALID PROCESS SELECTED / OR NO ROOT ACCESS")
  38.         gg.setVisible(true) os.exit()
  39.         return
  40.     end
  41.    
  42. HxEmenu = ('            ⚡HxE Menu by wils2m⚡\
  43.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  44.                     ⛥🇮‌🇳‌🇫‌🇴‌⛥\
  45.  🎮🅖🅐🅜🅔🎮 : '..GLabel..'\
  46.  🎰🅥🅔🅡🅢🎰 : '..GVersion..'\
  47.    🎰🅐🅡🅜🎰   : '..xbit..'\
  48. \
  49. ⏳Exᴘɪʀᴇᴅ Date⏳ : '..expire..'\
  50. 🎁 Encryption 🎁 :  '..expire..'\
  51.            ❦ ════ •⊰❂ - ❂⊱• ════ ❦')
  52.            
  53. gg.alert(HxEmenu)
  54.  
  55. gg.alert("                           Patch Note\
  56.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  57. - HxE script menu\
  58. - Huge thanks to Apex[GG]\
  59. - Auto update implemented\
  60. - Dumb enemy\
  61. - No shards required\
  62. - No money decrease\
  63. - No Ads, active premium\
  64.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  65. ")
  66. --███████████████████████
  67.     if L == GLabel then
  68.         gg.toast('➣ Game : ' .. L)
  69.         gg.clearResults()
  70.     else
  71.         gg.alert("Bad process selected")
  72.         gg.setVisible(true)
  73.         print('Bad process')
  74.     end
  75. ------------------------------------------------------------------------------ 
  76.     if v.processName~=GProcess then
  77.         print("This Script is For:\n    "..GLabel.."\n    "..GProcess.."\nYou Selected:\n    "..v.label.."\n    "..v.processName)
  78.         gg.setVisible (true) os.exit()
  79.         return
  80.     else
  81.         gg.toast('➣ Package : ' .. GProcess)
  82.     end
  83. ------------------------------------------------------------------------------
  84. if v.x64 then bitx=64 xBITx="[x64]" else bitx=32 xBITx="[x32]" end
  85. --███████████████████████
  86. --███████████████████████
  87. ------------------------------------------------------------------------------
  88. A={} for i =1,100 do A[i]={} end
  89. ------------------------------------------------------------------------------
  90. OFF="× " ON="√ "
  91.  
  92. HS=OFF EN=OFF SH=OFF GD=OFF NA=OFF
  93. function menu()
  94. apex=0
  95. gg.toast(xTAGx)  
  96. mc=gg.multiChoice({
  97.     NA.."No Ads/Premium",
  98.     EN.."Dumb Enemy",
  99.     HS.."No Hero Shards Decrease",
  100.     SH.."No shards required",
  101.     GD.."No money decrease",
  102.     "[ EXIT ]"},
  103.     {},"HxE menu for ".. "\n" ..xTAGx.."\n"..xLINKx.."\n"..GLabel.." "..GVersion.." "..xBITx)
  104.    
  105.     if mc==nil then cancel() return end
  106.     if mc[1] then noads() end
  107.     if mc[2] then ennemy() end
  108.     if mc[3] then hshard() end
  109.     if mc[4] then shard() end
  110.     if mc[5] then cash() end
  111.    
  112. xhaX={
  113.     NA.."No Ads/Premium",
  114.     EN.."Dumb Enemy",
  115.     HS.."No Hero Shards Decrease",
  116.     SH.."No shards required",
  117.     GD.."No money decrease",
  118.     }
  119. xhaX=table.concat(xhaX, "\n")
  120. xhaX=tostring(xhaX)
  121.  
  122.     if mc[6] then exit() return end
  123.  
  124. gg.toast("[√] Complete")
  125.  
  126. gg.alert("Hacks "..GLabel.." "..GVersion.." "..xBITx.."\n\n"..xhaX,"OK",nil,xTAGx)
  127.  
  128. end
  129.  
  130. --███████████████████████
  131.  
  132. --// Namespace: Fighting.Common.Metagame.State
  133. --public class GameState
  134. --public bool get_IsNoAdsPurchased()
  135. A[1].name="Fighting.Common.Metagame.State"
  136. A[1].class="GameState"
  137. A[1].method="get_IsNoAdsPurchased"
  138. --// Namespace: CustomService
  139. --public class AdsService : IAdsService, IAdsProvider, IInitializedService
  140. for i = 2,4 do A[i].name="CustomService" end
  141. for i = 2,4 do A[i].class="AdsService" end
  142. --public bool get_IsInterstitialDisabled()
  143.  
  144. --private bool get_IsNoAdsPurchased()
  145. --A[2].name="CustomService"
  146. --A[2].class="AdsService"
  147. A[2].method="get_IsNoAdsPurchased"
  148. --private bool get_IsPremiumSubscriptionActive()
  149. --A[3].name="CustomService"
  150. --A[3].class="AdsService"
  151. A[3].method="get_IsPremiumSubscriptionActive"
  152. --public bool get_IsInterstitialReady()
  153. --A[4].name="CustomService"
  154. --A[4].class="AdsService"
  155. A[4].method="get_IsInterstitialReady"
  156.  
  157. function noads()
  158. for i = 1,4 do if A[i].error==1 then break error() return end end
  159.     for i = A[1].start, A[4].finish do o=I[i]  x=1
  160.         if NA==OFF then arm() else revert() end
  161.     end
  162.     if NA==OFF then NA=ON else NA=OFF end
  163. end    
  164.  
  165. --███████████████████████
  166.  
  167. --// Namespace: Units.Enemy.Brain
  168. --public class Bot : IBot
  169. --public bool get_ReadyToAttack()
  170. A[5].method="get_ReadyToAttack"
  171.  
  172. function ennemy()
  173. if A[5].error==1 then error() return end
  174.     for i = A[5].start, A[5].finish do o=I[i]
  175.         if EN==OFF then x=0 arm() else revert() end
  176.     end
  177.    
  178.     if EN==OFF then EN=ON else EN=OFF end
  179. end
  180.  
  181. --███████████████████████
  182.  
  183. --// Namespace: Fighting.Common.Metagame.State
  184. --public class CharacterUnlockSequenceItemState
  185. --public int get_CharacterPartsRequired()
  186. A[6].name="Fighting.Common.Metagame.State"
  187. A[6].class="CharacterUnlockSequenceItemState"
  188. A[6].method="get_CharacterPartsRequired"
  189.  
  190. function hshard()
  191. if A[6].error==1 then error() return end
  192.     for i = A[6].start, A[6].finish do o=I[i]
  193.         if HS==OFF then x=0 arm() else revert() end
  194.     end
  195.     if HS==OFF then HS=ON else HS=OFF end
  196. end
  197.  
  198. --█████████████████████
  199.  
  200. --// Namespace: Fighting.Common.Metagame.Core
  201. --public sealed class CharacterShards : Resource
  202. --public void Subtract(CharacterShards subtract)
  203. A[7].name="Fighting.Common.Metagame.Core"
  204. A[7].class="CharacterShards"
  205. A[7].method="Subtract"
  206.        
  207. function shard()
  208. if A[7].error==1 then error() return end
  209.     for i = A[7].start, A[7].finish do o=I[i]
  210.         if SH==OFF then x=0 arm() else revert() end
  211.     end
  212.     if SH==OFF then SH=ON else SH=OFF end
  213. end
  214.  
  215. --█████████████████████
  216.  
  217. --// Namespace: Fighting.Common.Metagame.Core
  218. --public sealed class Cash : Resource, IEquatable<Cash>
  219. --public void Subtract(Cash subtract)
  220. A[8].name="Fighting.Common.Metagame.Core"
  221. A[8].class="Cash"
  222. A[8].method="Subtract"
  223.  
  224. function cash()
  225. if A[8].error==1 then error() return end
  226.     for i = A[8].start, A[8].finish do o=I[i]
  227.         if GD==OFF then x=0 arm() else revert() end
  228.     end
  229.     if GD==OFF then GD=ON else GD=OFF end
  230. end
  231.  
  232. --███████████████████████
  233. --███████████████████████
  234.  
  235. function cancel()
  236. gg.toast("Cancelled")
  237. end
  238. ------------------------------------------------------------------------------  
  239. function wait()
  240. gg.toast("Please Wait..")
  241. end
  242. ------------------------------------------------------------------------------  
  243. function error()
  244. gg.toast("× ERROR ×")
  245. gg.sleep(1000)
  246. end
  247. ------------------------------------------------------------------------------  
  248. function exit()
  249. print("--------------------------------------------------------------------")
  250. print("More links - WILS2M")
  251. print("https://www.tiktok.com/@helledengaming")
  252. print("https://odysee.com/@HellEtEden-gaming:9")
  253. print("https://vimeo.com/showcase/10427325")
  254. gg.processResume()
  255. gg.getListItems()
  256. gg.clearList()
  257. gg.getResults(gg.getResultsCount())
  258. gg.clearResults()
  259. gg.toast("[ EXIT ]")  
  260.     if xhaX~=nil then
  261.         print(printx)
  262.         print(xhaX)
  263.         print(printx)  
  264.     end
  265. gg.setVisible(true)
  266. os.exit()
  267. return
  268. end
  269.  
  270. --███████████████████████
  271. isrdy=gg.alert("Spider Fighter 3\n\nThis Script is Auto-Updating. \nInitial Calibration will take A while.\n\nYOU MUST CURRENTLY BE IN ANY GAMEPLAY (MISSION/BATTLE/ETC). Otherwise, Calibration will Fail and Hacks Not Work\n\n(All hacks can be activated anywhere)","EXIT","START",xTAGx)  
  272. if isrdy~=2 then gg.setVisible(true) os.exit() return end
  273. --███████████████████████
  274.     if LibResult==1 then
  275.     xAPEXx={} xXx=0
  276.     xLibRes=0
  277.     libx=gg.getRangesList()
  278.         if #(libx)==0 then
  279.         print("×× LIB ERROR #01 ××\nNo Libs Found\nTry a Different Virtual Environment \nor Try a Better Game Installation Method\nor Download Game From 'apkcombo.com' ")
  280.         gg.setVisible(true)
  281.         os.exit()
  282.         end
  283.     libx=gg.getRangesList(xlib)
  284.         if #(libx)==0 then  
  285.         print("×× No "..xlib.." Found")
  286.         xLibRes=2
  287.         goto APEX_SPLIT
  288.         end
  289.     xlibn=0
  290.         for i, v in ipairs(libx) do
  291.             if libx[i].state=="Xa" then
  292.             xXx=xXx+1
  293.             xAPEXx[xXx]=libx[i].start
  294.             xLibRes=1
  295.             end
  296.         end
  297.         if xLibRes==0 then
  298.         print("×× LIB ERROR #03 ××\nNo "..xlib.." Found in Xa\nTry a Different Virtual Environment \nor Try a Better Game Installation Method\nor Download Game From 'apkcombo.com' ")
  299.         gg.setVisible(true)
  300.         os.exit()    
  301.         end    
  302.                  
  303.         ::APEX_SPLIT::    
  304.         if xLibRes==2 then
  305.         splitapk=0
  306.         libx=gg.getRangesList()
  307.             for i, v in ipairs(libx) do
  308.                 if libx[i].state=="Xa" and string.match(libx[i].name,"split_config") then
  309.                 splitapk=1
  310.                 end
  311.             end
  312.             if splitapk==1 then
  313.             xsapk={} xsapkx=0
  314.                 for i, v in ipairs(libx) do
  315.                     if libx[i].state=="Xa" then
  316.                     xsapkx=xsapkx+1
  317.                     xsapk[xsapkx]=libx[i]["end"]-libx[i].start
  318.                     end
  319.                 end
  320.                 if xsapkx~=0 then                
  321.                 APEXQ=math.max(table.unpack(xsapk))
  322.                     for i, v in ipairs(libx) do              
  323.                         if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then              
  324.                         xXx=xXx+1            
  325.                        xAPEXx[xXx]=libx[i].start
  326.                         print("√√ Split Apk Lib Found\n√√ "..libx[i].name)
  327.                         xLibRes=1                      
  328.                         end
  329.                     end
  330.                 end
  331.             end
  332.          
  333.              if splitapk==0 and xLibRes~=1 then
  334.              print("×× No split_config Lib Found")  
  335.              xc=1 xt={}
  336.              libx=gg.getRangesList()
  337.                  for i, v in ipairs(libx) do
  338.                      if libx[i].state=="Xa" then
  339.                      xt[xc]=tonumber(libx[i]["end"]-libx[i].start)
  340.                      xc=xc+1
  341.                      end
  342.                  end
  343.              APEXQ=math.max(table.unpack(xt))
  344.                  for i, v in ipairs(libx) do              
  345.                      if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then        
  346.                      xXx=xXx+1      
  347.                      xAPEXx[xXx]=libx[i].start
  348.                      print("√√ math.max Xa Lib Found\n√√ "..libx[i].name)
  349.                      xLibRes=1  
  350.                      end
  351.                  end
  352.             end                        
  353.  
  354.             if xLibRes~=1 then
  355.             print("×× Correct Lib Not Found ××\n×× Direct/Split Config/Xa Max ××")
  356.             gg.setVisible(true)
  357.             os.exit()
  358.              return
  359.             end
  360.         end
  361.     end
  362. --███████████████████████
  363. function arm()
  364. o=tonumber(o)
  365.     for XxX=1,#(xAPEXx) do
  366.     xdump=nil xdump={}
  367.     xdump[1]={} xdump[2]={}
  368.     xdump[1].address=xAPEXx[XxX] + o
  369.     xdump[1].flags=4
  370.         if x==0 then xdump[1].value=xfalse end
  371.         if x==1 then xdump[1].value=xtrue end
  372.         if x~=0 and x~=1 then xdump[1].value=x end
  373.     xdump[2].address=xAPEXx[XxX]+(o+4)
  374.     xdump[2].flags=4
  375.     xdump[2].value=xEND
  376.     gg.setValues(xdump)
  377.     end
  378. end
  379. ------------------------------------------------------------------------------  
  380. function revert()
  381.     for XxX=1,#(xAPEXx) do
  382.     REVERT=nil REVERT={} xRx=nil xRx=1
  383.         for i, v in ipairs(ORIG) do
  384.             if tonumber(xAPEXx[XxX]+o)==ORIG[i].address then
  385.             REVERT[xRx]={}
  386.             REVERT[xRx].address=xAPEXx[XxX]+o
  387.             REVERT[xRx].flags=4
  388.             REVERT[xRx].value=ORIG[i].value
  389.             xRx=xRx+1
  390.             REVERT[xRx]={}
  391.             REVERT[xRx].address=xAPEXx[XxX]+o+4
  392.             REVERT[xRx].flags=4
  393.             REVERT[xRx].value=ORIG[i+1].value
  394.             gg.setValues(REVERT)
  395.             break
  396.             end
  397.         xRx=xRx+1
  398.         end
  399.     end
  400. end
  401. --███████████████████████
  402. if v.x64 then
  403. xtrue="h200080D2" -- MOV X0, #0x1
  404. xfalse="h000080D2" -- MOV X0, #0x0
  405. xEND="hC0035FD6" -- RET
  406. else
  407. xtrue="h0100A0E3" -- MOVW R0, #1
  408. xfalse="h0000A0E3" -- MOVW R0, #0
  409. xEND="h1EFF2FE1" -- BX LR
  410. end
  411. --███████████████████████
  412. -- APEX[GG]v2
  413. --███████████████████████
  414. function clear()
  415. gg.getResults(gg.getResultsCount())
  416. gg.clearResults()
  417. end
  418. ------------------------------------------------------------------------------  
  419. function get()
  420. gg.getResults(gg.getResultsCount())
  421. end
  422. ------------------------------------------------------------------------------  
  423. function search()
  424. gg.getResults(gg.getResultsCount())
  425. gg.clearResults()
  426. gg.searchNumber(x,t)
  427. end
  428. ------------------------------------------------------------------------------  
  429. function refine()
  430. gg.refineNumber(x,t)
  431. end
  432. ------------------------------------------------------------------------------  
  433. function refinenot()
  434. gg.refineNumber(x,t,false,gg.SIGN_NOT_EQUAL)
  435. end
  436. ------------------------------------------------------------------------------  
  437. function edit()
  438. gg.getResults(gg.getResultsCount())
  439. gg.editAll(x,t)
  440. end
  441. ------------------------------------------------------------------------------  
  442. function check()
  443. E=nil E=gg.getResultsCount()
  444. end
  445. ------------------------------------------------------------------------------  
  446. function offset()
  447. o=tonumber(o) addoff=nil
  448. addoff=gg.getResults(gg.getResultsCount())
  449.     for i, v in ipairs(addoff) do
  450.         addoff[i].address=addoff[i].address+o
  451.         addoff[i].flags=t
  452.     end
  453. gg.loadResults(addoff)
  454. end
  455.  
  456. --███████████████████████
  457. function cancel()
  458. gg.toast("CANCELLED")
  459. end
  460. ------------------------------------------------------------------------------  
  461. function wait()
  462. gg.toast("Please Wait..")
  463. end
  464. ------------------------------------------------------------------------------  
  465. function error()
  466. gg.toast("× ERROR ×")
  467. gg.sleep(1000)
  468. end
  469. ------------------------------------------------------------------------------  
  470. function exit()
  471. print("--------------------------------------------------------------------")
  472. print("More links - WILS2M")
  473. print("https://www.tiktok.com/@helledengaming")
  474. print("https://odysee.com/@HellEtEden-gaming:9")
  475. print("https://vimeo.com/showcase/10427325")
  476. gg.processResume()
  477. gg.getListItems()
  478. gg.clearList()
  479. gg.getResults(gg.getResultsCount())
  480. gg.clearResults()
  481. gg.toast("[ EXIT ]")  
  482.     if xhaX~=nil then
  483.         print(printx)
  484.         print(xhaX)
  485.         print(printx)  
  486.     end
  487. gg.setVisible(true)
  488. os.exit()
  489. return
  490. end  
  491. --███████████████████████
  492.  
  493. --███████████████████████
  494. if v.x64 then off1=-16 typ=32 else off1=-8 typ=4 end
  495. gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC)
  496. gmdx=gg.getRangesList("global-metadata.dat")
  497.     if #(gmdx)~=0 then        
  498.     gmds=gg.getRangesList("global-metadata.dat")[1].start
  499.     gmde=gg.getRangesList("global-metadata.dat")[1]["end"]
  500.     else gmds=nil gmde=nil
  501.     end
  502. ATOTAL=0
  503. for i = 1,100 do
  504.     if A[i].method==nil then break end
  505.     ATOTAL=ATOTAL+1
  506. end
  507.  
  508. ASTART=1 AEND=0 ATABT=ATOTAL+1 ATAB=1
  509. S=0
  510.     while ATAB<=ATOTAL do
  511.     ::AUTOSTART::
  512.     if gg.isVisible() then gg.setVisible(false) end
  513.         if ATAB>ATOTAL then break goto FINISHED end
  514.     gg.toast("Please Wait.. [ "..ATABT-ATAB.." ]")
  515.     A[ATAB].error=1
  516.     ANAME=nil ANAME={}
  517.     if A[ATAB].name~=nil then
  518.         for i = 1,#(tostring(A[ATAB].name)) do
  519.             ANAME[i]=string.byte(A[ATAB].name,i)
  520.         end
  521.     else
  522.         A[ATAB].name=0
  523.     end
  524.     ACLASS=nil ACLASS={}
  525.     if A[ATAB].class~=nil then
  526.         for i = 1,#(tostring(A[ATAB].class)) do
  527.             ACLASS[i]=string.byte(A[ATAB].class,i)
  528.         end
  529.     else
  530.         A[ATAB].class=0
  531.     end
  532.    
  533.                 ASTART=AEND+1
  534.                 clear() t=1
  535.                 gg.searchNumber(":"..tostring(A[ATAB].method),1,false,gg.SIGN_EQUAL,gmds, gmde)
  536.                 xm=gg.getResults(2) gg.getResults(gg.getResultsCount())
  537.                 check()
  538.                     if E==0 then ATAB=ATAB+1
  539.                         if ATAB>ATOTAL then break return end
  540.                     goto AUTOSTART return
  541.                     end
  542.                 x=xm[1].value..";"..xm[2].value.."::2" refine()
  543.                 x=xm[1].value refine()
  544.                 o=-1 offset() x=0 refine() oo=#(tostring(A[ATAB].method))
  545.                 o=oo+1 offset() refine() o=-oo offset()
  546.                 check()
  547.                     if E==0 then ATAB=ATAB+1
  548.                         if ATAB>ATOTAL then break return end
  549.                     goto AUTOSTART return
  550.                     end
  551.                 gg.searchPointer(0) xcount=gg.getResultsCount()
  552.                 xpoint=gg.getResults(xcount,nil, nil, nil, nil, nil, nil, nil,gg.POINTER_READ_ONLY)
  553.                     if #(xpoint)==0 then ATAB=ATAB+1
  554.                         if ATAB>ATOTAL then break return end
  555.                     goto AUTOSTART return
  556.                     end
  557.                 clear()
  558.                     for xp=1,#(xpoint) do
  559.                     xpoint[xp].address=xpoint[xp].address+off1
  560.                     xpoint[xp].flags=typ
  561.                     end
  562.                 gg.loadResults(xpoint)
  563.                 xoff=gg.getResults(#(xpoint),nil, nil, nil, nil, nil, nil, nil, gg.POINTER_EXECUTABLE)
  564.                     if #(xoff)==0 then ATAB=ATAB+1
  565.                         if ATAB>ATOTAL then break return end
  566.                     goto AUTOSTART return
  567.                     end
  568.                     xfin=1
  569.                     while xfin<=#(xoff) do
  570.                     ::XFIN::
  571.                         if xfin>#(xoff) then ATAB=ATAB+1
  572.                             if ATAB>ATOTAL then break return end
  573.                         goto AUTOSTART return
  574.                         end
  575.                         if gg.getTargetInfo().x64 then
  576.                             xadd=tonumber(xoff[xfin].value)  
  577.                         else
  578.                             xadd=string.format("%X",tonumber(xoff[xfin].value))
  579.                             xadd=string.sub(tostring(xadd), -8,-1)
  580.                             xadd=tonumber("0x"..xadd)
  581.                         end    
  582.                     gval1=nil gval1={} gval1[1]={}
  583.                         if gg.getTargetInfo().x64 then gvo=24 gvo1=16 gvo2=24 else gvo=12 gvo1=8 gvo2=12 end
  584.                     gval1[1].address=xoff[xfin].address+gvo
  585.                     gval1[1].flags=typ
  586.                     gval1=gg.getValues(gval1)
  587.                         if gg.getTargetInfo().x64 then
  588.                             gval=tonumber(gval1[1].value)  
  589.                         else
  590.                             gval=string.format("%X",tonumber(gval1[1].value))
  591.                             gval=string.sub(tostring(gval), -8,-1)
  592.                             gval=tonumber("0x"..gval)
  593.                         end    
  594.                     gval2=nil gval2={} gval2[1]={} gval2[2]={}
  595.                     gval2[1].address=gval+gvo1
  596.                     gval2[1].flags=typ
  597.                     gval2[2].address=gval+gvo2
  598.                     gval2[2].flags=typ
  599.                     gval2=gg.getValues(gval2)
  600.                         if gg.getTargetInfo().x64 then
  601.                             gval21=tonumber(gval2[1].value)  
  602.                             gval22=tonumber(gval2[2].value)
  603.                         else
  604.                             gval21=string.format("%X",tonumber(gval2[1].value))
  605.                             gval21=string.sub(tostring(gval21), -8,-1)
  606.                             gval21=tonumber("0x"..gval21)
  607.                             gval22=string.format("%X",tonumber(gval2[2].value))
  608.                             gval22=string.sub(tostring(gval22), -8,-1)
  609.                             gval22=tonumber("0x"..gval22)
  610.                         end    
  611.                          xrefine=0
  612.                          if A[ATAB].class~=0 then
  613.                             for xyz=1,#(ACLASS) do
  614.                                 gvalc={} gvalc[1]={}
  615.                                 gvalc[1].address=gval21+(xyz-1)
  616.                                 gvalc[1].flags=1                        
  617.                                 gvalc=gg.getValues(gvalc)
  618.                                 if gvalc[1].value~=ACLASS[xyz] then xrefine=1 break xfin=xfin+1 goto XFIN end
  619.                             end
  620.                         end
  621.                        
  622.                         if A[ATAB].name~=0 then
  623.                             for xyz=1,#(ANAME) do
  624.                                 gvalc={} gvalc[1]={}
  625.                                 gvalc[1].address=gval22+(xyz-1)
  626.                                 gvalc[1].flags=1                        
  627.                                 gvalc=gg.getValues(gvalc)
  628.                                     if gvalc[1].value~=ANAME[xyz] then xrefine=1 break xfin=xfin+1 goto XFIN end                                
  629.                             end
  630.                         end
  631.                          
  632.                          if xrefine==0 then
  633.                         A[ATAB].start=ASTART AEND=AEND+1
  634.                         A[ATAB].finish=AEND
  635.                         A[ATAB].error=0
  636.                         clear() I[AEND]=xadd-xAPEXx[xXx]
  637.                         end
  638.                     xfin=xfin+1            
  639.                     end -- xfin
  640.     ATAB=ATAB+1
  641.     end -- ATAB
  642.    
  643. ---------------------------------------------------
  644.  
  645. ::FINISHED::
  646.  xBAR=0
  647.     for i = 1, ATOTAL do
  648.         if A[i].error~=0 then xBAR=xBAR+1 end
  649.     end
  650.     if xBAR>=ATOTAL  then
  651.         gg.toast("×× FAILURE ××") gg.alert("× AUTO UPDATE FAILURE ×","EXIT",nil, xTAGx)  
  652.         exit()
  653.         return
  654.     end
  655.     if xBAR>=1 then gg.toast("× ERROR") gg.alert("× Auto Update Errors\nSome/All Hacks May Not Work","OK",nil, xTAGx)
  656.     else gg.toast("√ SUCCESS") gg.alert("\n√ Auto Update Success\n\n'Have Fun","OK",nil, xTAGx)
  657.     end
  658. --███████████████████████
  659.  
  660. if xREV==1 then
  661. xRx=1 ORIG={} xREV={}
  662.     for XxX=1,#(xAPEXx) do  
  663.         for i, v in ipairs(I) do
  664.         ORIG[xRx]={}
  665.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])
  666.         ORIG[xRx].flags=4
  667.         xRx=xRx+1
  668.         ORIG[xRx]={}
  669.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])+4
  670.         ORIG[xRx].flags=4
  671.         xRx=xRx+1
  672.         end    
  673.     end
  674. ORIG=gg.getValues(ORIG)
  675. end
  676.  
  677. --███████████████████████
  678. while true do
  679.     if gg.isVisible() then
  680.         gg.setVisible(false)
  681.         menu()
  682.     else
  683.         if apex==1 then
  684.             gg.setVisible(false)
  685.             menu()
  686.         end
  687.     end
  688. end  
  689.  
Add Comment
Please, Sign In to add comment