Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Zombot (Клиент для игры Зомби ферма) [Обсуждение]

-

Свободное обсуждение

- Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей

Ответ
 
Опции темы
Старый 24.08.2014, 15:10   #3256
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от dreamerag2Посмотреть сообщение
есть кто трудящиеся над парсером SWF sig или какими другими методами на функционале питона. готов присоединиться к разработке. напишите какой метод планируете осуществить. обращайтесь в [vk]39245930

Я сделал "расшифровку в лоб" - по совпадению с шестнадцатеричной "маской". По идее работает, но не уверен, что на 100% корректно. В целом смысл такой:

1. SWF приходит в "сжатом" виде, поэтому если первые три буквы CWS, то все, начиная с 8 байта декомпрессируем.

2. Потом иду по данным (с 1-байтным шагом), и ищу строчку "frame1". Это начала региона, где хранятся строковые константы (в частности названия внешних функций). Разбираю их в "список", чтобы потом найти нужную функцию по порядковому номеру.

3. Потом ищу начало кода. Код всегда начинается с "_loc2_:String = param1;", что соответствует шестнадцатеричной маске 0xD1, 0x85, 0xD6. Заканчивается блок кода шестнадцатеричной маской 0xD2, 0x48 (return _loc2_

В файле пять строк, их, опять же, распознаю по "шаблонам". Проблема с "нижним регистром" вмесо "большого регистра" - смотрю тип функции в массиве, созданном в шаге 2. В результате генерю питоновский файл с полным названием функции (salt_xxxxx.py), который потом использую из message_factory.

То есть все вроде логично, вроде на настоящий момент работает, но до состояния "альфа" (даже не "бета") явно далеко. Так как у меня "многопользовательская обстановка", то делаю названия файлов кода соли уникальными, а значит через некоторое время их скапливается несколько тысяч... Иногда не совсем корректно происходит "обновление кода соли", так что игра "циклится" с сообщением "неправильная подпись" и т.д... Править это все дело времени и сил нет, то есть до "публикации" я его вряд ли доведу. Поначалу было желание сделать полный "парсер" кода (как минимум для всех возможных новых функций), но опять же, до этого вряд ли руки дойдут.
  Ответить с цитированием
Старый 25.08.2014, 01:10   #3257
 Разведчик
Аватар для megabyte0
 
megabyte0 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от mike4kzПосмотреть сообщение
Проблема с "нижним регистром" вместо "большого регистра" - смотрю тип функции в массиве, созданном в шаге 2.

А если их там две?

Вообще, я это не делаю, потому что у меня до сих пор осталась проблема с преобразованием номера класса/функции в смещение внутри таблицы. Хотя оно и сделано в ffdec с открытыми исходниками на github, пока что найти, где именно это там, не смог Всего раза 2 пытался их читать. С этим всё делается просто, без этого ничо делать не стоит, имхо.
Цитата:
Сообщение от mike4kzПосмотреть сообщение
то делаю названия файлов кода соли уникальными

Так а файлы зачем? Не проще вернуть строку и скормить в eval, или, на худой конец, вернуть функцию?
Цитата:
Сообщение от mike4kzПосмотреть сообщение
Поначалу было желание сделать полный "парсер" кода

Мне тоже кажется малореально
  Ответить с цитированием
Старый 25.08.2014, 03:04   #3258
 Разведчик
Аватар для NBKua
 
NBKua никому не известный тип
Регистрация: 15.08.2014
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Помогите с кодом.
отправляю
Код:
            self._get_events_sender().send_game_events([{"action":"getInfo","type":"players","players":frends_ids}])
            self._get_events_sender().send_game_events()
приходит ответ (пишу часть)
Код:
{"cmd":"EVT","id":"1408915800786","events":[{"type":"playersInfo","action":"getInfo","players":[{"id":"167722889",
Не получается прочитать ответ ни одним из способов...
self._get_game_state().players
self._get_game_state().get_state().players
GameState instance has no attribute 'players'
  Ответить с цитированием
Старый 25.08.2014, 08:52   #3259
 Разведчик
Аватар для dark-dragon
 
dark-dragon никому не известный тип
Регистрация: 30.08.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 26 раз(а) в 21 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от NBKuaПосмотреть сообщение
Не получается прочитать ответ ни одним из способов...

И не получится так. Ответ не в state. Нужно отлавливать необходимый эвент по типу, и уже в нем ковырять данные.
  Ответить с цитированием
Старый 25.08.2014, 14:00   #3260
 Разведчик
Аватар для megabyte0
 
megabyte0 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от NBKuaПосмотреть сообщение
Не получается прочитать ответ

Вам надо словить ответ сервера. Это делается или как я писал тут, или дописыванием своего обработчика в game_engine.Game.handleEvent , там, где Вы видите кучу ifов Или любым другим доступным/понравившимся Вам способом.

Впрочем, тут у уважаемого vintets пример тоже годный - первый раз, если не находим playersInfo, отправляем запрос и больше не делаем ничего, а если пришли в perform_action уже второй раз и playersInfo есть, то используем его.

Последний раз редактировалось megabyte0; 25.08.2014 в 14:03.
  Ответить с цитированием
Старый 25.08.2014, 14:36   #3261
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от megabyte0Посмотреть сообщение
А если их там две?

Вообще, я это не делаю, потому что у меня до сих пор осталась проблема с преобразованием номера класса/функции в смещение внутри таблицы. Хотя оно и сделано в ffdec с открытыми исходниками на github, пока что найти, где именно это там, не смог Всего раза 2 пытался их читать. С этим всё делается просто, без этого ничо делать не стоит, имхо.


Во-о-от... Я тоже сравнивал несколько десятков "декомпилированных" файлов. Некоторые строковые константы в этом списке нужно считать не по одной с разделителем 0х0), а по несколько, тогда порядок совпадает. Однако, как я сказал, это достаточно тупой вариант, тут нужно разбираться со структурой SWF файла побайтно, потому что где-то это должно быть учтено в виде указателей.

Цитата:
Так а файлы зачем? Не проще вернуть строку и скормить в eval, или, на худой конец, вернуть функцию?

Как я сказал, у меня "многопользовательский случай" (крутится несколько моих аккаунтов). Поэтому для каждого случая соль должна быть разная. Плюс, нужно избегать случаев, когда один аккаунт пытается что-то записать в файл, который другой аккаунт в этот момент считает.
  Ответить с цитированием
Старый 25.08.2014, 23:49   #3262
 Разведчик
Аватар для dreamerag2
 
dreamerag2 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

приглашаю всех разработчиков питоновского бота в группу [vk]club76153392
  Ответить с цитированием
Старый 26.08.2014, 01:58   #3263
 Разведчик
Аватар для NBKua
 
NBKua никому не известный тип
Регистрация: 15.08.2014
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от megabyte0Посмотреть сообщение
Вам надо словить ответ сервера. Это делается или как я писал тут, или дописыванием своего обработчика в game_engine.Game.handleEvent , там, где Вы видите кучу ifов Или любым другим доступным/понравившимся Вам способом.

Впрочем, тут у уважаемого vintets пример тоже годный - первый раз, если не находим playersInfo, отправляем запрос и больше не делаем ничего, а если пришли в perform_action уже второй раз и playersInfo есть, то используем его.

Я так и не понял логики, как пользоваться handleEvent в самих модулях.

Последний раз редактировалось NBKua; 26.08.2014 в 02:01.
  Ответить с цитированием
Старый 26.08.2014, 03:22   #3264
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Сервер тебе шлет ответ. Который до определенного момента хранится в очереди событий. Ты можешь их полностью игнорировать, но тогда бот не будет получать "уведомлений" со статусом (например, что что-то посеяно, или что-то нашел).
  Ответить с цитированием
Старый 27.08.2014, 01:17   #3265
 Разведчик
Аватар для apostos
 
apostos никому не известный тип
Регистрация: 26.08.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Привет всем. Давно не заходил в ЗФ недавно снова начал играть и встал вопрос, как дела с ботом? Посмотрел в друзьях, огромное количество забаненных, что бы это значило? За бота начали банить? ((
  Ответить с цитированием
Старый 27.08.2014, 01:45   #3266
 Разведчик
Аватар для segjoz
 
segjoz никому не известный тип
Регистрация: 31.01.2011
Сообщений: 15
Популярность: 10
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 27.08.2014, 02:24   #3267
 Разведчик
Аватар для NBKua
 
NBKua никому не известный тип
Регистрация: 15.08.2014
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от mike4kzПосмотреть сообщение
Сервер тебе шлет ответ. Который до определенного момента хранится в очереди событий. Ты можешь их полностью игнорировать, но тогда бот не будет получать "уведомлений" со статусом (например, что что-то посеяно, или что-то нашел).

Вот это то я как раз и не понимаю на стороне бота. Проще на примерах понимать, пытался на примере копателя разобраться так и не получилось.
Ладно позже разберусь.

Цитата:
Сообщение от apostosПосмотреть сообщение
Привет всем. Давно не заходил в ЗФ недавно снова начал играть и встал вопрос, как дела с ботом? Посмотрел в друзьях, огромное количество забаненных, что бы это значило? За бота начали банить? ((

Не столько за бота банят сколько за багерство, спокойных ботеров вроде не трогали.
Бота не сложно вычислить, если банили за бота, тут бы тема умерла. да и ЗФ у многих топов тоже бы умерла

Цитата:
Сообщение от segjozПосмотреть сообщение
Вот, вроде все правильно сделал. запускаю, там написано выбрать пользователя. жму цифру 1. - В чем проблема?

pic

1. откуда бот?
2. settings.ini покажи, логин и пароль затри. и cooces удали они там не нужны их сам бот пишет.

Последний раз редактировалось NBKua; 27.08.2014 в 02:31.
  Ответить с цитированием
Старый 27.08.2014, 07:37   #3268
 Разведчик
Аватар для vhyrix
 
vhyrix никому не известный тип
Регистрация: 09.11.2013
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Как-то я совсем оторвался от жизни со своей разработкой: [Ссылки могут видеть только зарегистрированные пользователи. ] . Но как результат - почти все функции сделаны, управление пишется, логи растут. Если бот работает, то вы можете видеть управление и логи. Еще немного помучаю бота и могу создать аккаунты для желающих попользоваться.

Можете подсказать по дизайну? Сейчас он делается по принципу: лишь бы работало. Но в идеале, например, логи должны подгружаться на страничку сами, а сообщения раскрашиваться в цвета. Такая задачка на знание JavaScript и CSS. Можете подсказать решение? Замечу сразу, что не хочу тащить в проект что-то тяжелое. Сайт вообще писался с нуля и весит всего 68кб.
  Ответить с цитированием
Старый 27.08.2014, 12:45   #3269
 Разведчик
Аватар для dreamerag2
 
dreamerag2 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

vhyrix, respect! ты в ВЕБ-интерфейсе впереди планеты всей) сам думаю на python'e подобное замутить.
народ подскажите, в пещерах нет, видимо, allowCompositionIds, как определить в этом случае, что можно сажать?
и ещё вопрос, почему бот каждый запуск думает, что сессия устарела? Session old. Autentification...
  Ответить с цитированием
Старый 27.08.2014, 14:49   #3270
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от dreamerag2Посмотреть сообщение
народ подскажите, в пещерах нет, видимо, allowCompositionIds, как определить в этом случае, что можно сажать?

Я у себя просто прямо в программе создал DICT со статической привязкой пещера:семена. Исключение составляет Мраморная пещера, но там я особо не извращался.

Цитата:
и ещё вопрос, почему бот каждый запуск думает, что сессия устарела? Session old. Autentification...

Вообще-то "сессия" определяется "кукисами". Если "социальная сеть" принимает кукисы от предыдущей сессии, то она генерит нормальные параметры для запуска игры.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] Zombot (Клиент для игры Зомби ферма) AnonProger Баги игр ВКонтакте 189 26.08.2014 15:50
[Статья] Небольшие секреты игры зомби ферма haussuper Баги игр ВКонтакте 11 26.01.2013 11:54
[Информация] Зомби Ферма dekirillov Баги игр ВКонтакте 40 22.10.2011 18:25

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:27.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net