memapi.lua | Loading last commit info... | |
readme.md |
readme.md
GameGuardian Patching Tool
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