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

_Nooper

Стажёры
  • Постов

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

  • Посещение

Сообщения, опубликованные _Nooper

  1. Извини, но цепочку указателей выполнить нельзя.

    Выполнить можно только код.

     

    Ты можешь найти инструкцию, которая обращается к этому адресу и модифицировать её.

    Можешь зайти на канал keng 'а, он очень подробно объясняет это новичкам.

    Хорошо, гляну что у keng'a. Спасибо 

  2.  

     

    А что перевести-то в АСМ?

    То что на скрине  :-D

     

    У тебя на скрине цепочка указателей. Введите в гугле - "Assembler read pointers".

     

    Ввел, нашло непонятно что. Меня интересует именно как эту цепочку указателей выполнить через asm. 

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

    original-c390126dc9b2f5a2432b4a82874c291

    Адрес постоянно меняется но с помощью того что P->... работает всегда. И вот я хочу проделать это программно и подумал может перевести эту цепочку указателей на асм и выполнить ее программно при этом трейнер будет всегда находить новый адрес в котором лежит кол-во кредитов.

  3. /*---------------------------------------------------------------------------*/

    Ну, по идее, логика там должна быть примерно следующая (в руках меч):

    1. Нажали левую кнопку мыши

    2. Начинаем анимацию замаха мечом.

    3. Проверяем, что на некотором расстоянии от нас (заданном в свойствах меча)

    есть нечто, а не просто пустое место.

    4. Если есть, то играем звук удара по соответствующему предмету.

    5. Наносим предмету урон (пытаемся, как минимум).

    Вот тебе, собственно, надо в отладчике (или в долгом созерцании структуры

    меча) надо найти пункт три, а точнее - расстояние из этого пункта. Выглядеть

    это должно как-то так:

    MOV  EBX,[ECX+0x456] ; В EBX кладём "длину меча", ECX - его структура
    CMP EBX,EDI ; Сравниваем длину меча с расстоянием до противника в EDI
    JNE 0x3475869 ; Если не равны - то переходим в другое место
    PUSH EBX ; Иначе - берём всякие аргументы
    PUSH EDX ; всякие аргументы
    CALL 0x7685757 ; и вызываем функцию нанесения урона

    /*---------------------------------------------------------------------------*/

    Вот это уже интересней) Продолжаю поиск

  4. /*---------------------------------------------------------------------------*/

    Каким угодно, на самом деле. Скорее всего, оно будет ещё и не в пикселях

    каких-нибудь или метрах, а в игровой мере длины, скажем, в юнитах.

    PS: 1024-е сообщение на форуме!

    /*---------------------------------------------------------------------------*/

    Запутался :-D

    Нашел скорость меча, а дальности даже близко не вижу.

  5. Привет!

    Скорее всего, это свойство самого оружия, т.е. искать надо в структуре, которая его описывает. Скажем, если у персонажа в руках лук, то для него задаётся количество стрел, скорострельность, дальность полёта стрелы и так далее. Для оружия ближнего боя должна задаваться "длина" оружия, то есть расстояние между тобой и противником, на котором это оружие противника достанет. Искать это можно несколькими способами:

    1. Найти оружие, используя структуру самого персонажа. Скажем, найти здоровье, а дальше смотреть, какие инструкции пишут и читают это значение, обнаружится инструкция вроде этой:

    MOV EAX, [EBX+0x456]

    Здесь в EBX будет храниться указатель на структуру персонажа, а 0x456 - смещение в этой структуруре до его здоровья. Где-то в ней же может быть и структура, описывающая текущее выбранное персонажем оружие, а уже в ней можно и "длину" поискать.

    Значение "длинны" может быть float или по стандарту 4 байта?

  6. Привет!

    Скорее всего, это свойство самого оружия, т.е. искать надо в структуре, которая его описывает. Скажем, если у персонажа в руках лук, то для него задаётся количество стрел, скорострельность, дальность полёта стрелы и так далее. Для оружия ближнего боя должна задаваться "длина" оружия, то есть расстояние между тобой и противником, на котором это оружие противника достанет. Искать это можно несколькими способами:

    1. Найти оружие, используя структуру самого персонажа. Скажем, найти здоровье, а дальше смотреть, какие инструкции пишут и читают это значение, обнаружится инструкция вроде этой:

    MOV EAX, [EBX+0x456]

    Здесь в EBX будет храниться указатель на структуру персонажа, а 0x456 - смещение в этой структуруре до его здоровья. Где-то в ней же может быть и структура, описывающая текущее выбранное персонажем оружие, а уже в ней можно и "длину" поискать.

    Спасибо попробую!

  7. Эм... А конкретнее можно? Что за игра?

    Я конечно таким вопросом никогда не задавался, но... можно попробовать менять оружие и в СЕ использовать поиск по типу "Изменилось/Не изменилось",

    The Elder Scrolls Oblivion - пытаюсь найти длинну меча.

×
×
  • Создать...

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

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