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

Рекомендуемые сообщения

Привет друзья!

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

Я поставил бряк на доступ и на запись,читает и пишет одна инструкция.

394f74582ec4d5722b74f1e4965eb8b5.jpg

Перехожу в отладчик и вижу эту инструкцию

1c6f8b989bf50decdb7e4d124f6aa725.jpg

Решаю просто её занопить. Занопил,но все равно чтото пишет в адрес.Ставлю бряк на запись и вижу...7107a264abd5838e2b7867db61280d4a.jpg

И тут уменя отваливается челюсть,как инструкция которая нечего не делает умудряется чтото писать!

Перехожу в отладчик и вижу...

5fe0f2065d24a2791a411d166bb17416.jpg

Что делать в таких случаях не понимаю!Подскажите,может кто сталкивался с этой проблемой)))

Ссылка на комментарий
Поделиться на другие сайты

у тебя инструкция занимает 4 байта. У тебя ноп всего 1 (1 байт). Следовательно нужно 4 нопа)

но дело в том,что когда вписываешь в него свое значение он перезаписывает старое.

А тут уже что-то не то)

UPD. Даю 90% что адрес не верен

Ссылка на комментарий
Поделиться на другие сайты

Да говорю,что верный!Если поставить свое значение(допустим тысяча) и заморозить,то все нормально,но нам в игре будет отображаться то 50,то 1000 и так и будет мигать.

Ссылка на комментарий
Поделиться на другие сайты

Попробуй написать скрипт.... на изменение... значения.. а не нопить

Да говорю,что верный!Если поставить свое значение(допустим тысяча) и заморозить,то все нормально,но нам в игре будет отображаться то 50,то 1000 и так и будет мигать.

Адрес не тот.... это просто цифровое значение которое выводится на экран и все... не тот адрес.... допустим это деньги.....

Ссылка на комментарий
Поделиться на другие сайты

Если сделать скрипт,который будет писать постоянно 1000,то нечего не измениться,старое значение так и будет писаться,но записывать это значение будет уже инструкция,которая тысячу добавляет((

Grom-Skynet, вы уверены?

Я искал увеличилось/уменьшилось и доотсеявал только до этого адреса.Попробую наоборот,когда на экране увеличилось,буду искать уменьшилось и если нечего не найдется,то я вообще не знаю,что это за фигня(

Ссылка на комментарий
Поделиться на другие сайты

а никто не удосужился обратить внимание на то, что это цикл? К тому же, если при простой заморозке значение "скачет" со старого на замороженное значение - это говорит о том, что адрес таки неверный. Впрочем, предположим, что адрес таки верный. Тогда рекомендую внимательно почитать в гугле про repe movsd.

Ссылка на комментарий
Поделиться на другие сайты

Нопы не пишут и не читают. Это 99.99% баг CE. Попробуй поставить брейкпоинт в OllyDbg. Я более чем уверен, что repe movsd будет инструкцией, на которой произойдёт "остановка". Я думаю, что лучше сделать инъекцию перед этой инструкций с жёсткой записью по esi - адресу.

esi - адрес-источник - source

edi - адрес-приёмник - destination

ecx - счётчик - counter

Если ecx равен 8 значит repe movsd посылает 8 раз(хотя тут я не уверен) 4-байтовые значения из адреса по esi в адрес edi.

Чаще всего я видел эту инструкцию при работе со строками и были у CE аналогичные глюки с показом инструкций на которых был бряк (этот баг тянется очень давно ещё с версий 5.xx и возможно ранее)

Сравнение 0A это скорее сравнение с переводом строки.

ASCII LF (перевод строки, 0x0A) (0x0A, 10 в десятичной системе счисления, '\n') . Ещё есть CR (возврат каретки, 0x0D) . Так что похоже это строка и экранное значение.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Эта инструкция тебе не нужна. Не изменяй её (mov esp+14, edx). Не она выполняет запись в данном случае.

Просто сделай nop следующей команде. А именно repe movsd. В результате команда не будет выполняться и не будет появляться nop при просмотре (write \ access). И сможешь дальше ломать очки.

Выглядеть будет так.

mov esp+14, edx

nop

...

...

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
  • 2 недели спустя...

mov [esp+14],edx - наврятли та инструкция. Уже взгляд по адресу TestDrive2.exe+8D 57 08 говорит о многом. Твои очки никак не могут вычисляться с помощью edi +08, да к тому же инструкцией lea. Скорее всего, как неоднократно писали выше, это лишь экранное значение. А реальное шифруется xor'ом, либо очки+некое_число. Но как вариант, можешь попробовать сделать инъекцию по адресу TestDrive2.exe+8D 57 08. Но скорее всего, это ни к чему не приведёт.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
×
×
  • Создать...

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

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