Muu2736

เด้งแพคFB

Mar 29th, 2025 (edited)
2,816
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- script creator: Nok1a (before under the name Platonic/Mr.Dragon Star)
  2. -- Tutorial on how to use:  https://youtu.be/OylUtyEwGVA
  3. -- Use whatever you like in the script in case needed
  4. -- value = Time.timeScale
  5.  
  6. local hexConvert = 0x0
  7. local dataType = 0x0
  8. local cdOffsetSmall = 0x0
  9. local cdOffsetBig =  0x0
  10. local cbOffsetSmall = 0x0
  11. local anonSpeedOffsetSmall = 0x0
  12. local anonSpeedOffsetBig = 0x0
  13. local anonGroupSearchOffset = 0x0
  14.  
  15. function isProcess64Bit()
  16.   -- Function -> by CmP: https://gameguardian.net/forum/topic/36604-how-to-get-instruction-set-architecture-on-emulator-virtual-memory-addresses/?do=findComment&comment=135506
  17.   local regions = gg.getRangesList()
  18.   local lastAddress = regions[#regions]["end"]
  19.   return (lastAddress >> 32) ~= 0
  20. end
  21.  
  22. function noselect()
  23.   gg.toast("You not select anything")
  24. end
  25.  
  26. function cb_nothingFound()
  27.   if gg.getResultsCount() == 0 then
  28.     gg.alert("Search not found, Use Fuzzy or Xa")
  29.     start()
  30.   end
  31. end
  32.  
  33.  
  34. local ISA = isProcess64Bit()
  35. local resultsCount = gg.getResultsCount()
  36. gg.clearResults()
  37.  
  38. function instructions()
  39.   if ISA == false then -- if true then 32 bit else 64 bit
  40.     hexConvert = 0x100000000
  41.     dataType = 4
  42.     cdOffsetSmall = 0xC
  43.     cdOffsetBig =  0xB58
  44.     cbOffsetSmall = 0x1C
  45.     anonSpeedOffsetSmall = 0xE4
  46.     anonSpeedOffsetBig = 0xEC
  47.     anonGroupSearchOffset = 0x30
  48.   else
  49.     hexConvert = 0x0
  50.     dataType = 32
  51.     cdOffsetSmall = 0x18
  52.     cdOffsetBig = 0x16B0
  53.     cbOffsetSmall = 0x38
  54.     cbOffsetBig = 0x48
  55.     anonSpeedOffsetSmall = 0xF4
  56.     anonSpeedOffsetBig = 0xFC
  57.     anonGroupSearchOffset = 0x44
  58.   end
  59. end
  60. function unityVersion()
  61.   gg.searchNumber(":Expected version: ", gg.TYPE_BYTE, gg.setRanges(16384))
  62.   if gg.getResultsCount() == 0 then
  63.     gg.alert("This game is not made with Unity, fuzzy will be automatically activated!")
  64.     gg.alert("Make sure your game is open, don't hide it on the background!")
  65.     randomized()
  66.     os.exit()
  67.   else
  68.     local count = gg.getResultsCount()
  69.     local results = gg.getResults(count)
  70.     values = {}
  71.     for i = 18, count, 18 do
  72.       local resultAddress = results[i].address
  73.       for j = 1, 7 do
  74.         values[#values + 1] = {address = resultAddress + j, flags = gg.TYPE_BYTE}
  75.       end
  76.       values = gg.getValues(values)
  77.     end
  78.    
  79.     local str = ''
  80.     for i, v in ipairs(values) do
  81.       str = str .. string.char(v.value & 0xFF)
  82.     end
  83.     gg.clearResults()
  84.     if values[1].value <= 0x35 and values[2].value == 0x2E and values[3].value <= 0x35 then -- unity versions 5.5 or below
  85.       gg.alert("Unity version "..str..",This version is to old. Use Speedhack through Cb or Fuzzy")
  86.       anonGroupSearchOffset = 0x3C
  87.       cbOffsetSmall = 0x24
  88.       anonSpeedOffsetSmall = 0xBC
  89.     end
  90.     gg.clearResults()
  91.   end
  92. end
  93.  
  94. function finalSpeedResult()
  95.   resultsCount = gg.getResultsCount()
  96.   local values = gg.getResults(resultsCount)
  97.   local results = {}
  98.   local speed = {}
  99.   for b = 1, #values do
  100.     local loop = 0x0
  101.     for i = 1, 70 do
  102.       results[#results + 1] = {address = values[b].address + loop, flags = gg.TYPE_FLOAT}
  103.       loop = loop + 4
  104.     end
  105.   end
  106.   results = gg.getValues(results)
  107.   for i, v in ipairs(results) do
  108.     if v.value == 1 then
  109.       speed[#speed +1] = {address = v.address, flags = v.flags, name = "Speed"}
  110.       break
  111.     end
  112.   end
  113.  
  114.   if #speed ~= 0 then
  115.     gg.toast("Time.timeScale found")
  116.     gg.addListItems(speed)
  117.     gg.clearResults()
  118.     os.exit()
  119.   end
  120. end
  121.  
  122. function startxa()
  123.   gg.clearResults()
  124.   gg.setRanges(gg.REGION_CODE_APP)
  125.   gg.searchNumber("h 6A 6F 79 73 74 69 63 6B 20 31 36 20 62 75 74 74 6F 6E 20 31 39")
  126.   if gg.getResultsCount() == 0 then
  127.     gg.alert("Search not found, try Speedhack Cb or Fuzzy")
  128.     start()
  129.   else
  130.     local a = gg.getResults(1)
  131.     gg.clearResults()
  132.     gg.setRanges(gg.REGION_C_DATA | gg.REGION_OTHER)
  133.     gg.searchNumber(a[1].address, dataType)
  134.     resultsCount = gg.getResultsCount()
  135.     a = gg.getResults(1)
  136.     gg.clearResults()
  137.     gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
  138.     gg.searchNumber(a[1].address + cdOffsetSmall, dataType)
  139.     if gg.getResultsCount() ~= 1 then
  140.       gg.clearResults()
  141.       gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
  142.       gg.searchNumber(a[1].address - cdOffsetBig, dataType)
  143.     end
  144.     finalSpeedResult()
  145.   end
  146. end
  147.  
  148. function filterCb()
  149.   local b = {}
  150.   gg.clearResults()
  151.   gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
  152.   gg.searchNumber("h 00 00 80 3F CD CC 4C 3E 00 00 00 41 00 00 C8 42 00 00 B4 43 0A D7 23 3C CD CC 4C 3E 00 00 40 3F 00 00 00")
  153.   if gg.getResultsCount() == 0 then
  154.     gg.searchNumber("-9.81000041962", gg.TYPE_FLOAT)
  155.     cb_nothingFound()
  156.     resultsCount = gg.getResultsCount()
  157.     local t = gg.getResults(resultsCount)
  158.     for i, v in ipairs(t) do
  159.       v.address = v.address + 0xC
  160.     end
  161.     gg.loadResults(t)
  162.     gg.refineNumber("1", gg.TYPE_FLOAT)
  163.     cb_nothingFound()
  164.     resultsCount = gg.getResultsCount()
  165.     b = gg.getResults(resultsCount)
  166.   elseif gg.getResultsCount() ~= 0 then
  167.     gg.refineNumber("h 00 00 80 3F", gg.TYPE_FLOAT)
  168.     cb_nothingFound()
  169.     resultsCount = gg.getResultsCount()
  170.     local a = gg.getResults(resultsCount)
  171.     for i, v in ipairs(a) do
  172.       v.flags = gg.TYPE_FLOAT
  173.     end
  174.     b = gg.getValues(a)
  175.   end
  176.   return b
  177. end
  178. function startcb()
  179.   local fakeSpeedPointers = {}
  180.   local b = filterCb()
  181.   for i, v in ipairs(b) do
  182.     if v.value == 1 then
  183.       fakeSpeedPointers[#fakeSpeedPointers + 1] = {address = v.address - anonGroupSearchOffset, flags = gg.TYPE_FLOAT}
  184.       fakeSpeedPointers[#fakeSpeedPointers + 1] = {address = v.address - 0x48, flags = gg.TYPE_FLOAT}
  185.       fakeSpeedPointers[#fakeSpeedPointers + 1] = {address = v.address - 0x44, flags = gg.TYPE_FLOAT}
  186.     end
  187.   end
  188.   gg.setRanges(gg.REGION_C_BSS | gg.REGION_OTHER | gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC)
  189.   gg.loadResults(fakeSpeedPointers)
  190.   gg.searchPointer(0)
  191.   resultsCount = gg.getResultsCount()
  192.   local offsetStart = gg.getResults(resultsCount)
  193.   for i, v in ipairs(offsetStart) do
  194.     v.address = v.address - cbOffsetSmall
  195.   end
  196.   local valu = gg.getValues(offsetStart)
  197.   for i, v in ipairs(valu) do
  198.     if ISA == false then
  199.       v.address = v.value&0xFFFFFFFF
  200.     else
  201.       v.address = v.value
  202.     end
  203.   end
  204.   gg.loadResults(valu)
  205.   finalSpeedResult()
  206. end
  207.  
  208.  
  209. function randomized()
  210.   gg.clearResults()
  211.   gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
  212.   gg.searchFuzzy('0', gg.TYPE_FLOAT, gg.SIGN_FUZZY_GREATER)
  213.   for i = 1 , 50 do
  214.     gg.searchFuzzy('0', gg.TYPE_FLOAT, gg.SIGN_FUZZY_GREATER)
  215.     gg.refineNumber('0.01~6', gg.TYPE_FLOAT)
  216.     gg.sleep(50)                                                  
  217.   end
  218.   resultsCount = gg.getResultsCount()
  219.   secondResults = gg.getResults(resultsCount)
  220.   local addTables = {}
  221.   local speed = {}
  222.   for i = 1, #secondResults do
  223.     local loops = 0x0
  224.     for b = 1, 200 do
  225.       addTables[#addTables + 1] = {address = secondResults[i].address + loops, flags = gg.TYPE_FLOAT}
  226.       addTables[#addTables + 1] = {address = secondResults[i].address - loops, flags = gg.TYPE_FLOAT}
  227.       loops = loops + 0x4
  228.     end
  229.   end
  230.   addTables = gg.getValues(addTables)
  231.   for i, v in ipairs (addTables) do
  232.     if v.value == 1 then
  233.       speed[#speed +1] = {address = v.address, flags = v.flags, name = "Speed"}
  234.     end
  235.   end
  236.   if #speed ~= 3 then
  237.     gg.toast("Possible speed values found(not guaranteed)")
  238.     gg.addListItems(speed)
  239.     gg.clearResults()
  240.   else
  241.     gg.toast("Nothing found with Fuzzy, shuttind down script")
  242.   end
  243.   os.exit()
  244. end
  245.  
  246. local functLoop = true
  247. function start()
  248.   if functLoop == true then
  249.     instructions()
  250.     unityVersion()
  251.     functLoop = false
  252.   end
  253.   menu = gg.multiChoice({"Fuzzy","Speedhack through Xa","Speedhack through Cb"},nil,"for fuzzy game must be open, don't hide it on the background")
  254.   if menu == nil then
  255.     noselect()
  256.   else
  257.     if menu[1] then
  258.       gg.alert("Make sure your game is open, don't hide it on the background!")
  259.       randomized()
  260.     end
  261.     if menu[2] then
  262.       startxa()
  263.     end
  264.     if menu[3] then
  265.       startcb()
  266.     end
  267.   end
  268. end
  269.  
  270.  
  271. while (true) do
  272.   if gg.isVisible() then
  273.     gg.setVisible(false)
  274.     start()
  275.   end
  276.   gg.sleep(100)
  277. end
  278.  
Advertisement
Add Comment
Please, Sign In to add comment