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

lamalamaz

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

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

  • Посещение

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

    7

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

  1. ну тебе же надо найти иструк что бы отвечало за жизни я думаю в фаре там одна инструк отвечает за тебя и врагов значит надо еще срипт писать что тебя не убивало

    movss [esi+10]xmm0

    подменял

    mov[esi+10]100

    Получалось так что у меня 0 жизней и у врагов(убивались с 1 удара). Все кроме быков....

    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)
    label(originalcode)
    label(exit)
    newmem:
    mov [ecx+10],(float)9999
    originalcode:
    comiss xmm0,[ecx+10]
    jb FC3_d3d11.RunGame+6347D5
    exit:
    jmp returnhere
    "FC3_d3d11.dll"+6394A9:
    jmp newmem
    nop
    returnhere:
    [DISABLE]
    dealloc(newmem)
    "FC3_d3d11.dll"+6394A9:
    comiss xmm0,[ecx+10]
    jb FC3_d3d11.RunGame+6347D5

    За здоровье врага отвечает другая инструкция, так что OHK делай сам, если что на сайте много примеров, да и помогут если что.

    При изменении [ecx+10] игра вылетает(если туда свои цифры закатать). Неправильный синтакс у меня был?

  2. жизни у тебя хранятся в float если не ошибаюсь, записывать надо mov [esi+10], (float) 750. Если значение dword (4 байта) тогда mov [esi+10], #750 . xmm вообще не менять. Скорее ты нашел не ту инструкцию, она должна выглядеть так comiss xmm0,[ecx+10] и только тогда будет работать бессмертие.

    commis этож инструкция сравнения? Или я чего то не догоняю.... Была такая инструкция. Но я решил не трогать. Можете дать заготовку на God и One-hit-kill с любыми адресами... Я сам додумаю.

    Просто шаблон дайте, мне так легче понять что откуда и куда :unsure:

  3. жизни у тебя хранятся в float если не ошибаюсь, записывать надо mov [esi+10], (float) 750

    Поясняю пробовал через mov значения меняются глобально(даже при выполнении условия).

    есть же видеоурок у кодера

    Я как раз из видео кодера пришел. Синтаксис 1 в 1. :-D

  4. 2-й код



    newmem
    cmp byte ptr [esi+B8],4 // сравниваем ID игрока
    je hack //если правильно прыгаем в hack
    movss [esi+10],xmm0 //оригинальная инструкция
    jmp returnhere



    hack:
    movss [esi+10],xmm0//оригинальная инструкция
    mov [esi+10],#750 // меняем значение (число просто пример)
    jmp returnhere

    Простите создал 2 темы.. Прошу 1 удалить.

    #750 так и надо писать? Я в синтаксисе асемблера не разобрался что значит # и почему отказывается работать с float хотя xmm этож float регистры. Да и еще. Тут такая фишка что xmm очень капризный если менять значение из вне, то он даже если сработало условие ставить глобально(то есть все будут бессмертными). mov [esi+10] значение обнуляется если засоввывать через mov

    Если я чего-то недопонимаю объясните пожалуйста.

    Статью прочитал, но там нету того что нужно именно мне... А именно One-Hit-kill... Хотя бы заготовка...

  5. Здравствуйте уважаемые кодеры. Прошу сделать или помочь сделать Таблицу на FarCry3 1.4(Deluxe Edition).

    Покажу свои наработки с комментариями. Если что-то неверно поправьте. Если все неверно прошу переделать.

    [ENABLE]

    alloc(newmem,2048)

    label(returnhere)

    label(hack)

    newmem:

    fld dword ptr [ecx+10] //Вылезший код из Бряка на доступ жизней

    ret //Автоматически с инжектился через Добавить код //Пробывал убирать не помогает

    fld dword ptr [ecx+14] //Автоматически с инжектился через Добавить код

    cmp byte ptr [ecx+4C],1 //сравниваю структуры игрока-врагов

    je hack //прыжок при выполнении условия

    jmp returnhere

    hack:

    mov [ecx+10](float)100 //возвращает 100 жизней

    jmp returnhere

    "FC3.dll"+905E05:

    jmp newmem

    nop

    nop

    returnhere:

    Первый код вообще не хочет работать... Любое изменение из вне [ecx+10] крашит игру.

    Пробовал через запись

    [ENABLE]

    //code from here to '[DISABLE]' will be used to enable the cheat

    alloc(newmem,2048)

    label(returnhere)

    label(hack)

    newmem:

    movss [esi+10],xmm0 //Бряк на запись при изменении жизней

    cmp byte ptr [esi+B8],4 //сравнение структуры игрока

    je hack

    jmp returnhere

    hack:

    movss [esi+10],xmm0 //Вот тут незнаю что делать если прописать обычный MOV не пашет Movss не работает с числами

    jmp returnhere

    "FC3.dll"+9061F3:

    jmp newmem

    returnhere:

    [DISABLE]

    //code from here till the end of the code will be used to disable the cheat

    dealloc(newmem)

    "FC3.dll"+9061F3:

    movss [esi+10],xmm0

    //Alt: db F3 0F 11 46 10

    Тут вообще все печально

    hack:

    movss [esi+10],xmm0

    Эта инструкция вообще непойму как работает... При изменении xmm0не компилится. При имзменении movss на move значение обнуляется не смотря на jump.

    Помогите пожалуйста.

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

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

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