wilmans2m

HarryPotterHogwarts

Mar 28th, 2024 (edited)
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 12.34 KB | Gaming | 0 0
  1. LUA = 'WILS2M'
  2. GLabel = 'Hogwarts Mystery'
  3. GProcess = 'com.tinyco.potter'
  4. GVersion = '5.9.3'
  5. xbit = 64
  6. LibResult = 1
  7. xlib = 'libpotter.so'
  8. xREV = 1  I={}
  9. xCNE = 0
  10. xSSE = 0
  11. XbitX = 1
  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. APEXSN=gg.getFile():match('[^/]+$')
  25. printx="---------------------------------------------------------------"
  26. print(printx)
  27. print(xTAGx)
  28. print("Telegram = "..xLINKx)
  29. print("TikTok = "..xLINK1x)
  30. print(printx)  
  31. print("Script = "..GLabel.."  "..GVersion)
  32.  
  33. --███████████████████████
  34. apex=1
  35. gg.setVisible(false)
  36. v=gg.getTargetInfo()
  37.     if v==nil then
  38.         print("×× ERROR ××\n×× INVALID PROCESS SELECTED / OR NO ROOT ACCESS")
  39.         gg.setVisible(true) os.exit()
  40.         return
  41.     end
  42.    
  43. HxEmenu = ('            ⚡HxE Menu by wils2m⚡\
  44.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  45.                     ⛥🇮‌🇳‌🇫‌🇴‌⛥\
  46.  🎮🅖🅐🅜🅔🎮 : '..GLabel..'\
  47.  🎰🅥🅔🅡🅢🎰 : '..GVersion..'\
  48.    🎰🅐🅡🅜🎰   : '..xbit..'\
  49. \
  50. ⏳Exᴘɪʀᴇᴅ Date⏳ : '..expire..'\
  51. 🎁 Encryption 🎁 :  '..expire..'\
  52.            ❦ ════ •⊰❂ - ❂⊱• ════ ❦')
  53.            
  54. gg.alert(HxEmenu)
  55.  
  56. gg.alert("APKpure version")
  57.  
  58. gg.alert("                           Patch Note\
  59.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  60. - HxE script menu\
  61. - New script interface (Apex[GG])\
  62. - Update to 5.9.3\
  63. - Unlimited Energy\
  64. - Currency Hack\
  65. - Unlock Shop Items\
  66.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  67. ")
  68.  
  69. ------------------------------------------------------------------------------
  70. gg.setRanges(gg.REGION_ANONYMOUS)
  71. ------------------------------------------------------------------------------
  72. OFF="× " ON="√ "
  73.  
  74. EN=OFF CU=OFF SH=OFF
  75.  
  76. function menu()
  77. apex=0
  78. gg.toast(xTAGx)  
  79. mc=gg.multiChoice({
  80.     EN.."Unlimited Energy",
  81.     CU.."Currency Hack",
  82.     SH.."Unlock Shop Items",   
  83.     "[ EXIT ]"},
  84.     {},xTAGx.."\n"..xLINKx.."\n"..GLabel.." "..GVersion.." "..xBITx)
  85.    
  86.     if mc==nil then cancel() return end
  87.     if mc[1] then energy() end
  88.     if mc[2] then currency() end
  89.     if mc[3] then shop() end
  90.    
  91. xhaX={
  92.     EN.."Unlimited Energy",
  93.     CU.."Currency Hack",
  94.     SH.."Unlock Shop Items",
  95.     }
  96. xhaX=table.concat(xhaX, "\n")
  97. xhaX=tostring(xhaX)
  98.  
  99.     if mc[4] then exit() return end
  100.  
  101. gg.toast("[√] Complete")
  102.  
  103. gg.alert(GLabel.." "..GVersion.." "..xBITx.."\n\n"..xhaX,"OK",nil,xTAGx)  
  104.  
  105. end
  106. --███████████████████████
  107. --Bpc::EnergyPool::tryRemoveEnergy(long,bool)
  108. I[1]=0x023AA6E0
  109. function energy()
  110.     if EN==OFF then
  111.         o=I[1] xrev() x=1 arm()
  112.         EN=ON
  113.     else
  114.         o=I[1] revert() EN=OFF
  115.     end
  116. end
  117. --███████████████████████
  118. --Bpc::Price::loadCurrency
  119. I[2]=0x01C56A28
  120. --Bpc::WalletPrice::getAmount
  121. I[3]=0x037CECFC
  122. --Bpc::Price::InventoryPrice::getInstantBuyPrice(void)const
  123. --o=0x02CCD7C0
  124. function currency()
  125.     if CU==OFF then
  126.     o=I[2] xrev() x=0 arm()
  127.     o=I[3] xrev() x=0 arm()
  128.     CU=ON
  129.     else
  130.     o=I[2] revert()
  131.     o=I[3] revert()
  132.     CU=OFF
  133.     end
  134. end
  135. --███████████████████████
  136. --Bpc::CreatureManager::isUnlockable
  137. I[4]=0x020C0EA0
  138. --Bpc::AvatarAttributeColor::isUnlocked(void)const
  139. I[5]=0x02CC4C70
  140. --Bpc::AvatarComponent::isUnlocked(void)
  141. I[6]=0x02E24DBC
  142. function shop()
  143.     if SH==OFF then
  144.     o=I[4] xrev() x=1 arm()
  145.     o=I[5] xrev() x=1 arm()
  146.     o=I[6] xrev() x=1 arm()
  147.     SH=ON
  148.     else
  149.     o=I[4] revert()
  150.     o=I[5] revert()
  151.     o=I[6] revert()
  152.     SH=OFF
  153.     end
  154. end
  155. --███████████████████████
  156. --███████████████████████
  157. --███████████████████████
  158.     if v.processName~=GProcess then
  159.         print("This Script is For:\n    "..GLabel.."\n    "..GProcess.."\nYou Selected:\n    "..v.label.."\n    "..v.processName)
  160.         gg.setVisible (true) os.exit()
  161.         return
  162.     end
  163. ------------------------------------------------------------------------------
  164.     if v.x64 then bitx=64 xBITx="[x64]" else bitx=32 xBITx="[x32]" end
  165.         print(xBITx)  
  166.         print(printx)  
  167. ------------------------------------------------------------------------------
  168.     if XbitX==1 then
  169.         if bitx~=xbit then
  170.             print("This Script is For "..xbit.."bit Process\nYour Process is "..bitx.."bit")
  171.             gg.setVisible(true) os.exit()
  172.             return
  173.         end
  174.     end
  175. ------------------------------------------------------------------------------
  176.     if GVersion~=v.versionName then
  177.         print("This Script is for Game Version:\n    "..GVersion.."\nYour Game Version is:\n    "..v.versionName)
  178.         gg.setVisible(true) os.exit()
  179.         return
  180.     end
  181.  
  182. --███████████████████████
  183.     if LibResult==1 then
  184.     xAPEXx={} xXx=0
  185.     xLibRes=0
  186.     libx=gg.getRangesList()
  187.         if #(libx)==0 then
  188.         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' ")
  189.         gg.setVisible(true)
  190.         os.exit()
  191.         end
  192.     libx=gg.getRangesList(xlib)
  193.         if #(libx)==0 then  
  194.         print("×× No "..xlib.." Found")
  195.         xLibRes=2
  196.         goto APEX_SPLIT
  197.         end
  198.     xlibn=0
  199.         for i, v in ipairs(libx) do
  200.             if libx[i].state=="Xa" then
  201.             xXx=xXx+1
  202.             xAPEXx[xXx]=libx[i].start
  203.             xLibRes=1
  204.             end
  205.         end
  206.         if xLibRes==0 then
  207.         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' ")
  208.         gg.setVisible(true)
  209.         os.exit()    
  210.         end    
  211.                  
  212.         ::APEX_SPLIT::    
  213.         if xLibRes==2 then
  214.         splitapk=0
  215.         libx=gg.getRangesList()
  216.             for i, v in ipairs(libx) do
  217.                 if libx[i].state=="Xa" and string.match(libx[i].name,"split_config") then
  218.                 splitapk=1
  219.                 end
  220.             end
  221.             if splitapk==1 then
  222.             xsapk={} xsapkx=0
  223.                 for i, v in ipairs(libx) do
  224.                     if libx[i].state=="Xa" then
  225.                     xsapkx=xsapkx+1
  226.                     xsapk[xsapkx]=libx[i]["end"]-libx[i].start
  227.                     end
  228.                 end
  229.                 if xsapkx~=0 then                
  230.                 APEXQ=math.max(table.unpack(xsapk))
  231.                     for i, v in ipairs(libx) do              
  232.                         if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then              
  233.                         xXx=xXx+1            
  234.                        xAPEXx[xXx]=libx[i].start
  235.                         print("√√ Split Apk Lib Found\n√√ "..libx[i].name)
  236.                         xLibRes=1                      
  237.                         end
  238.                     end
  239.                 end
  240.             end
  241.          
  242.              if splitapk==0 and xLibRes~=1 then
  243.              print("×× No split_config Lib Found")  
  244.              xc=1 xt={}
  245.              libx=gg.getRangesList()
  246.                  for i, v in ipairs(libx) do
  247.                      if libx[i].state=="Xa" then
  248.                      xt[xc]=tonumber(libx[i]["end"]-libx[i].start)
  249.                      xc=xc+1
  250.                      end
  251.                  end
  252.              APEXQ=math.max(table.unpack(xt))
  253.                  for i, v in ipairs(libx) do              
  254.                      if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then        
  255.                      xXx=xXx+1      
  256.                      xAPEXx[xXx]=libx[i].start
  257.                      print("√√ math.max Xa Lib Found\n√√ "..libx[i].name)
  258.                      xLibRes=1  
  259.                      end
  260.                  end
  261.             end                        
  262.  
  263.             if xLibRes~=1 then
  264.             print("×× Correct Lib Not Found ××\n×× Direct/Split Config/Xa Max ××")
  265.             gg.setVisible(true)
  266.             os.exit()
  267.              return
  268.             end
  269.         end
  270.     end
  271. --███████████████████████
  272. function arm()
  273. o=tonumber(o)
  274.     for XxX=1,#(xAPEXx) do
  275.     xdump=nil xdump={}
  276.     xdump[1]={} xdump[2]={}
  277.     xdump[1].address=xAPEXx[XxX] + o
  278.     xdump[1].flags=4
  279.         if x==0 then xdump[1].value=xfalse end
  280.         if x==1 then xdump[1].value=xtrue end
  281.         if x~=0 and x~=1 then xdump[1].value=x end
  282.     xdump[2].address=xAPEXx[XxX]+(o+4)
  283.     xdump[2].flags=4
  284.     xdump[2].value=xEND
  285.     gg.setValues(xdump)
  286.     end
  287. end
  288. ------------------------------------------------------------------------------
  289. function xrev()
  290. if xREV==1 then
  291. xRx=1 ORIG={} xREV={}
  292.     for i, v in ipairs(I) do
  293.         ORIG[xRx]={}
  294.         ORIG[xRx].address=xAPEXx+tonumber(I[i])
  295.         ORIG[xRx].flags=4
  296.         xRx=xRx+1
  297.         ORIG[xRx]={}
  298.         ORIG[xRx].address=xAPEXx+tonumber(I[i])+4
  299.         ORIG[xRx].flags=4
  300.         xRx=xRx+1
  301.     end
  302. ORIG=gg.getValues(ORIG)
  303. end
  304. end
  305. ------------------------------------------------------------------------------
  306. function revert()
  307.     for XxX=1,#(xAPEXx) do
  308.     REVERT=nil REVERT={} xRx=nil xRx=1
  309.         for i, v in ipairs(ORIG) do
  310.             if tonumber(xAPEXx[XxX]+o)==ORIG[i].address then
  311.             REVERT[xRx]={}
  312.             REVERT[xRx].address=xAPEXx[XxX]+o
  313.             REVERT[xRx].flags=4
  314.             REVERT[xRx].value=ORIG[i].value
  315.             xRx=xRx+1
  316.             REVERT[xRx]={}
  317.             REVERT[xRx].address=xAPEXx[XxX]+o+4
  318.             REVERT[xRx].flags=4
  319.             REVERT[xRx].value=ORIG[i+1].value
  320.             gg.setValues(REVERT)
  321.             break
  322.             end
  323.         xRx=xRx+1
  324.         end
  325.     end
  326. end
  327. --███████████████████████
  328. if v.x64 then
  329. xtrue="h200080D2" -- MOV X0, #0x1
  330. xfalse="h000080D2" -- MOV X0, #0x0
  331. xEND="hC0035FD6" -- RET
  332. else
  333. xtrue="h0100A0E3" -- MOVW R0, #1
  334. xfalse="h0000A0E3" -- MOVW R0, #0
  335. xEND="h1EFF2FE1" -- BX LR
  336. end
  337. ------------------------------------------------------------------------------  
  338. if xREV==1 then
  339. xRx=1 ORIG={} xREV={}
  340.     for XxX=1,#(xAPEXx) do  
  341.         for i, v in ipairs(I) do
  342.         ORIG[xRx]={}
  343.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])
  344.         ORIG[xRx].flags=4
  345.         xRx=xRx+1
  346.         ORIG[xRx]={}
  347.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])+4
  348.         ORIG[xRx].flags=4
  349.         xRx=xRx+1
  350.         end    
  351.     end
  352. ORIG=gg.getValues(ORIG)
  353. end
  354. --███████████████████████
  355. function cancel()
  356. gg.toast("CANCELLED")
  357. end
  358. ------------------------------------------------------------------------------  
  359. function wait()
  360. gg.toast("Please Wait..")
  361. end
  362. ------------------------------------------------------------------------------  
  363. function error()
  364. gg.toast("× ERROR ×")
  365. gg.sleep(1000)
  366. end
  367. ------------------------------------------------------------------------------  
  368. function exit()
  369. print("--------------------------------------------------------------------")
  370. print("More links - WILS2M")
  371. print("https://www.tiktok.com/@helledengaming")
  372. print("https://odysee.com/@HellEtEden-gaming:9")
  373. print("https://vimeo.com/showcase/10427325")
  374. gg.processResume()
  375. gg.getListItems()
  376. gg.clearList()
  377. gg.getResults(gg.getResultsCount())
  378. gg.clearResults()
  379. gg.toast("[ EXIT ]")  
  380.     if xhaX~=nil then
  381.         print(printx)
  382.         print(xhaX)
  383.         print(printx)  
  384.     end
  385. gg.setVisible(true)
  386. os.exit()
  387. return
  388. end
  389. --███████████████████████
  390. while true do
  391.     if gg.isVisible() then
  392.         gg.setVisible(false)
  393.         menu()
  394.     else
  395.         if apex==1 then
  396.             gg.setVisible(false)
  397.             menu()
  398.         end
  399.     end
  400. end
  401.  
  402.  
  403.  
Add Comment
Please, Sign In to add comment