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

Akama

Пользователи+
  • Постов

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

  • Посещение

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

    16

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

  1. у меня вот другой вопрос по этой же игре.


    [ENABLE]
    alloc(newmem,2048)
    label(vitality)label(returnhere)
    label(originalcode)
    label(wied)
    registersymbol(wied)

    newmem:
    vitality:
    push ebx
    mov ebx,[witcher2.exe+022BC5F4]
    mov ebx,[ebx+14]
    mov ebx,[ebx+14]
    mov ebx,[ebx+8]
    mov [wied],ebx
    pop ebx

    cmp eax,[wied]
    jne originalcode

    push [eax+4]
    pop [eax]

    originalcode:
    fld dword ptr [eax]
    mov eax,[ebp+08]
    jmp returnhere

    wied:
    dd 0

    witcher2.exe+8CA4:
    jmp vitality
    returnhere:

    [DISABLE]
    dealloc(newmem)
    unregistersymbol(wied)
    witcher2.exe+8CA4:
    fld dword ptr [eax]
    mov eax,[ebp+08]
    //Alt: db D9 00 8B 45 08

    Почему оно не работает? Краха нету, игра не вылетает, но и то, что надо, тоже не делает...

  2. Внесу кое-что своё...

    LEA

    Скопировать результат второго регистра (объекта) в первый

    lea eax,[esi+30] //означает копирование esi+30 в eax.

    Удобно для сохранения указателей.

    В чём разница между mov и lea?

    Разберём на примере:

    Предположим, что еах = 00684371.

    mov ecx,[eax] // скопирует значение, которое находится по адресу регистра еах (то есть значение адреса 00684371)
    lea ecx,[eax] // скопирует значение регистра еах (есх = 00684371)
    lea ecx,[eax+4] // скопирует в есх значение регистра со смещением 4 (есх = 00684371 + 4,есх = 00684375)

    По прыжкам почему-то не сказано ничего.


    //Безусловные прыжки
    jmp 0f445566 // прыжёк на адрес 0f445566
    jmp +6 // прыжёк на 6 байт вперёд (так можно перепрыгивать через строки без установки флага)

    //Условные прыжки, применяются после использования сравнения (cmp)
    je // прыгнуть, если сравниваемые величины равны
    jne // прыгнуть, если сравниваемые величины не равны
    jg // прыгнуть, если при сравнении первое число больше другого
    jl // прыгнуть, если при сравнении первое число меньше другого
    jge // прыжёк, если больше либо равно
    jle // прыжёк, если меньше либо равно

    • Понравилось 1
  3. Ну вот это собственно всё, что я хотел узнать...

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

    P.S. это было моё мнение, так что я могу и ошибаться...

  4. На сколько всем известно, в Cheat Engine 6 убрали возможность генерации трейнеров, но добавили lua скриптование.

    Плохая идея или хорошая я пока незнаю (IMHO), но каждый раз запускать СЕ и открывать в нём таблицы со скриптами не серьёзно.

    Из этого вытекает следующий вопрос: можно ли с помощью lua сделать форму для трейнера, или "заменить" возможность генерации трейнера собой.

    И ещё такая идея пришла в голову: по идее с помощью lua можно сделать что-то в роде внутри-игрового меню трейнера. Т.е. к примеру нажал на F1, и на экране в процессе игры появилась меню со всеми функциями трейнера. В программировании я не селён, по-этому вопрос к знающим. Можно ли это реализовать, и если да, то как?

  5. Кстати. Решил функцию быстрого убийства сделать, но немогу грамотно 2-х уровневый фильтр сделать.

    _OneHitKill:
    push eax
    mov eax,[deadspace2.exe+01CB6918]
    mov eax,[eax+1EC]
    mov [pHero],eax
    pop eax
    cmp dword ptr [iOHK],1
    jne _ExitOHK
    cmp [pHero],edi
    je _ExitOHK
    mov [edi+000000E8],0
    jmp _BackOHK

    _ExitOHK:
    movss [edi+000000E8],xmm0
    jmp _BackOHK

    постоянный указатль на здоровье [[[deadspace2.exe+01CB6918]+1EC]+E8]

    Укажите на мою ошибку...

  6. Там есть инструкция, которая работает только с адресом здоровья.

    deadspace2.exe+4A7105:
    fld dword ptr [eax+000000E8]

    Из своего скрипта вытащил.

    Так же можно похимичить с инструкцией, которая работает со веми здоровьями, но там понадобится фильтр делать.

  7. При запуске игры у тебя Live тоже запускался? (панелина такая сверху, там ник твой и тд)

    Если да, то руки мои пора в ремонт сдавать. Если нет, то тогда ясно, почему у меня ничего не находит...

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

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

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