Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/30: Рейтинг темы: голосов - 30, средняя оценка - 4.53
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
1

Игровой бот

29.05.2010, 14:31. Показов 5568. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нахожусь в процессе написания бота для одной игры.
хотелось бы спросить совета и обсудить некоторые вопросы.

Бот для начала работает как кликер (кликает в активном окне игры по всяким панелькам), но так как клиент игры общается с сервером при помощи посылки и принятия пакетов, хотелось бы программными средствами отлавливать эти пакеты и анализировать, и чтобы бот принимал решения на основе этого анализа.
(Есть вариант анализировать информацию с экрана по пикселям, но это очень муторно и неточно)

1.Есть ли в Visual Studio встроенный сниффер пакетов? или что-то в этом роде?
2.Если нету , подскажите как организовать мою задумку?
3.Правильно ли я вообще думаю?)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2010, 14:31
Ответы с готовыми решениями:

C# БОТ Для БК
По пунктам: №1. Я новичек №2. Хочу сделать элементарного бота для БК...

Бот вконтакте
Обработку команд сделал,но когда я пишу команду , которая отсутствует в базе,бот начинает очень...

Бот накрутчик
Как сделать программу с прокси и ввывод капчи в форме что бы можно было накручивать голоса на...

Бот поиск по сайту
Доброго времени суток! Хочу написать бота который будет посылать запрос на поиск на сайте....

16
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
29.05.2010, 16:32 2
пишите свой вариант "кеша" для этой игры и вы сможете парсить данные в виде текста(скрипты, html, css) в любой формат

П.СЫ. есть в наличии, цена 100$ в личку )
0
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
29.05.2010, 16:53  [ТС] 3
ну как вариант, только хочется самому всё таки)
всё еще хочу узнать ответы на мои вопросы.
0
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
29.05.2010, 18:41 4
ну так я вам ответил уже как это сделать
0
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
30.05.2010, 12:07  [ТС] 5
можно поподробнее?)) что за кеш для игры?

Добавлено через 14 часов 29 минут
накопал в сторону библиотеки PSSDK. вроде библиотека снифера, кто-нибудь с этим уже работал?
0
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
30.05.2010, 23:58 6
пишите или в личку или в аську, а то я уже предупреждение получил
0
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
31.05.2010, 14:11  [ТС] 7
вариант IICuX'а, для браузерных игр, мне нужно для обычной оконной,
тема до сих пор актуальна, подскажите пжл.
0
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
31.05.2010, 15:21 8
сокеты
0
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
01.06.2010, 20:16  [ТС] 9
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
        string IPaddr = "87.237.39.196";
        int PortNum = 80;
        TcpClient Client = new TcpClient();
        Socket Sock;
        Thread ListenThread;
        byte[] GetData;
 
        private void button1_Click(object sender, EventArgs e)
        {            
            if (Connect(IPaddr, PortNum) == true)
            {
                ListenThread = new Thread(Listen);
                ListenThread.Start();
            }
        }
 
        private bool Connect(string IP, int Port)
        {
            rtb.Text += "Соединение с сервером...\n";
            try
            {
                Client.Connect(IP, Port);
                rtb.Text += "Успешно!\n";
                Sock = Client.Client;
                return true;
            }
            catch
            {
                rtb.Text += "Сервер временно отключен\n";
                return false;
            }
        }
 
        private void Listen()
        {
            while (true)
            {
                try
                {
                    GetData = new byte[1024];
                    Sock.Receive(GetData);
                    rtb.Text += Encoding.Default.GetString(GetData) + "\n";
                }
                catch
                {
                }
            }
        }
что я делаю не так?
игра вообще использует порт 26000
но к нему не коннектится, видимо он занят самой игрой.
к 80 порту подключается, но данные не получает никакие, есть идеи?

Добавлено через 17 часов 31 минуту
теме ап, никто не занимался подобными проектами? очень помощь надо ^,^
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
01.06.2010, 20:34 10
мм, насколько я знаю снифферы делают на сырых сокетах
вот например сниффер http://www.codeproject.com/KB/... iffer.aspx
1
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
03.06.2010, 18:14  [ТС] 11
пока времени нету, чуть позже погляжу и расскажу о результатах)

Добавлено через 6 часов 17 минут
мм поглядел, возник другой вопрос. Какими пакетами обменивается клиент с сервером в онлайн игре?
IP/UDP/TCP? или еще чем-то? или я что-то путаю?
0
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
03.06.2010, 19:02 12
EatingPeopleIsFun, обычно в играх используют UDP, но чтобы узнать наверняка - посмотри пакеты любым снифером, например wireshark

Добавлено через 47 секунд
Заодно узнаешь реально ли что-то сделать с пакетами (уверен там все зашифровано)
0
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
03.06.2010, 21:53  [ТС] 13
мм..а какие еще способы есть данные с игры анализировать, кроме как попиксельно?
0
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
04.06.2010, 23:19  [ТС] 14
мм...как программно можно обратиться к ячейкам памяти? может есть какие-нибудь библиотеки?
0
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
04.06.2010, 23:31 15
Цитата Сообщение от EatingPeopleIsFun Посмотреть сообщение
как программно можно обратиться к ячейкам памяти?
С помощью указателей. Только система даже для с++ (что уж говорить про c#) всячески препятствует такому подходу и не разрешает читать/писать чужую память. Хотя, думаю возможно на асемблере.
Самому интересно, как работают программы, наподобие artmoney, почему она имеют доступ к чужой памяти?

А вообще в онлайн-играх все данные хранятся на сервере.
1
70 / 69 / 10
Регистрация: 14.06.2009
Сообщений: 310
Записей в блоге: 1
04.06.2010, 23:56  [ТС] 16
спасибо, по-прежнему ищу способы.
0
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 7
05.06.2010, 12:03 17
В большинстве случаев все боты - симулируют настоящий клиент, тебе нужно узнать защиту данного сервера и как реализуется проверка, тогда ты сможешь как игровой клиент подключится к нему, а там это уже делай что хочешь =)
1
05.06.2010, 12:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2010, 12:03
Помогаю со студенческими работами здесь

Бот Telegram не работает
Не работает бот. При попытке запустить консольное приложение,через несколько секунд появляется...

Как реализовать бот чат?
Допустим у меня есть 2 акк , я хочу вести между ними тривиальную переписку , но не могу...

Бот для группы телеграмм
Доброго времени суток! Ребята интересует толковый бот для канала телеграмм, небольшой канал для...

Бот для MMORPG Lineage 2
Приветствую! Хочу написать программу бот/радар для MMO RPG Lineage 2. Подскажите куда копать, с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru