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

Подключение к процессу и вызов функции.


Рекомендуемые сообщения

Долго листал форум и ненашел то что и скал. Вобщем я хочу чтобы в игре warcraft 3

1) я мог отследить что игра запустилась тобиш кто играет в warcraft 3 на айкапе знает что если игра свернута то когда игра стартанет он начнет тебе сигналезировать :)

2) Как найти и как вызвать функцию отвечающую за чат. Что бы я мог вызывать функцию и писать в чат. Эмуляция клавиатуры неподходит.

Ну вообще я понимаю что тут восновном читерские темы обсуждаются но если ктото знает как реализовать такую безобидную тему то буду очень признателен. Желательно на C# так как другия языки знаю плохо.

Ссылка на комментарий
Поделиться на другие сайты

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

С остальным пунктом, пожалте, общайтесь.

Ссылка на комментарий
Поделиться на другие сайты

Vesert,

этот функционал явно не для трейнера (трейнер помогает пройти игру с преимуществом, а где оно здесь?). И явно роль как надстройка-ускорялка для общения между живыми игроками. Очевидно, что с ботами переписываться нет смысла. Я хочу понять роль этих функций. Если роль полезная, то в чём она полезная? И какое это отношение имеет к подфоруму "Вопросы по созданию/программированию трейнеров "

Ссылка на комментарий
Поделиться на другие сайты

Цель довольно простая и ненесет всебе взлом или ещё какуюту штук. Просто упрощает жизнь скажем так. Смысл оч простой при старте игры писать команды типа -ii и тому подобные и также банальные вещи как респ руны каждые две минуты все это ненарушает правила и к взлому игр отношение не имеет. А команды можно писать и для соло карт в варике что тоже хочу сделать.

Ссылка на комментарий
Поделиться на другие сайты

Цель довольно простая и ненесет всебе взлом или ещё какуюту штук. Просто упрощает жизнь скажем так. Смысл оч простой при старте игры писать команды типа -ii и тому подобные и также банальные вещи как респ руны каждые две минуты все это ненарушает правила и к взлому игр отношение не имеет. А команды можно писать и для соло карт в варике что тоже хочу сделать.

В доту любим поиграть? А использовать даже подобные хаки не есть хорошо.

Ссылка на комментарий
Поделиться на другие сайты

Vesert,

Тебе остаётся ждать только готовой работы и подробных объяснений по этой работе. Никто не сможет тебе написать как именно и что сделать не сделав это. Т.е. "ответить на вопрос на форум = сделать самому = написать ответ на форум". Поэтому Coder и написал, что никто не будет этим заниматься (скорее всего). Я так же не знаю как делать, но я знаю как узнать как делать - через отладку, другого ответа у меня нет.

Ссылка на комментарий
Поделиться на другие сайты

ясно :( Просто я думал всетаки должнаже быть какаято последовательность действий хотябы. Там инжект или какое нибудь ослеживание через какието winapi

Ссылка на комментарий
Поделиться на другие сайты

Не, ну я попробую, каэш.

1) я мог отследить что игра запустилась тобиш кто играет в warcraft 3 на айкапе знает что если игра свернута то когда игра стартанет он начнет тебе сигналезировать :)

2) Как найти и как вызвать функцию отвечающую за чат. Что бы я мог вызывать функцию и писать в чат. Эмуляция клавиатуры неподходит.

Пункт №1:

Самое банальное: 0 - игра не создалась, 1 - создалась. Или какое-нибудь игровое значение, скажем, золото, которое появляется только после создания карты. Создаётся таймер и пару раз в секунду читает значение адреса. Если изменилось - значит игра началась - играем звук и разворачиваем окно игры на весь экран.

Пункт №2:

Когда-то давно на [gamehacking.com] видел статью на эту тему. Подопытным был SC:BW. Алгоритм там был примерно такой - что-нибудь пишется в чат, игра ставится на паузу, сообщение с указанием типа string или text ищется в памяти игры. Дальше отдалчиком ищется код, который кладёт значение в эту область памяти - и где-то рядом будет функция такого вида:


void PutStingToChat(string s) {
if(s != NULL) chat[0] = s;
}

Т.е. чат - это, скорее всего, массив строк, но это не суть важно. В ассемблерном виде вызов функции выглядит примерно так:


push offset s //Кладём в стек адрес текстовой строки, которую набрали
call 0x456789 //Вызываем функцию написания этого в чат

Это проиходит, когда набрали текст в окошке и продавили Enter.

Вот, примерно так.

Ссылка на комментарий
Поделиться на другие сайты

Вот вот это уже лучше. Сейчас я больше стал понимать этот момент. А то изначально логика небыла мне понятно за что цеплятся. Спасибо большое. Буду разбиратся.

Ссылка на комментарий
Поделиться на другие сайты

Не стану пладить темы сразу буду выкладывать вопросы по этой теме тут.

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

Вот вобщем пример первый раз адерсс был таким 0E99299C а второй раз таким 09C5299C вот собственно вопрос как узнать первую часть адреса? Что бы потом кней прибавить 299С

Ссылка на комментарий
Поделиться на другие сайты

Ставишь бряк на этот адрес (можно в СЕ), выясняешь, какая инструкция читает из этого адреса. Там смотришь реальное смещение, и адрес начала структуры. Ищешь указатель на адрес начала структуры и все. Как все это делать - в разных темах нашего форума рассматривалось, используй поиск по форуму, и читай.

Ссылка на комментарий
Поделиться на другие сайты

Где-то на у нас форуме я выложил ссылку на хороший тутор на тему форума CE. Там прямо по скринам всё понятно и очень разжёвано. Ту тему могут видеть только зарегенные пользователи на форуме CE. Поискать и там можно задав на английском что-то типа "поиск мульти поинтера".

Ещё есть статья на главной сайте у нас по GTA (какая-то часть там, Делал Xipho используя старые инструменты TSearch и т.п.)

Ссылка на комментарий
Поделиться на другие сайты

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

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

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