Steam bot

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
VIT
Майор
Майор
Сообщения: 831
Зарегистрирован: 15.01.2007
Откуда: ::1
Благодарил (а): 69 раз
Поблагодарили: 451 раз
Контактная информация:

#1 Сообщение 27.08.2012, 23:11

Кому что известно про такое чудо, есть ли в паблике
есть ли у кого наработки или знания как написать бота для стим клиента(или его эмулятор)
основная фунция бота - проводить трэйды самостоятельно

В природе боты есть, примеры:
tf2scrap.com
tf2wh.com

Аватара пользователя
dimon222
Майор
Майор
Сообщения: 599
Зарегистрирован: 08.03.2007
Откуда: Hell
Благодарил (а): 19 раз
Поблагодарили: 188 раз

#2 Сообщение 28.08.2012, 05:19

Ещё есть бот у PlayBlink. Они теперь гифты собирают и раздают.

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

В сети знаю только один публичный.
Скрытый текст. Нужно быть зарегистрированным и иметь сообщений: 480

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#3 Сообщение 29.08.2012, 21:11

Писал пару месяцев назад такую вещь.

Вот пару советов:
  • Авторизация на steamcommunity.com весьма хитрая, это вроде бы rsa, но я так и не смог сгенерировать правильный rsa ключ через c#, пришлось юзать порт google v8 и яваскрипт самих вальв.
  • Весь трейдинг построен на http post запросах + json с проверкой http referer (должен быть http://steamcommunity.com/trade/)
  • Надо постоянно долбиться в steamcommunity.com/trade/steamid64 того с кем идет трейд/tradestatus/ иначе трейдинг автоматом прикроется сервером.
  • Все запросы к трейдинг апи подкрепляются id сессии, которую можно выудить из нижней части страницы трейдинга (var g_sessionID = "что-то там")
Так что будь осторожен, помню случай с банами бота TF2WH.
Там было дело в другом. Через них вроде бы сливали ворованные итемы и в итоге они договорились с вальв о каком-то апи для контроля своих ботов со стороны вальв.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#4 Сообщение 29.08.2012, 21:20

Megalan писал(а):Авторизация на steamcommunity.com весьма хитрая, это вроде бы rsa, но я так и не смог сгенерировать правильный rsa ключ через c#, пришлось юзать порт google v8 и яваскрипт самих вальв.
Это та, которая OpenID? Я её разбирал примерно пол года назад, нашёл пару багов, зарепортил даже.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#5 Сообщение 29.08.2012, 21:21

Нет. Я про авторизацию чтобы войти на сам сайт комьюнити. (без авторизации трейдинг не работает)

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#6 Сообщение 29.08.2012, 21:29

А, понял. Там разве не просто форма? В смысле, простая авторизация в их сайте + забираешь куки оттуда?

Добавлено спустя 1 минуту 44 секунды:
По теме: вот, нагуглил за 3 минуты, код на питоне http://www.afronanny.org/?p=6

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#7 Сообщение 29.08.2012, 21:47

MOZGIII писал(а):А, понял. Там разве не просто форма? В смысле, простая авторизация в их сайте + забираешь куки оттуда?

Добавлено спустя 1 минуту 44 секунды:
По теме: вот, нагуглил за 3 минуты, код на питоне http://www.afronanny.org/?p=6
1. Авторизация происходит в несколько этапов, примерно так: Получение модуля, экспоненты и таймштампа для rsa с серверов вальв, генерация публичного ключа из них, получение rsa шифра от пароля пользователя с помощью этого ключа, конвертация в base64 и отправка его обратно на сервера вальв. На клиенте все происходит в ява скрипте на странице и у каждого пользователя модуль и экспонента конечно же разные. И только после этого пользователя наконец логинит и можно забрать куки.
2. Опять же без авторизации, но этоткод как справочную информацию я тоже использовал.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#8 Сообщение 29.08.2012, 22:18

Megalan
То есть в форме логина на https://steamcommunity.com/login/home реализован RSA?
Омг, и правда... молодцы Valve.

Я реализовывал RSA на си, там нужна длинная арифметика и всё такое. Проще воспользоваться OpenSSL, там есть встроенный генератор. Или воспользоваться языками уровнем повыше, вроде того-же питона.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#9 Сообщение 29.08.2012, 22:26

MOZGIII писал(а):Megalan
То есть в форме логина на https://steamcommunity.com/login/home реализован RSA?
Омг, и правда... молодцы Valve.

Я реализовывал RSA на си, там нужна длинная арифметика и всё такое. Проще воспользоваться OpenSSL, там есть встроенный генератор. Или воспользоваться языками уровнем повыше, вроде того-же питона.
Там не совсем обычный rsa по-моему. По крайней мере все готовые решения (включая встроенные в сам .net) не работали. Возможно дело в том, что у вальв в шифровании используется еще и таймштамп, фиг его знает.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#10 Сообщение 29.08.2012, 22:31

Megalan
Ну, могу на днях посмотреть, я с RSA достаточно поработал в своё время чтобы понимать что там к чему.

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#11 Сообщение 29.08.2012, 22:40

MOZGIII писал(а):То есть в форме логина на https://steamcommunity.com/login/home реализован RSA?
Омг, и правда... молодцы Valve.
Даже не гугля уверен что уже есть готовые реализации RSA на JS, максимум чуть доработали под себя.
Другое дело зачем они это сделали, форма как минимум через https идет, на крайний случай можно просто уникально соленый хеш передать.

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#12 Сообщение 29.08.2012, 23:50

Pr0Ger
Но всё равно молодцы, хотя и JS-реализация у них, да, не своя.

Зачем сделали - непонятно, но возможно они что-то такое знают, чего не знаем мы xD
SSL вроде достаточно защищает, а главное - механизм тот-же.
Хотя, тут они генерируют свой паблик кей для каждого логина. Правда непонятно, чем это сложнее взломать, ведь берут они же сами его простым гетом с логином в параметре.

Аватара пользователя
Sidex44
Лейтенант
Лейтенант
Сообщения: 102
Зарегистрирован: 03.01.2012
Благодарил (а): 2 раза
Контактная информация:

#13 Сообщение 15.05.2013, 23:22

Трейд ботов становится все больше и больше. Никто не видел их в паблике уже в готовом виде, ожидающий только настройки?

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#14 Сообщение 18.05.2013, 01:50

В готовом виде не видел, но на гх точно была парочка репо - можно поискать там.

Аватара пользователя
Megalan
Разработчик
Разработчик
Сообщения: 335
Зарегистрирован: 02.04.2007
Благодарил (а): 1 раз
Поблагодарили: 29 раз
Контактная информация:

#15 Сообщение 19.05.2013, 19:15

Готовых нет или их довольно сложно найти, уж слишком это узкоспециализированная вещь. Их пишут под конкретную задачу и универсального бота вряд ли вообще можно написать. Все-равно придется делать некое подобие скриптов или плагинов. Но при наличии прямых рук такой бот без проблем пишется за 1-2 вечера с помощью steamkit2 и информации из этой темы. Вроде вальв ничего особо не меняла с момента моего последнего ковыряния в трейдинге.

Ответить