Перейти к содержанию

Garik66

Помогаторы
  • Постов

    5 750
  • Зарегистрирован

  • Победитель дней

    292

Весь контент Garik66

  1. Я и без голосования с тобой согласен. Тема, когда разрослась, стала действительно не читабельной.
  2. Ты имеешь ввиду - собрать всю инфу в первый пост темы? Хорошо, на днях сделаю и постараюсь почитабельней оформить
  3. Chuckyя же говорил MasterGH быстро объяснит, Короче мой второй вариант в "Иcправлении 4" должен работать, т.е. поставить mov dword ptr [eax+6C],#1120403456 ниже fst dword ptr [esp+08]. MasterGHСпасибо большое.
  4. Но занопить будет более правильно. PS: а 98 патронов, потому что потом идёт отнимание 1 патрона.
  5. Тогда проще занопить инструкцию, которая отнимает патроны, вот эту и не париться: ZAT.exe+4DA0BD - 2B C1 - sub eax,ecx, т.е. в eax - лежат расшифрованные патроны. Занопить сумеешь?
  6. Короче, есть подозрение, что в eax лежит уже расшифрованное текущее значение патронов, но оно будет скорее всего только видимым, а в edi - константа. А в [edi+04] - зашифрованное значение. Давай попробуем этот скрипт: [ENABLE]alloc(newmem,64)label(returnhere)newmem:push ebxmov ebx,[edi+04]xor ebx,edimov ebx,#99xor ebx,edimov [edi+04],ebxpop ebxmov eax,[edi+04]xor eax,edijmp returnhere"ZAT.exe"+4DA0B8:jmp newmemreturnhere:[DISABLE]"ZAT.exe"+4DA0B8:mov eax,[edi+04]xor eax,edidealloc(newmem)
  7. Поэтому и уточняю. Ответь на вопрос из предыдущего поста. Мне нужно понять где константа, а где зашифрованное значение.
  8. Так значит значение зашифрованное. Второй вопрос инструкция, которая в скрипте, когда срабатывает? PS: уточню - после выстрела?
  9. Тогда ещё один вариант попробуй: [ENABLE]alloc(newmem,64) label(exit)newmem:fsubr dword ptr [eax+6C]mov dword ptr [eax+6C],#1120403456 // ещё можно попробовать опустить эту инструкцию ещё ниже - перед ret fst dword ptr [esp+08] // поставить.ret"Amnesia.exe"+D9FC1:call newmemnopnopexit:[DISABLE]"Amnesia.exe"+D9FC1:fsubr dword ptr [eax+6C]fst dword ptr [esp+08]dealloc(newmem)
  10. Первым делом мне нужно было спросить, когда адрес нашёл вручную значения менял - менялись потом в игре?
  11. Давай тогда посмотрим: fld dword ptr [eax+6C] - аналог push, т.е. выталкивает в стек значение из адреса eax+6C. а fsubr dword ptr [eax+6C] - отнимает из верха стека значение по адресу eax+6c. Не понятно почему Call/ret так по разному влияют. Твой первый скрипт (без call/ret) точно работает? Тогда вопрос чему равно во float число - #1120403456?
  12. Действительно странно, а попробуй тогда скрипт от первой инструкции в таком виде: [ENABLE]alloc(newmem,64) newmem:mov dword ptr [eax+6C],#1120403456fsubr dword ptr [eax+6C]fst dword ptr [esp+08]ret"Amnesia.exe"+D9FC1:call newmemnopnop[DISABLE]"Amnesia.exe"+D9FC1:fsubr dword ptr [eax+6C]fst dword ptr [esp+08]dealloc(newmem)
  13. Говоришь видио моё посмотрел. Пересмотри ещё раз. В [edi+04] лежит константа через которую Xorят значение в [edi] лежит само зашифрованное значение , поэтому ты и получаешь не пойми чего. Нужно так: newmem:push eaxmov eax,[edi+04]xor eax,edimov [edi],#99xor eax,edipop eaxoriginalcode:mov eax,[edi+04]xor eax,ediПопробуй. PS: Здесь ошибка, поторопился. Дальше всё правильно.
  14. Странно, по-идеи, если твой первый скрипт работает должен работать и мой скрипт, только смущают два nop после call, попробуй ещё такой вариант: [ENABLE]alloc(newmem,64) label(exit)newmem:mov dword ptr [eax+6C],#1120403456fsubr dword ptr [eax+6C]fst dword ptr [esp+08]ret"Amnesia.exe"+D9FC1:nopnopcall newmemexit:[DISABLE]"Amnesia.exe"+D9FC1:fsubr dword ptr [eax+6C]fst dword ptr [esp+08]dealloc(newmem)
  15. У тебя неправильно. я же тебе написал: у тебя нету выхода из инъекции И ещё одно: я сейчас не могу посмотреть, сколько занимает байт call newmem, если 5 (как и jmp newmem), то проверь мой скрипт на работу. Если call newmem больше, нужно убрать соответствующее количество NOP. PS: Посмотрел: call newmem - 5 байт. Так что проверь скрипт - должен работать. Если не понятно как работает связка call/ret, пиши - постараюсь объяснить.
  16. Как только решил снять сегодняшнее видео - оба радио замолчали и твоё и drs36. Так что пришлось снова музыку игры слушать.
  17. У тебя нет выхода из твоей инъекции, попробуй так: [ENABLE]alloc(newmem,64) label(exit)newmem:mov dword ptr [eax+6C],#1120403456fsubr dword ptr [eax+6C]fst dword ptr [esp+08]ret"Amnesia.exe"+D9FC1:call newmemnopnopexit:[DISABLE]"Amnesia.exe"+D9FC1:fsubr dword ptr [eax+6C]fst dword ptr [esp+08]dealloc(newmem)
  18. Для новичков: как добавить инфу или звуки в скрипт используя практически только ассемблер СЕ - смотреть здесь.
  19. Для новичков снял видео - как резюме этой теме.
  20. Спасибо и за уроки тоже спасибо заранее.
  21. MasterGHбольшое спасибо, всё работает даже снял видео.
  22. ОК Тогда на днях наверное установлю СЕ6,4, либо посмотрю как под 6,3 можно сделать.
  23. Сомневаюсь что кто-нибудь поможет, думаю никто такое не делал, наврядли кто-нибудь добавлял звук в скрипт в таблицу (без трейнера).
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.