wilmans2m

MajorMayhem2

Mar 29th, 2024 (edited)
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 25.97 KB | Gaming | 0 0
  1. LUA = 'WILS2M'
  2. GLabel = 'Mayhem 2'
  3. GProcess = 'com.rocketjump.majormayhem2'
  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. printx = '---------------------------------------------------------------'
  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. xPLINKx="https://play.google.com/store/apps/details?id=com.rocketjump.majormayhem2"
  22. xTAGx="Have fun"
  23. xLINKx="https://t.me/HxE_Chat"
  24. xLINK1x="https://www.tiktok.com/@hxesq"
  25. printx="---------------------------------------------------------------"
  26. print(printx)
  27. print(xTAGx)
  28. print("Game = "..xPLINKx)
  29. print("Telegram = "..xLINKx)
  30. print("TikTok = "..xLINK1x)
  31. print(printx)  
  32. print("Script = "..GLabel.."  "..GVersion)
  33. --███████████████████████
  34. --███████████████████████
  35. --███████████████████████
  36. -- APEX[GG]v2
  37. apex=1
  38. gg.setVisible(false)
  39. v=gg.getTargetInfo()
  40.     if v==nil then
  41.         print("×× ERROR ××\n×× INVALID PROCESS SELECTED / OR NO ROOT ACCESS")
  42.         gg.setVisible(true) os.exit()
  43.         return
  44.     end
  45.    
  46. HxEmenu = ('            ⚡HxE Menu by wils2m⚡\
  47.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  48.                     ⛥🇮‌🇳‌🇫‌🇴‌⛥\
  49.  🎮🅖🅐🅜🅔🎮 : '..GLabel..'\
  50.  🎰🅥🅔🅡🅢🎰 : '..GVersion..'\
  51.    🎰🅐🅡🅜🎰   : '..xbit..'\
  52. \
  53. ⏳Exᴘɪʀᴇᴅ Date⏳ : '..expire..'\
  54. 🎁 Encryption 🎁 :  '..expire..'\
  55.            ❦ ════ •⊰❂ - ❂⊱• ════ ❦')
  56.            
  57. gg.alert(HxEmenu)
  58.  
  59. gg.alert("                           Patch Note\
  60.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  61. - HxE script menu\
  62. - Huge Thanks to Apex[GG]\
  63. - Auto update implemented\
  64. NEW:\
  65. - God mode\
  66. - Money Hack\
  67. - Free Upgrade/Weapons\
  68. ...............................................\
  69.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  70. ")
  71. ------------------------------------------------------------------------------
  72. A={} for i =1,100 do A[i]={} end
  73. ------------------------------------------------------------------------------
  74. OFF="× " ON="√ "
  75. GM=OFF UM=OFF UP=OFF MT=OFF
  76.     if v.x64 then x1="hC0BEA0D2" x2='h006A98D2'
  77.     else x1="h990040E3" x2='h640000E3'
  78.     end
  79.  
  80. function menu()
  81. apex=0
  82. gg.toast(xTAGx)  
  83. mc=gg.multiChoice({
  84.     GM.."God mode",
  85.     MT.."Money Hack",
  86.     UP.."Free Upgrade/Weapon",
  87.     "[ EXIT ]"},
  88.     {},xTAGx.."\n"..xLINKx.."\n"..GLabel.." "..GVersion.." "..xBITx)
  89.    
  90.     if mc==nil then cancel() return end
  91.     if mc[1] then god() end
  92.     if mc[2] then money() end
  93.     if mc[3] then upgrade() end
  94.    
  95. xhaX={
  96.     GM.."God mode",
  97.     MT.."Money Hack",
  98.     UP.."Free Upgrade/Weapon",
  99.     }
  100. xhaX=table.concat(xhaX, "\n")
  101. xhaX=tostring(xhaX)
  102.  
  103.     if mc[4] then exit() return end
  104.  
  105. gg.toast("[√] Complete")
  106. gg.alert(GLabel.." "..GVersion.." "..xBITx.."\n\n"..xhaX,"OK",nil,xTAGx)  
  107.  
  108. end
  109.    
  110. --███████████████████████
  111.    
  112. --public class Hero : MonoBehaviour
  113. --public bool get_IsInvulnerable()
  114.     A[1].class="Hero"
  115.     A[1].method="get_IsInvulnerable"
  116.  
  117.     function god()
  118.     if A[1].error==1 then error() return end
  119.     for i = A[1].start, A[1].finish do o=I[i]
  120.     if GM==OFF then x=1 arm() else revert() end
  121.     end
  122.  
  123.     if GM==OFF then GM=ON else GM=OFF end
  124.     end
  125.        
  126. --███████████████████████      
  127.  
  128. --public class VirtualCurrencyManager : MonoBehaviour
  129. --public static int GetTotal(StatID currencyId) { }
  130.     A[2].class="VirtualCurrencyManager"
  131.     A[2].method="GetTotal"
  132.    
  133.     function money()
  134.     if A[2].error==1 then error() return end
  135.     mw=gg.prompt({
  136.     "Wanted Money ( 65535 max )"},
  137.     {[1]="Choice"})
  138.     if mw==nil then cancel() return end
  139.     if mw[1]>="65536" then cancel() return end
  140.     y=string.format("%X",mw[1])
  141.     if v.x64 then x="~A8 MOV X0, #0x"..y
  142.     end
  143.     for i = A[2].start, A[2].finish do o=I[i]  
  144.     if MT==OFF then arm() else revert() end
  145.     end
  146.     end
  147.  
  148.  --███████████████████████
  149.  
  150. --public class InventoryItem : MonoBehaviour
  151. --public bool get_CanUpgrade
  152.     A[3].class="InventoryItem"
  153.     A[3].method="get_CanUpgrade"
  154. --public bool CanAffordUpgrade
  155.     A[4].class="InventoryItem"
  156.     A[4].method="CanAffordUpgrade"  
  157.  
  158.     function upgrade()
  159.     for i = 3,4 do if A[i].error == 1 then error() break return end end
  160.     for i = A[3].start, A[4].finish do o=I[i]
  161.     if UP==OFF then x=1 arm() else revert() end
  162.     end
  163.  
  164.     if UP==OFF then UP=ON else UP=OFF end
  165.     end
  166.  
  167. --███████████████████████
  168.  
  169. --public class WeaponItem : InventoryItem
  170. --public float GetStatScalar(int level)
  171. --public float GetCurrentValue
  172. --public float GetCurrentDPSValueMax
  173.  
  174. --███████████████████████
  175. --███████████████████████
  176.     if v.processName~=GProcess then
  177.         print("This Script is For:\n    "..GLabel.."\n    "..GProcess.."\nYou Selected:\n    "..v.label.."\n    "..v.processName)
  178.         gg.setVisible (true) os.exit()
  179.         return
  180.     end
  181. ------------------------------------------------------------------------------
  182.     if v.x64 then bitx=64 xBITx="[x64]" else bitx=32 xBITx="[x32]" end
  183.         print(xBITx)  
  184.         print(printx)  
  185. ------------------------------------------------------------------------------
  186.  
  187. isrdy=gg.alert("Major Mayhem 2\n\nThis Script is Auto-Updating. \nInitial Calibration May Take A While.\n\nStart script at Lobby. Otherwise, Calibration will Fail and Hacks Not Work\n\n(All hacks can be activated anywhere after)","EXIT","START",xTAGx)  
  188. if isrdy~=2 then gg.setVisible(true) os.exit() return end
  189.  
  190. --███████████████████████
  191.     if LibResult==1 then
  192.     xAPEXx={} xXx=0
  193.     xLibRes=0
  194.     libx=gg.getRangesList()
  195.         if #(libx)==0 then
  196.         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' ")
  197.         gg.setVisible(true)
  198.         os.exit()
  199.         end
  200.     libx=gg.getRangesList(xlib)
  201.         if #(libx)==0 then  
  202.         print("×× No "..xlib.." Found")
  203.         xLibRes=2
  204.         goto APEX_SPLIT
  205.         end
  206.     xlibn=0
  207.         for i, v in ipairs(libx) do
  208.             if libx[i].state=="Xa" then
  209.             xXx=xXx+1
  210.             xAPEXx[xXx]=libx[i].start
  211.             xLibRes=1
  212.             end
  213.         end
  214.         if xLibRes==0 then
  215.         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' ")
  216.         gg.setVisible(true)
  217.         os.exit()    
  218.         end    
  219.                  
  220.         ::APEX_SPLIT::    
  221.         if xLibRes==2 then
  222.         splitapk=0
  223.         libx=gg.getRangesList()
  224.             for i, v in ipairs(libx) do
  225.                 if libx[i].state=="Xa" and string.match(libx[i].name,"split_config") then
  226.                 splitapk=1
  227.                 end
  228.             end
  229.             if splitapk==1 then
  230.             xsapk={} xsapkx=0
  231.                 for i, v in ipairs(libx) do
  232.                     if libx[i].state=="Xa" then
  233.                     xsapkx=xsapkx+1
  234.                     xsapk[xsapkx]=libx[i]["end"]-libx[i].start
  235.                     end
  236.                 end
  237.                 if xsapkx~=0 then                
  238.                 APEXQ=math.max(table.unpack(xsapk))
  239.                     for i, v in ipairs(libx) do              
  240.                         if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then              
  241.                         xXx=xXx+1            
  242.                        xAPEXx[xXx]=libx[i].start
  243.                         print("√√ Split Apk Lib Found\n√√ "..libx[i].name)
  244.                         xLibRes=1                      
  245.                         end
  246.                     end
  247.                 end
  248.             end
  249.          
  250.              if splitapk==0 and xLibRes~=1 then
  251.              print("×× No split_config Lib Found")  
  252.              xc=1 xt={}
  253.              libx=gg.getRangesList()
  254.                  for i, v in ipairs(libx) do
  255.                      if libx[i].state=="Xa" then
  256.                      xt[xc]=tonumber(libx[i]["end"]-libx[i].start)
  257.                      xc=xc+1
  258.                      end
  259.                  end
  260.              APEXQ=math.max(table.unpack(xt))
  261.                  for i, v in ipairs(libx) do              
  262.                      if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then        
  263.                      xXx=xXx+1      
  264.                      xAPEXx[xXx]=libx[i].start
  265.                      print("√√ math.max Xa Lib Found\n√√ "..libx[i].name)
  266.                      xLibRes=1  
  267.                      end
  268.                  end
  269.             end                        
  270.  
  271.             if xLibRes~=1 then
  272.             print("×× Correct Lib Not Found ××\n×× Direct/Split Config/Xa Max ××")
  273.             gg.setVisible(true)
  274.             os.exit()
  275.              return
  276.             end
  277.         end
  278.     end
  279. --███████████████████████
  280. function arm()
  281. o=tonumber(o)
  282.     for XxX=1,#(xAPEXx) do
  283.     xdump=nil xdump={}
  284.     xdump[1]={} xdump[2]={}
  285.     xdump[1].address=xAPEXx[XxX] + o
  286.     xdump[1].flags=4
  287.         if x==0 then xdump[1].value=xfalse end
  288.         if x==1 then xdump[1].value=xtrue end
  289.         if x~=0 and x~=1 then xdump[1].value=x end
  290.     xdump[2].address=xAPEXx[XxX]+(o+4)
  291.     xdump[2].flags=4
  292.     xdump[2].value=xEND
  293.     gg.setValues(xdump)
  294.     end
  295. end
  296. ------------------------------------------------------------------------------  
  297. function revert()
  298.     for XxX=1,#(xAPEXx) do
  299.     REVERT=nil REVERT={} xRx=nil xRx=1
  300.         for i, v in ipairs(ORIG) do
  301.             if tonumber(xAPEXx[XxX]+o)==ORIG[i].address then
  302.             REVERT[xRx]={}
  303.             REVERT[xRx].address=xAPEXx[XxX]+o
  304.             REVERT[xRx].flags=4
  305.             REVERT[xRx].value=ORIG[i].value
  306.             xRx=xRx+1
  307.             REVERT[xRx]={}
  308.             REVERT[xRx].address=xAPEXx[XxX]+o+4
  309.             REVERT[xRx].flags=4
  310.             REVERT[xRx].value=ORIG[i+1].value
  311.             gg.setValues(REVERT)
  312.             break
  313.             end
  314.         xRx=xRx+1
  315.         end
  316.     end
  317. end
  318. ------------------------------------------------------------------------------  
  319. function xrev()
  320. if xREV==1 then
  321. xRx=1 ORIG={} xREV={}
  322.     for i, v in ipairs(I) do
  323.         ORIG[xRx]={}
  324.         ORIG[xRx].address=xAPEXx+tonumber(I[i])
  325.         ORIG[xRx].flags=4
  326.         xRx=xRx+1
  327.         ORIG[xRx]={}
  328.         ORIG[xRx].address=xAPEXx+tonumber(I[i])+4
  329.         ORIG[xRx].flags=4
  330.         xRx=xRx+1
  331.     end
  332. ORIG=gg.getValues(ORIG)
  333. end
  334. end
  335.  
  336. --███████████████████████
  337.  
  338. function sort()
  339. SORT1={} apexsort=0
  340.      for sorti = A[s].start, A[s].finish do
  341.          apexsort=apexsort+1
  342.          SORT1[apexsort] = I[sorti]
  343.      end
  344. SORT2={} table.sort(SORT1)
  345.     for sort2, v in pairs(SORT1) do
  346.         SORT2[sort2]=v
  347.     end
  348. r=SORT2[r]
  349. end
  350.  
  351. --███████████████████████
  352. if v.x64 then
  353. xtrue="h200080D2" -- MOV X0, #0x1
  354. xfalse="h000080D2" -- MOV X0, #0x0
  355. xEND="hC0035FD6" -- RET
  356. else
  357. xtrue="h0100A0E3" -- MOVW R0, #1
  358. xfalse="h0000A0E3" -- MOVW R0, #0
  359. xEND="h1EFF2FE1" -- BX LR
  360. end
  361.  
  362. --███████████████████████
  363. -- APEX[GG]v2
  364. function clear()
  365. gg.getResults(gg.getResultsCount())
  366. gg.clearResults()
  367. end
  368. ------------------------------------------------------------------------------  
  369. function get()
  370. gg.getResults(gg.getResultsCount())
  371. end
  372. ------------------------------------------------------------------------------  
  373. function search()
  374. gg.getResults(gg.getResultsCount())
  375. gg.clearResults()
  376. gg.searchNumber(x,t)
  377. end
  378. ------------------------------------------------------------------------------  
  379. function refine()
  380. gg.refineNumber(x,t)
  381. end
  382. ------------------------------------------------------------------------------  
  383. function refinenot()
  384. gg.refineNumber(x,t,false,gg.SIGN_NOT_EQUAL)
  385. end
  386. ------------------------------------------------------------------------------  
  387. function edit()
  388. gg.getResults(gg.getResultsCount())
  389. gg.editAll(x,t)
  390. end
  391. ------------------------------------------------------------------------------  
  392. function check()
  393. E=nil E=gg.getResultsCount()
  394. end
  395. ------------------------------------------------------------------------------  
  396. function offset()
  397. o=tonumber(o) addoff=nil
  398. addoff=gg.getResults(gg.getResultsCount())
  399.     for i, v in ipairs(addoff) do
  400.         addoff[i].address=addoff[i].address+o
  401.         addoff[i].flags=t
  402.     end
  403. gg.loadResults(addoff)
  404. end
  405. ------------------------------------------------------------------------------
  406. function class()
  407. gg.clearResults()
  408. gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC)
  409. gg.searchNumber(":"..x,1)
  410.     if gg.getResultsCount()==0 then E=0 return end
  411. apexu=nil apexu=gg.getResults(1)
  412. gg.getResults(gg.getResultsCount())
  413. gg.refineNumber(tonumber(apexu[1].value),1)
  414. apexu=nil apexu=gg.getResults(gg.getResultsCount())
  415. gg.clearResults()
  416.     for i, v in ipairs(apexu) do apexu[i].address=apexu[i].address-1 apexu[i].flags=1
  417.     end
  418. apexu=gg.getValues(apexu) apexa={} apexaa=1
  419.     for i, v in pairs(apexu) do
  420.         if apexu[i].value==0 then
  421.         apexa[apexaa]={} apexa[apexaa].address=apexu[i].address apexa[apexaa].flags=1 apexaa=apexaa+1
  422.         end
  423.     end  
  424. if #(apexa)==0 then gg.clearResults() E=0 return end
  425. u=nil
  426.     for i, v in ipairs(apexa) do apexa[i].address=apexa[i].address+#(x)+1 apexa[i].flags=1
  427.     end  
  428. apexa=gg.getValues(apexa) apexs=nil apexs={} apexbb=1
  429.     for i, v in ipairs(apexa) do
  430.         if apexa[i].value==0 then apexs[apexbb]={} apexs[apexbb].address=apexa[i].address apexs[apexbb].flags=1 apexbb=apexbb+1
  431.         end
  432.     end
  433. if #(apexs)==0 then gg.clearResults() E=0 return end
  434. apexa=nil
  435.     for i, v in ipairs(apexs) do apexs[i].address=apexs[i].address-#(x) apexs[i].flags=1
  436.     end
  437. gg.loadResults(apexs)
  438. apexrange=nil apexrange=gg.getResults(gg.getResultsCount())
  439. apexrca=nil apexrca=0 apexro=nil apexro=0 apexra=nil
  440.     for i, v in ipairs(apexrange) do
  441.         apexra=gg.getValuesRange(apexrange[i])
  442.         if apexra.address=="Ca" then apexrca=1 end
  443.         if apexra.address=="O" then apexro=1 end
  444.         apexra=nil
  445.     end
  446. if apexrca==1 and apexro==0 then gg.setRanges(gg.REGION_C_ALLOC) end
  447. if apexrca==0 and apexro==1 then gg.setRanges(gg.REGION_OTHER) end
  448. apexrca=nil apexro=nil apexra=nil
  449. gg.searchPointer(0)
  450. if gg.getResultsCount()==0 then E=0 return end  
  451. apexu=gg.getResults(gg.getResultsCount())
  452. gg.clearResults()
  453. if gg.getTargetInfo().x64 then apexo1=48 apexo2=56 apexvt=32 else apexo1=24 apexo2=28 apexvt=4 end
  454. ERROR=0
  455. ::TRYAGAIN::
  456. apexy=nil apexy={} apexz=nil apexz={}
  457.     for i, v in ipairs(apexu) do
  458.     apexy[i]={} apexy[i].address=apexu[i].address+apexo1 apexy[i].flags=apexvt
  459.     apexz[i]={} apexz[i].address=apexu[i].address+apexo2 apexz[i].flags=apexvt
  460.     end
  461. apexy=gg.getValues(apexy) apexz=gg.getValues(apexz) apexp=nil apexp={} apexxx=1
  462.     for i, v in ipairs(apexy) do
  463.         if apexy[i].value==apexz[i].value and #(tostring(apexy[i].value))>=8 then
  464.         apexp[apexxx]=apexy[i].value
  465.         apexxx=apexxx+1
  466.         end
  467.     end
  468. apexxx=nil apexy=nil apexz=nil
  469.     if #(apexp)==0 and ERROR==0 then
  470.         if gg.getTargetInfo().x64 then apexo1=32 apexo2=40 else apexo1=16 apexo2=20 end
  471.     ERROR=2
  472.     goto TRYAGAIN
  473.     end    
  474. if #(apexp)==0 and ERROR==2 then E=0 return end
  475. gg.setRanges(gg.REGION_ANONYMOUS)
  476. gg.clearResults() apexxxx=1
  477.     for i, v in ipairs(apexp) do
  478.     gg.toast("Please Wait...")
  479.     gg.searchNumber(tonumber(apexp[i]),apexvt)
  480.         if gg.getResultsCount()~=0 then
  481.         apexxx=nil apexxx=gg.getResults(gg.getResultsCount()) gg.clearResults()
  482.             for apexq=1,#(apexxx) do apexxx[apexq].name="APEX[GG]v2"
  483.             end
  484.         gg.addListItems(apexxx) apexxxx=apexxxx+1
  485.         end
  486.     gg.clearResults()
  487.     end
  488. apexu=nil apexp=nil apexxx=nil apexq=nil
  489. if apexxxx==1 then gg.clearResults() E=0 return end
  490. apexxxx=nil apexload={} apexremove={} apexxx=1
  491. apexu=gg.getListItems()
  492.     for i, v in ipairs(apexu) do
  493.         if apexu[i].name=="APEX[GG]v2" then
  494.         apexload[apexxx]={} apexload[apexxx].address=apexu[i].address+o apexload[apexxx].flags=t
  495.         apexremove[apexxx]={} apexremove[apexxx]=apexu[i] apexxx=apexxx+1
  496.         end
  497.     end
  498. apexload=gg.getValues(apexload) gg.loadResults(apexload) gg.removeListItems(apexremove)
  499. end
  500.  
  501. --███████████████████████
  502. function cancel()
  503. gg.toast("CANCELLED")
  504. end
  505. ------------------------------------------------------------------------------  
  506. function wait()
  507. gg.toast("Please Wait..")
  508. end
  509. ------------------------------------------------------------------------------  
  510. function error()
  511. gg.toast("× ERROR ×")
  512. gg.sleep(1000)
  513. end
  514. ------------------------------------------------------------------------------  
  515. function exit()
  516. gg.getListItems()
  517. gg.clearList()
  518. gg.getResults(gg.getResultsCount())
  519. gg.clearResults()
  520. gg.toast("[ EXIT ]")  
  521.     if xhaX~=nil then
  522.         print(printx)
  523.         print(xhaX)
  524.         print(printx)  
  525.     end
  526. gg.setVisible(true)
  527. os.exit()
  528. return
  529. end
  530. --███████████████████████
  531. if v.x64 then off1=-16 typ=32 else off1=-8 typ=4 end
  532. gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC)
  533. gmdx=gg.getRangesList("global-metadata.dat")
  534.     if #(gmdx)~=0 then        
  535.     gmds=gg.getRangesList("global-metadata.dat")[1].start
  536.     gmde=gg.getRangesList("global-metadata.dat")[1]["end"]
  537.     else gmds=nil gmde=nil
  538.     end
  539. ATOTAL=0
  540. for i = 1,100 do
  541.     if A[i].method==nil then break end
  542.     ATOTAL=ATOTAL+1
  543. end
  544.  
  545. ASTART=1 AEND=0 ATABT=ATOTAL+1 ATAB=1
  546. S=0
  547.     while ATAB<=ATOTAL do
  548.     ::AUTOSTART::
  549.     if gg.isVisible() then gg.setVisible(false) end
  550.         if ATAB>ATOTAL then break goto FINISHED end
  551.     gg.toast("Please Wait.. [ "..ATABT-ATAB.." ]")
  552.     A[ATAB].error=1
  553.     ANAME=nil ANAME={}
  554.     if A[ATAB].name~=nil then
  555.         for i = 1,#(tostring(A[ATAB].name)) do
  556.             ANAME[i]=string.byte(A[ATAB].name,i)
  557.         end
  558.     else
  559.         A[ATAB].name=0
  560.     end
  561.     ACLASS=nil ACLASS={}
  562.     if A[ATAB].class~=nil then
  563.         for i = 1,#(tostring(A[ATAB].class)) do
  564.             ACLASS[i]=string.byte(A[ATAB].class,i)
  565.         end
  566.     else
  567.         A[ATAB].class=0
  568.     end
  569.    
  570.                 ASTART=AEND+1
  571.                 clear() t=1
  572.                 gg.searchNumber(":"..tostring(A[ATAB].method),1,false,gg.SIGN_EQUAL,gmds, gmde)
  573.                 xm=gg.getResults(2) gg.getResults(gg.getResultsCount())
  574.                 check()
  575.                     if E==0 then ATAB=ATAB+1
  576.                         if ATAB>ATOTAL then break return end
  577.                     goto AUTOSTART return
  578.                     end
  579.                 x=xm[1].value..";"..xm[2].value.."::2" refine()
  580.                 x=xm[1].value refine()
  581.                 o=-1 offset() x=0 refine() oo=#(tostring(A[ATAB].method))
  582.                 o=oo+1 offset() refine() o=-oo offset()
  583.                 check()
  584.                     if E==0 then ATAB=ATAB+1
  585.                         if ATAB>ATOTAL then break return end
  586.                     goto AUTOSTART return
  587.                     end
  588.                 gg.searchPointer(0) xcount=gg.getResultsCount()
  589.                 xpoint=gg.getResults(xcount,nil, nil, nil, nil, nil, nil, nil,gg.POINTER_READ_ONLY)
  590.                     if #(xpoint)==0 then ATAB=ATAB+1
  591.                         if ATAB>ATOTAL then break return end
  592.                     goto AUTOSTART return
  593.                     end
  594.                 clear()
  595.                     for xp=1,#(xpoint) do
  596.                     xpoint[xp].address=xpoint[xp].address+off1
  597.                     xpoint[xp].flags=typ
  598.                     end
  599.                 gg.loadResults(xpoint)
  600.                 xoff=gg.getResults(#(xpoint),nil, nil, nil, nil, nil, nil, nil, gg.POINTER_EXECUTABLE)
  601.                     if #(xoff)==0 then ATAB=ATAB+1
  602.                         if ATAB>ATOTAL then break return end
  603.                     goto AUTOSTART return
  604.                     end
  605.                     xfin=1
  606.                     while xfin<=#(xoff) do
  607.                     ::XFIN::
  608.                         if xfin>#(xoff) then ATAB=ATAB+1
  609.                             if ATAB>ATOTAL then break return end
  610.                         goto AUTOSTART return
  611.                         end
  612.                         if gg.getTargetInfo().x64 then
  613.                             xadd=tonumber(xoff[xfin].value)  
  614.                         else
  615.                             xadd=string.format("%X",tonumber(xoff[xfin].value))
  616.                             xadd=string.sub(tostring(xadd), -8,-1)
  617.                             xadd=tonumber("0x"..xadd)
  618.                         end    
  619.                     gval1=nil gval1={} gval1[1]={}
  620.                         if gg.getTargetInfo().x64 then gvo=24 gvo1=16 gvo2=24 else gvo=12 gvo1=8 gvo2=12 end
  621.                     gval1[1].address=xoff[xfin].address+gvo
  622.                     gval1[1].flags=typ
  623.                     gval1=gg.getValues(gval1)
  624.                         if gg.getTargetInfo().x64 then
  625.                             gval=tonumber(gval1[1].value)  
  626.                         else
  627.                             gval=string.format("%X",tonumber(gval1[1].value))
  628.                             gval=string.sub(tostring(gval), -8,-1)
  629.                             gval=tonumber("0x"..gval)
  630.                         end    
  631.                     gval2=nil gval2={} gval2[1]={} gval2[2]={}
  632.                     gval2[1].address=gval+gvo1
  633.                     gval2[1].flags=typ
  634.                     gval2[2].address=gval+gvo2
  635.                     gval2[2].flags=typ
  636.                     gval2=gg.getValues(gval2)
  637.                         if gg.getTargetInfo().x64 then
  638.                             gval21=tonumber(gval2[1].value)  
  639.                             gval22=tonumber(gval2[2].value)
  640.                         else
  641.                             gval21=string.format("%X",tonumber(gval2[1].value))
  642.                             gval21=string.sub(tostring(gval21), -8,-1)
  643.                             gval21=tonumber("0x"..gval21)
  644.                             gval22=string.format("%X",tonumber(gval2[2].value))
  645.                             gval22=string.sub(tostring(gval22), -8,-1)
  646.                             gval22=tonumber("0x"..gval22)
  647.                         end    
  648.                          xrefine=0
  649.                          if A[ATAB].class~=0 then
  650.                             for xyz=1,#(ACLASS) do
  651.                                 gvalc={} gvalc[1]={}
  652.                                 gvalc[1].address=gval21+(xyz-1)
  653.                                 gvalc[1].flags=1                        
  654.                                 gvalc=gg.getValues(gvalc)
  655.                                 if gvalc[1].value~=ACLASS[xyz] then xrefine=1 break xfin=xfin+1 goto XFIN end
  656.                             end
  657.                         end
  658.                        
  659.                         if A[ATAB].name~=0 then
  660.                             for xyz=1,#(ANAME) do
  661.                                 gvalc={} gvalc[1]={}
  662.                                 gvalc[1].address=gval22+(xyz-1)
  663.                                 gvalc[1].flags=1                        
  664.                                 gvalc=gg.getValues(gvalc)
  665.                                     if gvalc[1].value~=ANAME[xyz] then xrefine=1 break xfin=xfin+1 goto XFIN end                                
  666.                             end
  667.                         end
  668.                          
  669.                          if xrefine==0 then
  670.                         A[ATAB].start=ASTART AEND=AEND+1
  671.                         A[ATAB].finish=AEND
  672.                         A[ATAB].error=0
  673.                         clear() I[AEND]=xadd-xAPEXx[xXx]
  674.                         end
  675.                     xfin=xfin+1            
  676.                     end -- xfin
  677.     ATAB=ATAB+1
  678.     end -- ATAB
  679.    
  680. ---------------------------------------------------
  681.  
  682. ::FINISHED::
  683.  xBAR=0
  684.     for i = 1, ATOTAL do
  685.         if A[i].error~=0 then xBAR=xBAR+1 end
  686.     end
  687.     if xBAR>=ATOTAL  then
  688.         gg.toast("×× FAILURE ××") gg.alert("× AUTO UPDATE FAILURE ×","EXIT",nil, xTAGx)  
  689.         exit()
  690.         return
  691.     end
  692.     if xBAR>=1 then gg.toast("× ERROR") gg.alert("× Auto Update Errors\nSome/All Hacks May Not Work","OK",nil, xTAGx)
  693.     else gg.toast("√ SUCCESS") gg.alert("\n√ Auto Update Success\n\n'Hacking is the Game'","OK",nil, xTAGx)
  694.     end
  695. --███████████████████████
  696.  
  697. --███████████████████████
  698. if xREV==1 then
  699. xRx=1 ORIG={} xREV={}
  700.     for XxX=1,#(xAPEXx) do  
  701.         for i, v in ipairs(I) do
  702.         ORIG[xRx]={}
  703.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])
  704.         ORIG[xRx].flags=4
  705.         xRx=xRx+1
  706.         ORIG[xRx]={}
  707.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])+4
  708.         ORIG[xRx].flags=4
  709.         xRx=xRx+1
  710.         end    
  711.     end
  712. ORIG=gg.getValues(ORIG)
  713. end
  714. --███████████████████████
  715.  
  716. --███████████████████████
  717. while true do
  718.     if gg.isVisible() then
  719.         gg.setVisible(false)
  720.         menu()
  721.     else
  722.         if apex==1 then
  723.             gg.setVisible(false)
  724.             menu()
  725.         end
  726.     end
  727. end
  728.  
Add Comment
Please, Sign In to add comment