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

Alexander-mx

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

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

  • Посещение

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

    10

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

  1. Делаю трейнер для just cause2, хотел сделать чтобы нажимая на нумпад0 включались бесконечные патроны, еще раз нажимал выключались, проблема в том что не выключается функция.


    void Ammo
    {
    bool Ammos = false;
    Ammos = !Ammos;
    if (GetAsyncKeyState(VK_NUMPAD0))
    {
    for(;;Sleep(10))
    WriteProcessMemory(handle,(PBYTE*)(0x2EB21334),&ammo,4,0);
    }
    if(!Ammos)
    {
    return;
    }
    }

  2. Всем привет, вот установил эту игру и появилась идея взломать длину крюка. Режим отладки VEH. Искал 1 0 где можно и где нельзя прицепиться, адрес статический, но при установке бряка игра вылетает. Какие еще могут быть идеи?

    И ещё вопрос, надо ли включать DBVM если буду использовать режим ядра? Просто система поддерживает, в биосе включил эту функцию, но когда включаю в CE DBVM компьютер виснет.

  3. Судя по всему они пытались найти явный вызов функции IsDebuggerPresent, но это не удалась, поэтому они просто стали искать строку IsDebuggerPresent а когда нашли, так и оказались в нужном коде. Всё это очень легко делается, если есть опыт в реверсинге приложений. Могу посоветовать этот ресурс - http://tuts4you.com/...oad.php?list.17, сам сейчас буду практиковаться там.

    IsDebuggerPresent легко находится, я про первый участок кода. За ресурс спасибо, позже гляну.


    00D2C253 |. 8D85 BCFDFFFF LEA EAX,DWORD PTR SS:[EBP-244]
    00D2C259 |. 8945 08 MOV DWORD PTR SS:[EBP+8],EAX
    00D2C25C |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
    00D2C25F |. CC INT3
    00D2C260 |. 64:8F05 00000000 POP DWORD PTR FS:[0]
    00D2C267 |. 83C4 08 ADD ESP,8
    00D2C26A |. 5E POP ESI
    00D2C26B |. 8BE5 MOV ESP,EBP
    00D2C26D |. 5D POP EBP

  4. В том то и дело если ставить на чтение то чтение происходить постоянно... То есть 1 раз стрельнул а инструкция обратилась 100500 раз....

    Как у кодера на видео не выходит он 1 раз пальнул 1 раз обратилась... Тут по 500 раз обращается...

    Ну не все же игры будут так же просто ломаться, как на примерах.

  5. В общем на ohk берешь ставишь бряк на чтение на свои жизни, на иструкцию ставишь Find out what adresses, стреляешь в врага, если адрес появляется, значит эта инструкция отвечает за жизни противника, дальше скрипт пишешь.

    хм а если у врагов тоже эта инструк mov [ecx+10],(float)9999 тогда ты и их не убешь и себя ) так как у вас хп будет 9999

    вот для этого надо скрипт что у тебя было хп 9999 а у них 0 )

    ну это можно и проверить)

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

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

    [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 делай сам, если что на сайте много примеров, да и помогут если что.

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

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

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

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

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

  8. 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],(float)750 // меняем значение (число просто пример)
    jmp returnhere

    а вообще там не было сравнения ID игроков как я помню.

    http://forum.gamehac.../1830-far-cry-3

    вот темка на сайте, посмотри и поправь свой скрипт

  9. По ссылке которую дал ZOCKIR, видно что гравитация это константа которая каждый раз подгружается в игру при запуске, тут скорее всего оли надо искать.А дальше добавляешь в СЕ адрес и пишешь скрипт.Жаль нет под рукой гта, проверил бы.

  10. Очки улучшения у меня не получилось взломать в dead island, наверное в этой так же. Лучше взломай уровень сразу убьешь 3-х зайцев(увеличится атака, уровень взломаешь и очки опыта) Через ollydbg можно сделать максимальный уровень ~65000, а не 60, значения рядом лежат.

  11. у меня вообще с первой миссии вылиты при активации скрипта, но добовляет патронов работает скрипт, только вылеты каждые 5-10 сек с игры

    Попробуй в aob поставить галочки на тест байтов и оригинальный код в байтах

  12. Такая же проблема с бессмертием и бесконечной энергией, все работает весь уровень, только при переходе на другой уровень игра вылетает.

    Разобрался, инструкция игры меняется на примере энергии

    такой был участок кода на одном уровне.


    mov edx,[edx+esi+88]
    imul edx,edx,70
    fld dword ptr [edx+esi+88] <<<<<
    fstp dword ptr [esp+88]
    fld dword ptr [esp+7C]
    fld dword ptr [esp+88]

    А вот участок кода на другом


    mov edx,[esi+1B8]
    imul edx,edx,70
    fld dword ptr [edx+esi+88] <<<<<
    fstp dword ptr [esp+88]
    fld dword ptr [esp+7C]
    fld dword ptr [esp+88]

    из-за смены инструкции происходит вылет

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

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

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