Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

LUA скрипт [gs] exploit patches

Начинающий
Начинающий
Статус
Онлайн
Регистрация
26 Авг 2021
Сообщения
99
Реакции
9
эзо решил сделать приколы с речарджем даблтапа, и ограничил чок в 14 тиков

вот два скрипта, первый - изменяет чок (максимум 15 тиков, иначе скит начинает косоёбить)


code_language.lua:
Expand Collapse Copy
local ffi = require "ffi";

local tickbase_slider = ui.new_slider("RAGE", "Other", "Tickbase limit", 9, 32, 16)

local function update_tickbase()
    if not ui.get(master) then return end

    local limit = ui.get(tickbase_slider)

    local ptr = ffi.cast("unsigned char*", 0x433AC21C)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit - 1       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop

        local ptr = ffi.cast("unsigned char*", 0x433AC245)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop
end

ui.set_callback(tickbase_slider, update_tickbase)

второй - убирает приколы, по типу запрета речарджа в скопе(??????) и запрет речарджа при дистанции(sqr) (14400)(??????????????)
также можно убрать проверку на can_shoot(выглядит странно)

потыкайте там


code_language.lua:
Expand Collapse Copy
local ffi = require("ffi")

local patches = {
    {
        name = "Bypass Scope Restriction",
        addr = 0x433ABFFE,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Distance Check",
        addr = 0x433AC167,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Fire Rate Check",
        addr = 0x433AC17C,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Ammo Check",
        addr = 0x433AC222,
        size = 2,
        bytes = {0x90, 0x90}
    },
}


local original_bytes = {}
for _, patch in ipairs(patches) do
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    ffi.copy(buf, ptr, patch.size)
    original_bytes[patch.addr] = buf
end

-- Функции
local function apply_patch(patch)
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    for i = 1, patch.size do
        buf[i-1] = patch.bytes[i]
    end
    ffi.copy(ptr, buf, patch.size)
end

local function restore_patch(patch)
    local orig = original_bytes[patch.addr]
    if orig then
        local ptr = ffi.cast("char*", patch.addr)
        ffi.copy(ptr, orig, patch.size)
    end
end

local master = ui.new_checkbox("RAGE", "Other", "Double Tap Force Recharge")
local checkboxes = {}


for _, patch in ipairs(patches) do
    checkboxes[patch.addr] = ui.new_checkbox("RAGE", "Other", patch.name)
    
    ui.set_callback(checkboxes[patch.addr], function()
        if ui.get(master) and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end)
end
ui.set_callback(master, function()
    local state = ui.get(master)
    for _, patch in ipairs(patches) do
        if state and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end
end)
 
эзо решил сделать приколы с речарджем даблтапа, и ограничил чок в 14 тиков

вот два скрипта, первый - изменяет чок (максимум 15 тиков, иначе скит начинает косоёбить)


code_language.lua:
Expand Collapse Copy
local ffi = require "ffi";

local tickbase_slider = ui.new_slider("RAGE", "Other", "Tickbase limit", 9, 32, 16)

local function update_tickbase()
    if not ui.get(master) then return end

    local limit = ui.get(tickbase_slider)

    local ptr = ffi.cast("unsigned char*", 0x433AC21C)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit - 1       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop

        local ptr = ffi.cast("unsigned char*", 0x433AC245)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop
end

ui.set_callback(tickbase_slider, update_tickbase)

второй - убирает приколы, по типу запрета речарджа в скопе(??????) и запрет речарджа при дистанции(sqr) (14400)(??????????????)
также можно убрать проверку на can_shoot(выглядит странно)

потыкайте там


code_language.lua:
Expand Collapse Copy
local ffi = require("ffi")

local patches = {
    {
        name = "Bypass Scope Restriction",
        addr = 0x433ABFFE,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Distance Check",
        addr = 0x433AC167,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Fire Rate Check",
        addr = 0x433AC17C,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Ammo Check",
        addr = 0x433AC222,
        size = 2,
        bytes = {0x90, 0x90}
    },
}


local original_bytes = {}
for _, patch in ipairs(patches) do
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    ffi.copy(buf, ptr, patch.size)
    original_bytes[patch.addr] = buf
end

-- Функции
local function apply_patch(patch)
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    for i = 1, patch.size do
        buf[i-1] = patch.bytes[i]
    end
    ffi.copy(ptr, buf, patch.size)
end

local function restore_patch(patch)
    local orig = original_bytes[patch.addr]
    if orig then
        local ptr = ffi.cast("char*", patch.addr)
        ffi.copy(ptr, orig, patch.size)
    end
end

local master = ui.new_checkbox("RAGE", "Other", "Double Tap Force Recharge")
local checkboxes = {}


for _, patch in ipairs(patches) do
    checkboxes[patch.addr] = ui.new_checkbox("RAGE", "Other", patch.name)
   
    ui.set_callback(checkboxes[patch.addr], function()
        if ui.get(master) and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end)
end
ui.set_callback(master, function()
    local state = ui.get(master)
    for _, patch in ipairs(patches) do
        if state and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end
end)
красаучег, продолжай в том же духе
 
эзо решил сделать приколы с речарджем даблтапа, и ограничил чок в 14 тиков

вот два скрипта, первый - изменяет чок (максимум 15 тиков, иначе скит начинает косоёбить)


code_language.lua:
Expand Collapse Copy
local ffi = require "ffi";

local tickbase_slider = ui.new_slider("RAGE", "Other", "Tickbase limit", 9, 32, 16)

local function update_tickbase()
    if not ui.get(master) then return end

    local limit = ui.get(tickbase_slider)

    local ptr = ffi.cast("unsigned char*", 0x433AC21C)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit - 1       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop

        local ptr = ffi.cast("unsigned char*", 0x433AC245)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop
end

ui.set_callback(tickbase_slider, update_tickbase)

второй - убирает приколы, по типу запрета речарджа в скопе(??????) и запрет речарджа при дистанции(sqr) (14400)(??????????????)
также можно убрать проверку на can_shoot(выглядит странно)

потыкайте там


code_language.lua:
Expand Collapse Copy
local ffi = require("ffi")

local patches = {
    {
        name = "Bypass Scope Restriction",
        addr = 0x433ABFFE,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Distance Check",
        addr = 0x433AC167,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Fire Rate Check",
        addr = 0x433AC17C,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Ammo Check",
        addr = 0x433AC222,
        size = 2,
        bytes = {0x90, 0x90}
    },
}


local original_bytes = {}
for _, patch in ipairs(patches) do
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    ffi.copy(buf, ptr, patch.size)
    original_bytes[patch.addr] = buf
end

-- Функции
local function apply_patch(patch)
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    for i = 1, patch.size do
        buf[i-1] = patch.bytes[i]
    end
    ffi.copy(ptr, buf, patch.size)
end

local function restore_patch(patch)
    local orig = original_bytes[patch.addr]
    if orig then
        local ptr = ffi.cast("char*", patch.addr)
        ffi.copy(ptr, orig, patch.size)
    end
end

local master = ui.new_checkbox("RAGE", "Other", "Double Tap Force Recharge")
local checkboxes = {}


for _, patch in ipairs(patches) do
    checkboxes[patch.addr] = ui.new_checkbox("RAGE", "Other", patch.name)
   
    ui.set_callback(checkboxes[patch.addr], function()
        if ui.get(master) and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end)
end
ui.set_callback(master, function()
    local state = ui.get(master)
    for _, patch in ipairs(patches) do
        if state and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end
end)
у тебя микробаг есть в коде я увидел ибо у тебя нету проверки на на существует ли локалплеер и оно поидее эррорить будет если ты что то ьбудешь трогать в 1 скрипте,а так красава
 
у тебя микробаг есть в коде я увидел ибо у тебя нету проверки на на существует ли локалплеер и оно поидее эррорить будет если ты что то ьбудешь трогать в 1 скрипте,а так красава
чит сам проверяет, патч просто нопает(УБИРАЕТ) прыжок на запрет речарджа
 
эзо решил сделать приколы с речарджем даблтапа, и ограничил чок в 14 тиков

вот два скрипта, первый - изменяет чок (максимум 15 тиков, иначе скит начинает косоёбить)


code_language.lua:
Expand Collapse Copy
local ffi = require "ffi";

local tickbase_slider = ui.new_slider("RAGE", "Other", "Tickbase limit", 9, 32, 16)

local function update_tickbase()
    if not ui.get(master) then return end

    local limit = ui.get(tickbase_slider)

    local ptr = ffi.cast("unsigned char*", 0x433AC21C)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit - 1       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop

        local ptr = ffi.cast("unsigned char*", 0x433AC245)

    ptr[0] = 0x3D        -- cmp eax, imm32
    ptr[1] = limit       -- value
    ptr[2] = 0x00
    ptr[3] = 0x00
    ptr[4] = 0x00
    ptr[5] = 0x90        -- nop
end

ui.set_callback(tickbase_slider, update_tickbase)

