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

Akama

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

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

  • Посещение

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

    16

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

  1. Данный скрипт убивает проверку GFWL на целостность данных в процессе игры.

    Внимание: Нужна версия СЕ не ниже 5.6 из-за комманды aobscan.

    Скрытый текст
    
    [ENABLE]
    alloc(MyCode,1024)
    
    aobscan(CRCCheck,8b ff 55 8b ec 83 ec 20 53 56 57 8d 45 e0)
    
    label(_XLive)
    
    registersymbol(_XLive)
    
    CRCCheck:
    _XLive:
     ret 000c
    
    [DISABLE]
    
    _XLive:
     db 8b,ff,55,8b,ec,83,ec,20,53,56,57,8d,45,e0
    
    unregistersymbol(_XLive) 

     

    Проверял на Chaos Rising - помогло.

    • Плюс 2
  2. В общем всё что ты описывал это хорошо, но не нужно. Всё оказалось проще.


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

    StrongholdLegends.exe+3E82D9:
    jmp newmem
    nop
    nop
    nop
    nop
    returnhere:

    newmem:
    cmp dword ptr [ecx+178],1 // это и есть фильтр )))
    jne originalcode
    fst dword ptr [ecx+4c] // оригинальный шмат
    fcomp dword ptr [00910168] // он же...
    push eax
    mov eax,[ecx+48] // вот тут хранится максимальное значение здоровья юнита
    mov [ecx+4c],eax // тут присвоил максимум...
    pop eax
    jmp returnhere

    originalcode:
    fst dword ptr [ecx+4c]
    fcomp dword ptr [00910168]
    jmp returnhere


    [DISABLE]
    StrongholdLegends.exe+3E82D9:
    fst dword ptr [ecx+4c]
    fcomp dword ptr [00910168]

    вот этот шмат делает всех юнитов бессмертными...

  3. Щас кстати шмат кода покажу...


    Player:
    mov [pHero],esi //сохранил для последующих манипуляций...

    push eax
    mov eax,[esi+FC] // загрузил структуру золота и очков
    cmp dword ptr [iGold],1
    jne p1
    add [eax+94],#10000
    mov [iGold],0
    p1:
    cmp dword ptr [iXP],1
    jne p2
    add [eax+8c],#1000
    mov [iXP],0
    p2:
    cmp dword ptr [iPP],1
    jne p3
    add [eax+2c],#10
    mov [iPP],0
    p3:
    cmp dword ptr [iSP],1
    jne BPlayer
    add [eax+3c],#10
    mov [iSP],0
    BPlayer:
    pop eax
    fld dword ptr [esi+0000018c]
    jmp EPlayer

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

    Может проще метод есть?

  4. будут скучны в будущем из-за того что ты будешь cool-программист

    Хорошая шутка. Спасибо, поржал )))

    Вот такой вот трейнер с AboutBox'ом.

    1ff4468b7fbe4a8cb42385d2ddfaf005.png

    Ссылка на него во флудильне, где я его потестить просил...

  5. Вот это кусок кода бессмертия ГГ


    GM:
    cmp dword ptr [iGM],1
    jne BGM
    cmp dword ptr [esi+00000184],1
    jne BGM
    db 90,90,90,90,90,90
    jmp EGM
    BGM:
    fstp dword ptr [esi+0000018c]
    jmp EGM

    Хочу сделать ещё функцию one hit kill, но вот как сделать, чтоб одно другому не мешало я незнаю...

    Бессмертие и OHK используют одну и ту же инструкцию.

    Скажите, как сделать так, чтоб одно другому не мешало?

  6. Это кусок кода 5 вверх и 10 вниз.


    007E82CB - df e0 - fnstsw ax
    007E82CD - f6 c4 41 - test ah,41
    007E82D0 - 7b 25 - jnp 007e82f7
    007E82D2 - d9 41 4c - fld dword ptr [ecx+4c]
    007E82D5 - d8 64 24 04 - fsub dword ptr [esp+04]
    >>007E82D9 - d9 51 4c - fst dword ptr [ecx+4c]
    007E82DC - d8 1d 68 01 91 00 - fcomp dword ptr [00910168] : [00000000]
    007E82E2 - df e0 - fnstsw ax
    007E82E4 - f6 c4 41 - test ah,41
    007E82E7 - 7a 13 - jp 007e82fc
    007E82E9 - 8b 44 24 08 - mov eax,[esp+08]
    007E82ED - c7 41 4c 00 00 00 00 - mov [ecx+4c],00000000
    007E82F4 - 89 41 54 - mov [ecx+54],eax
    007E82F7 - b0 01 - mov al,01
    007E82F9 - c2 08 00 - ret 0008
    007E82FC - 32 c0 - xor al,al

    Это Регистры на юнитов.

    EAX=43160037
    EBX=80000002
    ECX=3425DDC0
    EDX=0000000B
    ESI=3425DDC0
    EDI=342762D0
    EBP=00840089
    ESP=0012FA60
    EIP=007E82DC

    Probable base pointer =3425DDC0


    EAX=40A00037
    EBX=20000000
    ECX=33F2DE50
    EDX=0000000B
    ESI=33F2DE50
    EDI=010806AD
    EBP=010806AD
    ESP=0012F86C
    EIP=007E82DC

    Probable base pointer =33F2DE50

  7. Решил над игрушкой поиздеваться, нашёл всё что мог.

    Теперь пытаюсь найти адреса здоровья юнитов, и тут загвоздка: это не float и не 4 байта.

    Вопрос: может быть здоровье типом байт (т.е. 255 это полностью здоровый, а 0 труп)?

    P.S. здоровье у юнитов полоской отображается...

    Ложная тревога, пока тему создавал сам нашёл что там и как )))

    В общем здоровье юнитов там байтовое значение...

    Хотя, проблема всё же есть. Когда я смотрю какие значения проскакивают в той инструкции, что со значением здоровья работает, то понимаю что нет там того значения, а есть какое-то float.

    Вопрос: как всё же выйти на инстркцию, которая именно с byte значением работает?

    Однако, интересный факт: и float, и byte значения отвечают за одно и то же, то есть по сути можно с любым типом работать...

    StrongholdLegends.exe+3E82D9

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

    Кому не сложно, помогите плз фильтр сделать на свой-чужой!

  8. SER[G]ANT

    Всё равно крах игры, так же как и с моим.

    MasterGH

    Твой скрипт почему-то просто не компилится, все твои варианты перепробовал.

    Я так думаю, что указатель на гг не берётся, либо с ошибками


    push ecx
    mov ecx,[witcher.EXE+850EAC]
    mov ecx,[ecx+B8]
    mov [iPlayerID],ecx
    pop ecx

    Вот тут что-то не то, хотя могу и ошибаться...

  9. В общем такая проблема возникла - написал скрипт для бессмертия, в котором фильтр на гг делаю.


    [ENABLE]
    alloc(newmem,2048)
    label(GodMod)
    label(ExitGM)
    label(BackGM)
    label(iPlayerID)
    label(iGM)
    registersymbol(iPlayerID)
    registersymbol(iGM)

    witcher.exe+37B1B0:
    jmp GodMod
    ExitGM:

    newmem:
    GodMod:
    push ecx
    mov ecx,[witcher.EXE+850EAC]
    mov ecx,[ecx+B8]
    mov [iPlayerID],ecx
    pop ecx

    cmp dword ptr [iGM],1
    jne BackGM
    cmp esi,[iPlayerID]
    jne BackGM
    mov [esi+48],4640E400
    jmp ExitGM
    BackGM:
    movss [esi+48],xmm0
    jmp ExitGM

    iPlayerID:
    dd 0

    iGM:
    dd 0

    [DISABLE]
    witcher.exe+37B1B0:
    movss [esi+48],xmm0

    Какое-то время нормально игра идёт, а потом крашит.

    Вопрос: виден ли с первого взгляда какой-то ляп в коде? Я уже несколько часов его исправляю, глаз намылился. Если всё нормально, то из-за чего ещё крашить может?

  10. Heroes of Might and Magic V: Tribes of the East v3.1

    Функции

    1) Передвижение (Герои игрока передвигаются без перехода хода)

    2) Войско (каждый отряд героя равен 2350)

    3) Ресурсы (много ресурсов+темная энергия для некромантов)

    4) Строительство (строительство без перехода хода)

    Homm 5. Повелители Орды.zip

    post-4-1330775821,79_thumb.jpg

    • Плюс 1
  11. Mass Effect (золотое издание) 1.0.1а

    Функции:

    1) Бессмертие

    2) Нерушимый Мако

    3) Откл. перегрев

    4) Убийство с одного выстрела

    5) Бесконечные гранаты

    6) Бесконечный пенициллин

    7) 70 очков умения

    8) Много унигеля

    9) 999999 кредитов

    10) Обнулить очки умений

    post-4-1330775176,64_thumb.jpg

    ME Gold Trainer +10.zip

    • Плюс 2
×
×
  • Создать...

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

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