Enable build support by adding .onedev-buildspec.yml
memapi.lua Loading last commit info...
memapi_min.lua
readme.md
readme.md

GameGuardian Patching Tool

Made in Ukraine

Documentation: here

Created with love by @asdhuman

General

MemAPI is a library for GameGuardian, created to work with memory easily. Place a library somewhere close to executed script, and import it

local memapi = require "libs/memapi" -- path is .../libs/memapi.lua

Now you can create handlers, hook to libraries, and read/modify memory. Basic example:

local handler = memapi.hook("libname")

while not handler.is_hooked then
    handler:attach() -- trying...
    gg.sleep(100) -- waiting...
end

function bypass_thing()
    handler.write(0xAAAA, "mov r1, #21", "bx lr") -- asm
    handler.write(0xF012, "00 00 FF FF 03 54 AA CD") -- bytes
    handler.write(0xC00B, false) -- bool (mov + bx lr)
    handler.write(0x5555, 63) -- int (mov + bx lr)
end

local godmode = handler:switch(0xdeadbeef, "ff 00 ff aa 01 02 03 04", false)
-- state is false, if expected bytes in place

local gm_char
while true then
    if godmode.state then gm_char =  "(+)"
    else gm_char = "(-)" end
    local menu = gg.multiChoise({
        gm_char ..  " Godmode",
        "Exit"})
    if menu == 1 then godmode.toggle()
    elseif menu == 2 then os.exit()
    else gg.setVisible(false) end
end
Please wait...
Page is in error, reload to recover