#
jupiter.Memory
#
Creating an instance for accessing memory:
local mem = jupiter.Memory.new()
#
Reading memory:
local mem = jupiter.Memory.new()
local value = mem:readu8( address )
local value = mem:readu16( address )
local value = mem:readu32( address )
local value = mem:readu64( address )
local value = mem:readi8( address )
local value = mem:readi16( address )
local value = mem:readi32( address )
local value = mem:readi64( address )
#
Writing memory:
local mem = jupiter.Memory.new()
local value = 1337
mem:writeu8( address, value )
mem:writeu16( address, value )
mem:writeu32( address, value )
mem:writeu64( address, value )
mem:writei8( address, value )
mem:writei16( address, value )
mem:writei32( address, value )
mem:writei64( address, value )
#
Example (togglable invisibility):
local ped_factory_pattern = "48 8B 05 ? ? ? ? 48 8B 48 08 48 85 C9 74 52 8B 81"
local visible_state_offset = 0x2C
local mem = jupiter.Memory.new()
local mod = jupiter.Module.find("GTA5.exe", true)
local scanner = jupiter.Scanner.new(mod, ped_factory_pattern)
scanner:scan()
scanner:add(3)
scanner:rip()
local pp_ped_factory = scanner:get()
print("Found g_PedFactory at GTA5.exe+0x" .. string.format("%x", pp_ped_factory - mod:base()))
local ped_factory = mem:readu64(pp_ped_factory)
local local_ped = mem:readu64(ped_factory + 8)
print("Ped factory: 0x" .. string.format("%x", ped_factory))
print("Local ped: 0x" .. string.format("%x", local_ped))
local enabled = true
function invisible()
if jupiter.utility.is_key_pressed("g", false) then
enabled = not enabled
local notif = jupiter.Notification.new()
if enabled then
notif:set_title("enabled invisibility")
else
notif:set_title("disabled invisibility")
end
notif:set_content("author: index\ndescription: lua memory example")
notif:push()
end
local_ped = mem:readu64(ped_factory + 8)
if local_ped then
if (enabled) then
mem:writeu8(local_ped + visible_state_offset, 0x1)
else
mem:writeu8(local_ped + visible_state_offset, 0x27)
end
end
end
function on_render()
invisible()
end
jupiter.register_callback("render", on_render)