Начинающий
- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 126
- Реакции
- 3
Братва, наткнулся на свежий дамп под Seven Deadly Sins: Origin на UE5. Оффсеты актуальны, но сразу предупреждаю: игра сидит на EAC, так что без нормального байпасса даже не суйтесь, отлетите в пермач быстрее, чем успеете прогрузиться.
По технической части: всё стандартно для Unreal Engine, работаем через Cheat Engine (выбираем процесс игры, цепляем нужные адреса).
Оффсеты:
Базовые функции (Прямые адреса):
Для тех, кто хочет автоматизировать процесс, вот основные LUA-скрипты для таблицы.
Народ, кто уже тестил на РМ или в открытом мире — как там по детектам? Скрипты на фриз врагов могут вызывать визуальные дёрганья, имейте в виду. Делитесь фиксами, если кто ковырял поинтеры дальше.
По технической части: всё стандартно для Unreal Engine, работаем через Cheat Engine (выбираем процесс игры, цепляем нужные адреса).
Оффсеты:
Код:
GWorld: 0xBC45848
GNames: 0xB9E38C0
GObjects: 0xBAC7070
Базовые функции (Прямые адреса):
- Player Speed: [[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+68]
- Global Speed: [[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+20]+2A8]+3E0
- Gravity: [[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+188
- Jump Height: [[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+190
- No Clip: [[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+5D
- Movement Speed: [[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+280
Для тех, кто хочет автоматизировать процесс, вот основные LUA-скрипты для таблицы.
Код:
{$lua}
if syntaxcheck then return end
[ENABLE]
local script = {}
table.insert(script, "{$lua}")
table.insert(script, "[ENABLE]")
table.insert(script, "")
XCoord = "[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+1F4"
YCoord = "[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+1FC"
ZCoord = "[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+204"
X = "writeFloat('"..XCoord.."',"..(readFloat(""..XCoord.."")..")")
table.insert(script, X)
Y = "writeFloat('"..YCoord.."',"..(readFloat(""..YCoord.."")..")")
table.insert(script, Y)
Z = "writeFloat('"..ZCoord.."',"..(readFloat(""..ZCoord.."")..")")
table.insert(script, Z)
table.insert(script, "")
table.insert(script, [[if not syntaxcheck then
synchronize(function()
local t = createTimer()
t.Interval,t.OnTimer = 500,function(tm)
tm.Destroy()
memrec.Active = false
end
end)
end]])
table.insert(script, "")
table.insert(script, "[DISABLE]")
MRLoc = AddressList.getMemoryRecordByDescription('Save This Location')
local mr = AddressList.createMemoryRecord()
mr.Type = vtAutoAssembler
mr.appendToEntry(MRLoc)
mr.Description = 'Load/Teleport (Name_this_location)'
mr.Script = table.concat(script, '\n')
if not syntaxcheck then
synchronize(function()
local t = createTimer()
t.Interval,t.OnTimer = 500,function(tm)
tm.Destroy()
memrec.Active = false
end
end)
end
[DISABLE]
Код:
{$lua}
if syntaxcheck then return end
-- ===== POINTERS (UPDATED) =====
local gravityPtr = '[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+188'
local movementPtr = '[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+221'
local speedPtr = '[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+274'
local playerZPtr = '[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+204'
[ENABLE]
local function readFloatSafe(ptr)
local a = getAddress(ptr)
if a then return readFloat(a) end
end
local function writeFloatSafe(ptr, val)
local a = getAddress(ptr)
if a then writeFloat(a, val) end
end
local function writeByteSafe(ptr, val)
local a = getAddress(ptr)
if a then writeBytes(a, val) end
end
writeFloatSafe(speedPtr, 600)
-- ===== TIMER LOOP =====
flyTimer = createTimer(nil)
flyTimer.Interval = 10
flyTimer.OnTimer = function()
-- force fly mode + no gravity
writeByteSafe(movementPtr, 5)
writeFloatSafe(gravityPtr, 0.0)
-- clamp speed (600 - 3000)
local speed = readFloatSafe(speedPtr)
if speed then
if speed < 600 then writeFloatSafe(speedPtr, 600)
elseif speed > 3000 then writeFloatSafe(speedPtr, 3000)
end
end
end
-- ===== CONTROLS =====
function increaseSpeed()
local s = readFloatSafe(speedPtr)
if s then
s = math.min(s + 200, 3000)
writeFloatSafe(speedPtr, s)
end
end
function decreaseSpeed()
local s = readFloatSafe(speedPtr)
if s then
s = math.max(s - 200, 600)
writeFloatSafe(speedPtr, s)
end
end
function increaseHeight()
local z = readFloatSafe(playerZPtr)
if z then writeFloatSafe(playerZPtr, z + 0.1) end
end
function decreaseHeight()
local z = readFloatSafe(playerZPtr)
if z then writeFloatSafe(playerZPtr, z - 0.1) end
end
-- ===== HOTKEYS =====
hkRight = createHotkey(increaseSpeed, VK_RIGHT)
hkLeft = createHotkey(decreaseSpeed, VK_LEFT)
hkUp = createHotkey(increaseHeight, VK_UP)
hkDown = createHotkey(decreaseHeight, VK_DOWN)
[DISABLE]
-- stop timer
if flyTimer then
flyTimer.destroy()
flyTimer = nil
end
-- restore
writeFloat(getAddress('[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+188'), 3.799999952)
writeBytes(getAddress('[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+221'), 1)
writeFloat(getAddress('[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+330]+274'), 200)
-- remove hotkeys
if hkRight then hkRight.destroy() end
if hkLeft then hkLeft.destroy() end
if hkUp then hkUp.destroy() end
if hkDown then hkDown.destroy() end
Код:
{$lua}
if syntaxcheck then return end
[ENABLE]
local script = {}
table.insert(script, "{$lua}")
table.insert(script, "[ENABLE]")
table.insert(script, "")
XCoord = "[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+1F4"
YCoord = "[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+1FC"
ZCoord = "[[[[["SevenDeadlySins_Origin-Win64-Shipping.exe"+0BDA26A8]+220]+30]+2E8]+1B8]+204"
X = "writeFloat('"..XCoord.."',"..(readFloat(""..XCoord.."")..")")
table.insert(script, X)
Y = "writeFloat('"..YCoord.."',"..(readFloat(""..YCoord.."")..")")
table.insert(script, Y)
Z = "writeFloat('"..ZCoord.."',"..(readFloat(""..ZCoord.."")..")")
table.insert(script, Z)
table.insert(script, "")
table.insert(script, [[if not syntaxcheck then
synchronize(function()
local t = createTimer()
t.Interval,t.OnTimer = 500,function(tm)
tm.Destroy()
memrec.Active = false
end
end)
end]])
table.insert(script, "")
table.insert(script, "[DISABLE]")
MRLoc = AddressList.getMemoryRecordByDescription('Save This Location')
local mr = AddressList.createMemoryRecord()
mr.Type = vtAutoAssembler
mr.appendToEntry(MRLoc)
mr.Description = 'Load/Teleport (Name_this_location)'
mr.Script = table.concat(script, '\n')
if not syntaxcheck then
synchronize(function()
local t = createTimer()
t.Interval,t.OnTimer = 500,function(tm)
tm.Destroy()
memrec.Active = false
end
end)
end
[DISABLE]
Код:
{$lua}
if syntaxcheck then return end
local base = getAddress("SevenDeadlySins_Origin-Win64-Shipping.exe")+0x0BDA26A8
[ENABLE]
if speedTimer then speedTimer.destroy() end
speedTimer = createTimer(nil, false)
speedTimer.Interval = 50 -- runs every 50ms
speedTimer.OnTimer = function()
local success, playerPtr = pcall(function()
local p = readPointer(base)
p = readPointer(p + 0x220)
p = readPointer(p + 0x30)
p = readPointer(p + 0x2E8)
return p + 0x68
end)
local success2, globalPtr = pcall(function()
local g = readPointer(base)
g = readPointer(g + 0x220)
g = readPointer(g + 0x30)
g = readPointer(g + 0x20)
g = readPointer(g + 0x2A8)
return g + 0x3E0
end)
if success and playerPtr then
writeFloat(playerPtr, 100.0)
end
if success2 and globalPtr then
writeFloat(globalPtr, 0.01)
end
end
speedTimer.Enabled = true
[DISABLE]
pcall(function()
local p = readPointer(base)
p = readPointer(p + 0x220)
p = readPointer(p + 0x30)
p = readPointer(p + 0x2E8)
writeFloat(p + 0x68, 1.0)
end)
pcall(function()
local g = readPointer(base)
g = readPointer(g + 0x220)
g = readPointer(g + 0x30)
g = readPointer(g + 0x20)
g = readPointer(g + 0x2A8)
writeFloat(g + 0x3E0, 1.0)
end)
-- destroy timer
if speedTimer then
speedTimer.destroy()
speedTimer = nil
end
Народ, кто уже тестил на РМ или в открытом мире — как там по детектам? Скрипты на фриз врагов могут вызывать визуальные дёрганья, имейте в виду. Делитесь фиксами, если кто ковырял поинтеры дальше.