Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ui = false
- -- lib function made by CmP
- local function getLibStartAddress()
- local startAddress = 0
- local ranges = gg.getRangesList("libunity.so")
- for i, v in ipairs(ranges) do
- if v.state == "Xa" then
- startAddress = v.start
- break
- end
- end
- return startAddress
- end
- gg.clearList()
- local start = getLibStartAddress()
- local offset = 0x12 --paste your offset
- local targetValueAddress = start + offset
- local values = {
- {address = targetValueAddress, flags = gg.TYPE_BYTE}
- }
- instructionSet = gg.getValues(values) -- create new table with address, flags, value
- -- offsets
- function instructions() -- function parameters (instructionSets)
- if (instructionSet[1].value == 0x28) then -- if true then 32 bit else 64 bit
- hexConvert = 0x100000000
- dataType = 4
- cdOffsetSmall = 0xC
- cdOffsetBig = 0xB58
- cbOffsetSmall = 0x1C
- anonSpeedOffsetSmall = 0xE4
- anonSpeedOffsetBig = 0xEC
- anonGroupSearchOffset = 0x30
- else
- hexConvert = 0x0
- dataType = 32
- cdOffsetSmall = 0x18
- cdOffsetBig = 0x16B0
- cbOffsetSmall = 0x38
- cbOffsetBig = 0x48
- anonSpeedOffsetSmall = 0xF4
- anonSpeedOffsetBig = 0xFC
- anonGroupSearchOffset = 0x44
- end
- end
- gg.clearList()
- gg.clearResults()
- old = gg.getRanges()
- function unityVersion() -- unity version
- gg.searchNumber(":Expected version: ", gg.TYPE_BYTE, gg.setRanges(16384))
- if gg.getResultsCount() == 0 then
- gg.alert("!")
- gg.alert("")
- randomized()
- else
- local count = gg.getResultsCount()
- local results = gg.getResults(count)
- values = {}
- for i = 18, count, 18 do
- local resultAddress = results[i].address
- for j = 1, 7 do
- values[#values + 1] = {address = resultAddress + j, flags = gg.TYPE_BYTE}
- end
- values = gg.getValues(values)
- end
- local str = ''
- for i, v in ipairs(values) do
- str = str .. string.char(v.value & 0xFF)
- end
- gg.clearResults()
- if values[1].value <= 0x35 and values[2].value == 0x2E and values[3].value <= 0x35 then -- unity versions 5.5 or below
- gg.alert(" "..str..", ")
- anonGroupSearchOffset = 0x3C
- cbOffsetSmall = 0x24
- anonSpeedOffsetSmall = 0xBC
- end
- gg.clearResults()
- end
- end
- function finalSpeedResult()
- values = gg.getResults(1)
- if gg.getResultsCount() == 2 then
- gg.removeResults(values[1])
- end
- values[1].address = values[1].address + anonSpeedOffsetSmall
- values[1].flags = gg.TYPE_FLOAT
- value = gg.getValues(values)
- if value[1].value ~= 1 then
- value[1].address = value[1].address + 8
- value = gg.getValues(value)
- end
- if value[1].value ~= 1 then
- cbOffsetSmall = cbOffsetBig
- startcb()
- end
- value[1].name = "تـسريع الـلــعبة"
- gg.addListItems(value)
- gg.clearResults()
- end
- function startxa()
- gg.clearResults()
- gg.searchNumber("h 6A 6F 79 73 74 69 63 6B 20 31 36 20 62 75 74 74 6F 6E 20 31 39", gg.setRanges(16384))
- if gg.getResultsCount() == 0 then
- gg.alert("")
- start()
- else
- a = gg.getResults(1)
- gg.searchNumber(a[1].address, dataType, gg.setRanges(gg.REGION_C_DATA | gg.REGION_OTHER), gg.clearResults())
- a = gg.getResults(1)
- gg.searchNumber(a[1].address + cdOffsetSmall, dataType, gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER), gg.clearResults())
- if gg.getResultsCount() ~= 1 then
- gg.searchNumber(a[1].address - cdOffsetBig, dataType, gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER), gg.clearResults())
- end
- finalSpeedResult()
- end
- end
- function startcb()
- gg.clearResults()
- 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", gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER))
- if gg.getResultsCount() == 0 then
- gg.alert("")
- start()
- else
- a = gg.getResults(1)
- gg.clearResults()
- gg.searchNumber(a[1].address - anonGroupSearchOffset, dataType, gg.setRanges(gg.REGION_C_BSS | gg.REGION_OTHER), gg.clearResults())
- if gg.getResultsCount() == 0 then
- gg.searchNumber(a[1].address - 0x48, dataType, gg.setRanges(gg.REGION_C_BSS | gg.REGION_OTHER), gg.clearResults())
- end
- offsetStart = gg.getResults(1)
- offsetStart[1].address = offsetStart[1].address - cbOffsetSmall
- valu = gg.getValues(offsetStart)
- gg.clearResults()
- gg.searchAddress(string.format("%x", valu[1].value + hexConvert), -1, dataType, gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER))
- finalSpeedResult()
- end
- end
- function randomized()
- gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
- gg.searchFuzzy('0', gg.TYPE_FLOAT, gg.SIGN_FUZZY_GREATER)
- for i = 1 , 50 do
- gg.searchFuzzy('0', gg.TYPE_FLOAT, gg.SIGN_FUZZY_GREATER)
- gg.refineNumber('0.01~6', gg.TYPE_FLOAT)
- gg.sleep(50)
- end
- secondResults = gg.getResults(10000)
- for i = 0, 50 do
- for i = 1, #secondResults do
- secondResults[i].address = secondResults[i].address + 0x4
- secondResults[i].flags = gg.TYPE_FLOAT
- end
- gg.addListItems(secondResults)
- end
- new = gg.getListItems(secondResults)
- gg.loadResults(new)
- gg.removeListItems(new)
- gg.sleep(1000)
- gg.refineNumber('1', gg.TYPE_FLOAT)
- speedValue = gg.getResults(1000)
- gg.addListItems(speedValue)
- end
- function start()
- instructions()
- unityVersion()
- gg.alert("🎮 تسريع اللعبة كاملة 🎮")
- startcb()
- end
- function main()
- ui = true
- --🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
- start()
- end
- while true
- do
- while gg.isVisible(true)
- do
- gg.setVisible(ui)
- if ui == false
- then
- gg.hideUiButton()
- main()
- elseif ui == true
- then
- gg.showUiButton()
- if gg.isClickedUiButton() -- checks if the UI button is Pressed
- then
- os.exit() -- calls the UI() function
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement