Спросил двух мастеров: в какую тему мне, как новичку, можно писать, пока ничего не ответили, поэтому создал новую тему. Пишу под себя тренер для игры Dark Souls V. 1.01. Использую Чит Egnite против 6.3 (RU). Вопросов много возникает походу написания. Вот один из них: Это код на бессмертие и убийство с одного удара. [ENABLE] alloc(newmem,2048) label(returnhere) label(originalcode) label(exit) newmem: push edx lea edx,dword ptr [esi+000000FC] cmp edx,087bDE2C pop edx je returnhere originalcode: mov [esi+000000FC],0 exit: jmp returnhere "DarkSoulsII.exe"+1BB521: jmp newmem nop returnhere: [DISABLE] dealloc(newmem) "DarkSoulsII.exe"+1BB521: mov [esi+000000FC],ecx Если в строке "CMP EDX, 087bDE2C" стоит адрес для текущей загрузки игры, код работает. Нашёл постоянный адрес [[[DarkSoulsII.exe + FB3E3C] +74] + Ь] здоровья Ггероя. Никак не получается записать этот адрес с указателями в код, чтобы не было вылета из игры. Перепробовал разные варианты, вот один из них: [ENABLE] alloc(newmem,2048) label(returnhere) label(originalcode) label(exit) newmem: pushf lea edx,dword ptr [esi+000000FC] mov esp,[DarkSoulsII.exe+FB3E3C] mov esp,[esp+74] lea esp,[esp+fc] cmp edx,esp popf je returnhere originalcode: mov [esi+000000FC],0 exit: jmp returnhere "DarkSoulsII.exe"+1BB521: jmp newmem nop returnhere: [DISABLE] dealloc(newmem) "DarkSoulsII.exe"+1BB521: mov [esi+000000FC],ecx Подскажите, как правильно записать адрес с указателями в код. Я грешу, что вылет происходит из-за выбора регистра, в моём случае ESP, хотя тоже пробовал несколько вариантов. PS: На всякий случай: [DarkSoulsII.exe + FB3E3C] можно записать и так [013B3E3C].