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

doc9009

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

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

  • Посещение

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

    8

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

  1. при бряке на функцию IsDebuggerPresent попадаю в этот участок кодаYXkOREog.png и тут у меня сразу голова пухнет... P.S сильно не бейте ассемблер пока в процессе изучения.

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

  3. Запарился уже никак не могу собрать её. Опишу мои действия.

    1) Открываю консоль VS2012 от имени администратора

    2) Перехожу в папку с Detours: cd C:\Program Files (x86)\Microsoft Research\Detours Express 3.0

    3) Объявляю переменную окружения: set DETOURS_TARGET_PROCESSOR=x86

    4) Компилирую nmake all

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

  4. Тоесть я хочу сам записать любое значение по смещению,которому я хочу из переменной.

    ты сам понял, что написал?)

    В Lua не силен, но осмелюсь предположить, что у тебя смещение твое не в hex формате. Во-вторых вполне возможно, что твоя цепочка оффсетов не действительна.

  5. c использованием virtualprotect, есть у кодера видео-уроки например, просмотри все видео у него на канале, там все пронумеровано и по порядку, даже плейлисты созданы,рай для новичка. На счет второго я точно не знаю.

  6. Всем привет, понимаю что не тут пишу, новую тему создать пока не могу, хотел разобраться с СЕ.

    1) Как правильно запускать СЕ под Win7 64? (помимо аз админ, еще есть нюансы?)

    2) Для включения спидхака, что необходимо?

    3) Редактирование памяти тоже не получается (память получается как read, хотелось бы как write)?

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

    1) От имени администратора вполне сойдет

    2) Найти смещение на адрес скорости движения, стрельбы и т.д. в структуре игрока

    3) Надо снимать защиту на запись функцией VirtualProtect о ней можно почитать на MSDN

    4) Вот ссылка на канал Coder'a: http://www.youtube.com/channel/UCknLVc8AkfMbB5x9v9AZLcg

    Вот ссылка на канал keng'a: http://www.youtube.com/channel/UCmyAh5Rwmr-migt1SyVd5Mw

    Дальше смотри разделы форума там тоже много полезной информации

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

    Итак начнем... Допустим у нас есть инструкция(или набор инструкций) для работы со здоровьем игрока и его противника и вот мы хотим сделать игроку бессмертие и убийство его врагов с одного удара, но при этом мы бы еще хотели бы, чтобы эти опции работали отдельно друг от друга, сейчас я покажу Вам как это осуществить. Внимание! Вам надо знать хотя бы азы ассемблера, чтобы вникнуть в суть.

    1) Допустим вы нашли адрес здоровья вашего игрока, теперь Вам надо найти ID вашего игрока, если не знаете как это сделать идете и смотрите эти видосы

    http://forum.gamehac...?showtopic=1577

    http://forum.gamehac...?showtopic=1940

    3)Теперь приступим к написанию скрипта, но для начала я добавлю пояснения: [id offset] - оффсет, по которому хранится ID игрока в классе игрока, IDplayer - ид вашего игрока, instrPlayerHP - инструкции работающие с жизнью игрока, например:


    movss xmm1,[esi+000078C0]
    addss xmm1,xmm0
    movss [esi+000078C0],xmm1

    , Создадим метку, где будет проверка наш ли ID пришел в инструкцию и в зависимости от результата будем предпринимать дальнейшие действия:


    conditions:
    cmp dword ptr [id offset], idplayer
    jne OneHitKill // если idplayer не равен id тому, что лежит в [id offset], то прыгаем на метку OneHitKill
    jmp GodMod // иначе прыгаем на метку GodMod

    Теперь создадим метку GodMod и опишем действия происходящие там:


    GodMod:
    cmp dword ptr [gmFlag],0
    je originalcode //если опция GodMod отключена, то прыгаем на метку original code
    jmp returnhere // иначе просто продолжаем выполнение кода игры пропуская инструкции работы с HP

    Опишем метку OneHitKill, на которую происходит прыжок, если нам приходит Id не нашего игрока


    OneHitKill:
    cmp dword ptr[ohkFlag],0
    je originalcode // если опция OneHitKill отключена, то прыгаем на метку originalcode
    //иначе тут предпринимаем действия по обнулению HP противника
    jmp returnhere

    Вот и все ничего сложного! Флаги принимают значения 0/1, вкл/выкл. соответственно:


    gmFlag:
    dd 1
    ohkFlag:
    dd 1

    Вот исходный код скрипта для большей наглядности


    newmem:

    conditions:
    cmp dword ptr [id offset], idplayer
    jne OneHitKill
    jmp GodMod

    GodMod:
    cmp dword ptr [gmFlag],0
    je originalcode
    jmp returnhere

    OneHitKill:
    cmp dword ptr[ohkFlag],0
    je originalcode
    //тут предпринимаем действия по обнулению HP противника
    jmp returnhere

    ///////////////////////////////////////////////////
    originalcode:
    instrPlayerHP
    jmp returnhere

    gmFlag:
    dd 1

    ohkFlag:
    dd 1

  8. Вот исправленный скрипт GodMode+OneHitKill


    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)
    label(originalcode)
    label(player)
    registersymbol(player)
    label(GodMod)
    label(OneHitKill)
    label(gmFlag)
    label(ohkFlag)
    label(conditions)
    aobscan(aob_Player, f30f108ec0780000f30f58c8f30f118ec0780000f30f108fcc0b0000f30f58c8f30f118fcc0b0000)

    newmem:

    conditions:
    cmp dword ptr [esi+10],3E8
    jne OneHitKill
    jmp GodMod

    GodMod:
    cmp dword ptr [gmFlag],0
    je originalcode
    jmp returnhere

    OneHitKill:
    cmp dword ptr[ohkFlag],0
    je originalcode
    movss xmm1,[esi+000078C0]
    addss xmm1,xmm0
    movss [esi+000078C0],xmm1
    mov [esi+000078C0],(float)0
    jmp returnhere

    ///////////////////////////////////////////////////
    originalcode:
    movss xmm1,[esi+000078C0]
    addss xmm1,xmm0
    movss [esi+000078C0],xmm1
    jmp returnhere

    gmFlag:
    dd 1

    ohkFlag:
    dd 1

    aob_Player:
    player:
    jmp newmem
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    returnhere:



    [DISABLE]
    player:
    movss xmm1,[esi+000078C0]
    addss xmm1,xmm0
    movss [esi+000078C0],xmm1
    dealloc(newmem)
    unregistersymbol(player)
    unregistersymbol(gmFlag)
    unregistersymbol(ohkFlag)

    Флаги gmFlag и ohkFlag принимают значения 0/1 (вкл./откл. опции)

    P.S.: отдельное спасибо ZOCKIR за наводку

  9. у меня вывод только один, все нормально стало только после установки 3-го обновления на студию... лично мое мнение, да 2012 хороша тем, что код наглядней выглядит, подсказки сделали более лучше, но факт есть факт я убил 4 дня думая над тем, что же у меня такое, а проблема оказалась там, где я её не ожидал...

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

    http://youtu.be/GqNFqWztz2A

  11. переустановил винду(поставил не лицензию) вот ссылка на этот дистр.[CENSORED] и все равно dll инжектятся, но эффекту ноль, как так? уже на 3 компах проверял тоже самое... окна на всех компах разные стоят

  12. умно придумано сам бы сразу не догадался (мало пока опыта в использовании ассемблера), на днях проверю, т. к. проблемы с win7, но по сути скрипт почти верный, чуток поправлю и будет работать на ура.

    P.S: не понял суть этой строки aobHealth+B: почему +B?

  13. Вижу 2 причины:

    1) Кривая версия Windows

    2) Что-то перехватывает инжект

    1) винда чистая неделю назад ставил, лицензия windows 7 ult устанавливал с коробки так сказать от майкрософта

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

  14. блин, уже все перепробовал.... не проходит инжект и все... уже по рихтеру 1 в 1 все делал все равно. Скинь свою тестовую длл и инжектор я попробую, только dll с исходником сами понимаете... как вообще можно понять в чем у меня ошибка? в exe файлах при компиляции можно пошаговую отладку делать, а тут не катит.

  15. OneHitKill + GodMod


    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)
    label(hack_1)
    label(hack)
    label(unhack)
    aobscan(aob_hack_1,f30f58c8f30f118ec0780000f30f108fcc0b0000f30f58c8f30f118fcc0b0000d9442418)
    registersymbol(hack_1)

    newmem:
    cmp dword ptr [esi+10],3E8
    je hack
    jmp unhack

    hack:
    jmp returnhere
    unhack:
    addss xmm1,xmm0
    movss [esi+000078C0],xmm1
    mov [esi+78C0],(float)0
    jmp returnhere

    aob_hack_1:
    hack_1:
    jmp newmem
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    returnhere:



    [DISABLE]
    hack_1:
    addss xmm1,xmm0
    movss [esi+000078C0],xmm1
    dealloc(newmem)
    unregistersymbol(hack_1)

    OneHitKill отдельно от режима бога еще пока не придумал как сделать

  16. как я понял эти регистры для чисел с плавающей точкой. Перелопатил гугл так и не понял как в этих регистрах хранятся эти самые числа. То есть например вопрос как в регистр xmm0 поместить значение 1. Пробовал так addss xmm1,(single)1 компилятор ругается, пробовал так addss xmm1,(float)1 результат тот же

  17. попробовал все равно не работает хоть расшибись.... вроде все правильно, а выпендривается

    что-то не то... 100% работающие логгеры d3d тоже не работают на всех играх у меня... а инжекторы всей кучей орут, что все нормально приинжектилось

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

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

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