второй - убирает приколы, по типу запрета речарджа в скопе(??????) и запрет речарджа при дистанции(sqr) (14400)(??????????????)
также можно убрать проверку на can_shoot(выглядит странно)

потыкайте там


code_language.lua:
Expand Collapse Copy
local ffi = require("ffi")

local patches = {
    {
        name = "Bypass Scope Restriction",
        addr = 0x433ABFFE,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Distance Check",
        addr = 0x433AC167,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Fire Rate Check",
        addr = 0x433AC17C,
        size = 6,
        bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
    },
    {
        name = "Bypass Ammo Check",
        addr = 0x433AC222,
        size = 2,
        bytes = {0x90, 0x90}
    },
}


local original_bytes = {}
for _, patch in ipairs(patches) do
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    ffi.copy(buf, ptr, patch.size)
    original_bytes[patch.addr] = buf
end

-- Функции
local function apply_patch(patch)
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    for i = 1, patch.size do
        buf[i-1] = patch.bytes[i]
    end
    ffi.copy(ptr, buf, patch.size)
end

local function restore_patch(patch)
    local orig = original_bytes[patch.addr]
    if orig then
        local ptr = ffi.cast("char*", patch.addr)
        ffi.copy(ptr, orig, patch.size)
    end
end

local master = ui.new_checkbox("RAGE", "Other", "Double Tap Force Recharge")
local checkboxes = {}


for _, patch in ipairs(patches) do
    checkboxes[patch.addr] = ui.new_checkbox("RAGE", "Other", patch.name)
   
    ui.set_callback(checkboxes[patch.addr], function()
        if ui.get(master) and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end)
end
ui.set_callback(master, function()
    local state = ui.get(master)
    for _, patch in ipairs(patches) do
        if state and ui.get(checkboxes[patch.addr]) then
            apply_patch(patch)
        else
            restore_patch(patch)
        end
    end
end)
это для чего?
 
upd

нашёл интересный метод сделать аир лаг, можете баловаться


code_language.lua:
Expand Collapse Copy
local ffi = require"ffi"

local bind = ui.new_hotkey("LUA", "A", "Air lag")

local patch = {
    addr = 0x433AC17C,
    size = 6,
    bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
}


local original_bytes = {}

local ptr = ffi.cast("char*", patch.addr)
local buf = ffi.new("char[?]", patch.size)
ffi.copy(buf, ptr, patch.size)
original_bytes[patch.addr] = buf

local function apply_patch()
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    for i = 1, patch.size do
        buf[i-1] = patch.bytes[i]
    end
    ffi.copy(ptr, buf, patch.size)
end

local function restore_patch()
    local orig = original_bytes[patch.addr]
    if orig then
        local ptr = ffi.cast("char*", patch.addr)
        ffi.copy(ptr, orig, patch.size)
    end
end


client.set_event_callback("setup_command", function(cmd)
    local is_active = ui.get(bind);

    if is_active == true then
        cmd.discharge_pending = globals.tickcount() % 16 == 0
        apply_patch();
    else
        restore_patch();
    end
end)
 
upd

нашёл интересный метод сделать аир лаг, можете баловаться


code_language.lua:
Expand Collapse Copy
local ffi = require"ffi"

local bind = ui.new_hotkey("LUA", "A", "Air lag")

local patch = {
    addr = 0x433AC17C,
    size = 6,
    bytes = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90}
}


local original_bytes = {}

local ptr = ffi.cast("char*", patch.addr)
local buf = ffi.new("char[?]", patch.size)
ffi.copy(buf, ptr, patch.size)
original_bytes[patch.addr] = buf

local function apply_patch()
    local ptr = ffi.cast("char*", patch.addr)
    local buf = ffi.new("char[?]", patch.size)
    for i = 1, patch.size do
        buf[i-1] = patch.bytes[i]
    end
    ffi.copy(ptr, buf, patch.size)
end

local function restore_patch()
    local orig = original_bytes[patch.addr]
    if orig then
        local ptr = ffi.cast("char*", patch.addr)
        ffi.copy(ptr, orig, patch.size)
    end
end


client.set_event_callback("setup_command", function(cmd)
    local is_active = ui.get(bind);

    if is_active == true then
        cmd.discharge_pending = globals.tickcount() % 16 == 0
        apply_patch();
    else
        restore_patch();
    end
end)
м, а смысл ну типа прописывать было % 16 если ты сам пишешь, что лимит по чокам чтоб чит не отъебенило max = 15? ну либо я овощ не так понял
 
Назад
Сверху Снизу