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

Loner

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

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

  • Посещение

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

    2

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

  1. Так нашёл я адрес координат камеры.

    Нашёл инструкции записи координат

    6b2ec45e218401d78dae0eb3f9e5ecc6.png

    Когда я их отключаю (nop)

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

    И я могу использовать свои координаты. Но появляется проблема в тем что перестают работать указатели на эти сами координаты

    6a8051c3b5566e077f24944fe93d1d5e.png


    Как  только возвращаешь всё обратно..указатели снова работают

    3d46dc164b647593598c92ce7a683cd9.png
     

    как быть в таком случае?

     

  2. Занялся созданием системы для администратора серверов данной игры.

    Необходимо реализовать функцию свободного полёта камеры.

    Возникло несколько вопросов.

    Как камера привязывается к игроку?

    То есть есть например 3 координаты X,Y, Z объекта (игрока)

    А у камеры кроме этих же координаты так же и углы поворота X1,Y1

     

    Координаты камеры хранятся отдельно в памяти или как то связаны с координатами игрока.

    Как начинать поиск таких значений. И как реализовать свободный полёт.

    В моём понимании нужно найти все координаты..Занопить (в грубом) понимании инструкции записи..ну и там естественно писать свои нужные данные.

    Советы и любая помощь приветствуются 

     

     

  3. Всем привет...Давно меня тут не было. То в армию забрали.. то работа. В свободное время написал движок трейнера. Пока что функций там мало. Чтение да запись различных данных в память, плюс работа с многоуровневыми указателями, хук на клавиатуру, автоопределение процесса игры (неважно в каком порядке запускать игру и трейнер).  Исходный код пока выкидывать не буду..Так как я там скоро голову сам сломаю.

    Вот результат моего творения.

    665f0eb55598caa512f0a1ea5219ae39.jpg

    Вот ссылка на трейнер. Как загрузить на форум так и не понял..Или может у меня прав нет.

    http://rgho.st/7YTnvR9pP

    Прошу проверить работоспособность. (Запуск,отображение элементов, проигрывание MOD). У кого есть игра могут и там проверить (функционал рабочий)

  4. Я ломал эту игру. Взломал всё кроме быстрой перезарядки умений.

     

    Как уже писали выше при строительстве каждого юнита выделяется новый адрес в памяти. И он активен до окончания создания юнита. Так что поиск нужно делать методом увеличилось и всё.

    Также нужно писать фильтр свой чужой (на ботов тоже действует).

     

    Насчёт читов в игре. В игре есть некоторое подобие античита. Синхронизация игры происходит по фреймам. Когда то аЦЦкие хакеры писали, что если количество денег в игре установить -over10000 именно отрацательное значение. То античит не палит действия(по крайней мере с деньгами). Сам не проверял.

     

    Да и мод Contra ведёт себя нестабильно в целом да ещё при игре по сети. в 70% случаев происходит рассинхронизация по непонятным причинам.

     

  5. но что такое (*8+6), почему он так делал?

    может так значение шифруется..я уже много игр встречал...где значение того что на экране отличается от того, что в памяти. Простой пример 

    Warcraft III: The Frozen Throne 

     

    значение золота в игре и на экране высчитывается так  экранное значение = значение в памяти /8 или на 10..точно не помню

  6. Помогите написать мне тренер и обход.

    Насколько я помню, на форуме запрещён взлом онлайн игр..В таком случае прилетает пред пользователю, создавшему топик. Так что ты обречён на самом раннем этапе. :excl:

    Чёрт..давно же меня не было тут...оказывается и мультик разрешили ломать :mad:

  7. В общем ..моё долгое отсутствие на форме связано с учёбой...

    Начал открывать для себя ASM.

    Собственно есть код.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    double __attribute__((stdcall)) func(int a,int b,int c,int d);
    extern __attribute__((fastcall)) int funcX(int a,int b,int c);
    extern __attribute__((cdecl)) int funcY(int a,int b,int c,int d);
    int main(int argc, char *argv[])
    {
    if(argc!=5)
    {
    printf("Неверное количество параметров!!!\n");
    return 1;
    }
    int result = func(atoi(argv[1]),atoi(argv[2]),atoi(argv[3]),atoi(argv[4]));
    printf("Result %d\n",result);
    return 0;
    }
    extern __attribute__((fastcall)) int funcX(int a,int b,int c)
    {
    //printf("%d %d %d",a, ;
    return cos(a)+cos( ;
    }

    extern __attribute__((cdecl)) int funcY(int a,int b,int c,int d)
    {
    printf("%d %d %d %d",a,b,c,d);
    return a+b-c-d;
    }

    Нужно написать на ASM следующую программу.

    При запуске программы 4 переменные типа INT передаются через _stdcall в модуль написанный на асме.

    Потом из этого модуля вызываются функции funcX и funcY с передачей соответствующих параметров(через _fastcall

    _cdecl соответственно) в модуль написанный на СИ

    В модуле происходят математические вычисления..после чего результат передаётся обратно в модуль на ASM..там происходит сложение результатов..А результатом работы программы должна быть сумма результатов 2 функций.

    Код С Компилирую под GNU на Linux

    ASM под NASM на Linux

    C Си разобрался вроде..а вот с ASM беда...теорию читал...а примеров нормальных не нашёл.

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

    Я знаю что код коротенький будет..и для скиллов это много времени не займёт.

    Вот что у меня есть...не знаю..написал как думал.

    Вот быдло-код на ASM

    global func
    extern funcX
    extern funcY
    section .text
    func: ;2
    push EBP
    mov EBP, ESP
    mov EAX,[EBP+20]
    push EAX
    mov EAX,[EBP+16]
    push EAX
    mov EAX,[EBP+12]
    push EAX
    mov EAX,[EBP+8]
    push EAX

    mov ECX,[EBP+20]
    mov EDX,[EBP+16]
    call funcX
    mov EBX,EAX

    ;call funcX ;4
    ;add ESP, 4 ;3
    ;mov ESP, EBP
    ;pop EBP ;2
    ;add EAX,EBX
    ret 8 ;0

  8. Настало время научиться работать с формами на Pelles C.

    Возник 1 вопрос. Информации в интернете почти нету для Си (на C++ навалом...)

    Какой модуль подключать??

    Может если у вас не такие кривые руки как у меня..может ткнёте пальцем

    Как это можно сделать на Си?

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

    Создание окна и пару чекбоксов. Дальше попробую сам разобраться. :closeyes:

    на пеллесе нельзя с формами работать(

    1902579a259f00d10becf42a2f18dde9.jpg

  9. Всем привет - вот сталкнулся с такой проблемой не как не могу ее решить. Может вы поможете мне, вообщем нашёл я патроны, жизни, кластеры, и.т.д но не могу ни как найти стамину. Все варианты поиска перепробывал не выходит. Прошу вашей помощи. Заранее всем спасибо кто откликнится на мой поставленный вопрос.

    тоже на нашёл.

    такое чувство что адресс со значением создаётся только во время использования.Потому что все остальные способы перепробывал

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

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

    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

    Чуть позже запишу наглядный видеоурок на примере, какой-нибудь игры.

    извините..опять я со своими проблемами..

    если можете посмотрите игру C&C generals Zero hour v 1.04 (2003 года игра.стратегия)...попробуйте взломать таймер супероружия(ядерной ракеты,лазерный луч,PM-17).

    Я точно знаю что одна инструкция отвечает за изменение всех таймеров..

    будь это доп умения или спец умения.

    Так же там довольно хитро запрятаны значения именно таймеров.

    Плюс вас ждёт головоломка с инструкциями.

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

    Получается полный набор.

    Качать репак рекомендую от R.G Механики

    Я умудрился запустить данную игру даже на win8 х64 без танцев

  11. Если ты про 13 пост, там не используется стричч изображение.

    нет. 15 пост. 1 картинка

    Кому надо этот чёртов квадрат на пол экрнана..

    PS запилил хук на Burnout paradise с прозрачной текстуркой..смотрится аццкО. Шрифт красного цвета..все видно..Для каждой игры можно подобрать цвет.

    И на глаза не давит.Только тут проблемы с самим хуком..а так всё огонь

    ZOCKIR http://forum.gamehacklab.ru/topic/2177-directx-%D1%85%D1%83%D0%BA/ проблема хука и windows 8

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

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

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