 |
Zombot (Клиент для игры Зомби ферма) [Обсуждение] - Свободное обсуждение - Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей |
31.07.2014, 14:26
|
#2851
|
|
|
|
Разведчик
|
 Регистрация: 23.08.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Можно. Например, при запуске сделать проверку MD5 ,или находить различия в файлах.
|
|
 |
|
 |
|
Там по любому будет различие... Запрос на "новую соль" идет с "блобом" кода. И, соответственно, когда они "на лету" генерируют алгоритм именно для тебя, то они включают этот "блоб" в название класса. Так что ВСЕ файлы по любому разные. Другое дело, если уже заглядывать внутрь SWF файла, идти на несколько уровней внутрь "программного кода"... Но тогда это немногим отличается от того, с чем пытаюсь разобраться я - перевести "штаммы" побайтного компилированного кода в соответствующий код на Питоне, чтобы симулировать ту же функцию.
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Я наверно неправильно вопрос сформулировал
Возможно ли на флеше
1. Выгрузить (загруженный из url) swf в файл
2. Загрузить swf из файла и использовать его части внутри своего
3. Взять имя класса из swf, загруженного так или так
А то я выдрал class_314, который SigSaltFuncLoader, но не разобрался 
Спасибо
|
|
 |
|
 |
|
По идее, ты же как вызываешь "свою собственную соль"? Посылаешь запрос на <IP>/zombievk/salt?postfix=<long_code>. В ответ приходит SWFка с функцией. Название класса - SaltGenerator<твой код>. Название функции (публично) - такое же. А уже внутри лежит сама функция, которая вычисляет "соль". То есть ты вполне можешь "предположить" название класса и основной функции, исходя из сгенерированного кода для своей сессии...
Последний раз редактировалось mike4kz; 31.07.2014 в 14:33.
|
|
|
31.07.2014, 14:36
|
#2852
|
|
|
|
Пехотинец
|
 Регистрация: 01.08.2012
 Сообщений: 95
 Популярность: 255
 Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Там по любому будет различие... Запрос на "новую соль" идет с "блобом" кода. И, соответственно, когда они "на лету" генерируют алгоритм именно для тебя, то они включают этот "блоб" в название класса. Так что ВСЕ файлы по любому разные. Другое дело, если уже заглядывать внутрь SWF файла, идти на несколько уровней внутрь "программного кода"... Но тогда это немногим отличается от того, с чем пытаюсь разобраться я - перевести "штаммы" побайтного компилированного кода в соответствующий код на Питоне, чтобы симулировать ту же функцию.
|
|
 |
|
 |
|
Конечно это хороший вариант. Тоже в начале подумались эти 2 способа. Первый универсальней, но нужно знание флеш. Второй можно только питоном... вся загвоздка, введут хоть одну новую строку в расчёт соли, даже без переделки алгоритма и всё накроется.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
31.07.2014, 16:43
|
#2853
|
|
|
|
Разведчик
|
 Регистрация: 14.02.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
31.07.2014, 17:06
|
#2854
|
|
|
|
Пехотинец
|
 Регистрация: 01.08.2012
 Сообщений: 95
 Популярность: 255
 Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
31.07.2014, 17:12
|
#2855
|
|
|
|
Разведчик
|
 Регистрация: 14.02.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Это я о себе , в третьем лице
|
|
|
31.07.2014, 17:49
|
#2856
|
|
|
|
Разведчик
|
 Регистрация: 12.07.2010
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Всем привет!
Объясните на пальцах, что делает эта бяка
replace(/0""0/gi, "1");
Ничего не понял в рег выражениях
спасибо
|
|
|
31.07.2014, 19:05
|
#2857
|
|
|
|
Разведчик
|
 Регистрация: 29.07.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
перевод "побайтного" шаблона
|
|
 |
|
 |
|
Кхе кхе кхе, я недавно почитал вот отсюда https:// github. com/jindrapetrik/jpexs-decompiler/tree/master/src/com/jpexs/decompiler/flash/abc/ , особенно avm2/AVM2Code.java впечатлил. Всё равно пока что совсем не всё понятно оттуда.
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Объясните на пальцах, что делает эта бяка
replace(/0""0/gi, "1");
|
|
 |
|
 |
|
Если имеется в виду .replace(new RegExp("0","gi"),"1"); , то это заменить все (g=global, i=ignore case) нолики на единички.
А то, что в цитате, я и правда не могу прочитать 0_0
Заменить все 0"0 на 1? Или 0""0 на 1?
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
нужно растения кучно садить или одни какие то... мне кажется когда такой рандом на грядках - палево))
|
|
 |
|
 |
|
Если сейчас оно сажается, чего меньше на складе в плане сажает
Код:
min((склад(растение), растение))[1]
, то я бы предложил сделать настройку что сажать в каких пропорциях. Я у себя это сделал, очень удобно, например сажать розы/лилии 2:1
Между тем, изменения кода минимальны
Код:
min((склад(растение)/пропорция(растение), растение) если пропорция(растение)!=0)[1]
И действительно, каждый остров можно засаживать чем-то одним. Но это уже детали. А по поводу посадки ненужного - это существенно
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
По идее, ты же как вызываешь "свою собственную соль"? Посылаешь запрос на <IP>/zombievk/salt?postfix=<long_code>. В ответ приходит SWFка с функцией. Название класса - SaltGenerator<твой код>. Название функции (публично) - такое же. А уже внутри лежит сама функция, которая вычисляет "соль". То есть ты вполне можешь "предположить" название класса и основной функции, исходя из сгенерированного кода для своей сессии...
|
|
 |
|
 |
|
Я спрашивал про физическую возможность написать это на флеше. Ограничения языка, если можно так сказать. Как, например, на питоне нельзя взять первоначальное имя переменной, если ты не знаешь его во время создания программы. Имя класса - можно, метода - можно, свойства - можно, переменной - нельзя. Ясно, что я тупо сравню название_класса[18:] c postfix
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
1. - Можно, а вот остальное - нельзя, к сожалению.
|
|
 |
|
 |
|
со 2 вполне справляется URLLoader(File(path)), ничем не отличающийся от аналогичного из class_314, но File недоступен на обычном флеше, это правда,
третье - flash.utils.getQualifiedClassName()
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
обычный питоновский с такими,например,функциями нельзя уже восстановить?...
|
|
 |
|
 |
|
Я восстановил, рецепт выше на пару страниц. Народ хочет кросплатформенно без использования флеша.
Последний раз редактировалось megabyte0; 31.07.2014 в 23:48.
|
|
|
31.07.2014, 23:42
|
#2858
|
|
|
|
Разведчик
|
 Регистрация: 11.01.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
чего все прицепились к боту vhyrix? )
обычный питоновский с такими,например,функциями нельзя уже восстановить?...
#DigBot, # Работа с мозгами
#GetMissionsBot, # Запрос выполнения миссий
#VisitingUsers, #Посещение друзей
#WoodPicker, # Сбор дерева
#StonePicker, # Сбор камня
#BrewPicker, # Сбор сваренного
BagsPicker, # Сбор сумок
#WoodTargetSelecter, # Отправка работать дровосекам
#StoneTargetSelecter,# Отправка работать камнетёсов
#CookerBot, # Работа с поварами (подъем из могил, установка рецептов)
#CookSpeed, # Посолить рецепты
#FertilBot, # Удобрение деревьев
HarvesterBot, # Сбор чего либо + вскапывание грядок
CakesReceiverBot, # Сбор пряников
SeederBot, # Посейка
#GiftReceiverBot, # Принятие подарков
#BoxPickuper, # Вскрытие чего либо
RouletteRoller, # Кручение рулеток
#FrutRouletteRoller, # Кручение фруктовых рулеток
#UseEggItemBot, # Бить яйца 
#MagicWand, # Добыча ресурсов палочками
Pickuper, # Сбор дропа
#SellBot, # Продажа чего либо
ChangeLocationBot, # Переход по локациям
#GameBrains # Мозги
|
|
|
01.08.2014, 05:54
|
#2859
|
|
|
|
Разведчик
|
 Регистрация: 25.02.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
01.08.2014, 08:58
|
#2860
|
|
|
|
Разведчик
|
 Регистрация: 12.07.2010
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Дорогие друзья!
Опять к вам за помощью
Столкнулся с неприятной вещью: не могу идентифицировать ошибку - то ли незнание теории, то ли ошибки реализации.
Если гуру поможет, есть шанс, что смогу идентифицировать.
Вопрос:
Имееца:
- requestId="1406711887281";
- authKey="b7c83f16849c5714ee235b2c1eecacb6";
- sessionKey ="2188548598494064143";
- сервер ниспослал соль в содержании:
а).split("").reverse().join("");
б).substring(0, _loc_2.length / 2);
в)toUpperCase();
г)replace(/0""0/gi, "1"); - это из декомпилятора. полагаю это значит .replace(new RegExp("0","gi"),"1");
д)toLowerCase();
Какой будет сиг?
Если ответ гуру совпадет с истинным, то у меня скорее всего ошибка реализации
если совпадет с моим - то незнание мною теории
если иное - то бида
Очень благодарен за помощь!
|
|
|
01.08.2014, 12:59
|
#2861
|
|
|
|
Разведчик
|
 Регистрация: 09.11.2013
 Сообщений: 2
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
pudge100, попробуй проверить функцию попроще. Была как-то, где только одна простая операция. Могу проверить, если дашь адрес на сам файл. И почему sessionKey такой короткий?
А подскажите, откуда брать информацию активен ли проездной и на какие острова он разрешает бесплатный проезд.
|
|
|
01.08.2014, 13:13
|
#2862
|
|
|
|
Разведчик
|
 Регистрация: 12.07.2010
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
pudge100, попробуй проверить функцию попроще. Была как-то, где только одна простая операция. Могу проверить, если дашь адрес на сам файл. И почему sessionKey такой короткий? |
|
 |
|
 |
|
хотелось бы на этом реальном, скажем так, случае
sessionKey короткий потому что это его левая часть. Правая тоже нужна?
Файл могу дать с серверной солью
п.с.
Вопрос снят, да правая часть тоже нужна, сиг стал считаться верно
Последний раз редактировалось pudge100; 01.08.2014 в 13:16.
|
|
|
01.08.2014, 14:02
|
#2863
|
|
|
|
Разведчик
|
 Регистрация: 23.08.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Кхе кхе кхе, я недавно почитал вот отсюда https:// github. com/jindrapetrik/jpexs-decompiler/tree/master/src/com/jpexs/decompiler/flash/abc/ , особенно avm2/AVM2Code.java впечатлил. Всё равно пока что совсем не всё понятно оттуда.
|
|
 |
|
 |
|
Я тоже пытался с этим разобраться... Решил идти "в лоб". Вот поБайтное "представление" функций кода (пример):
PHP код:
_loc2_ = _loc2_.substring(0,_loc2_.length / 2); [d2 24 00 d2 66 08 24 02 a3 46 09 02 85 d6]
d2: getlocal_2 _loc2_
24 00: pushbyte 0 0
d2: getlocal_2 _loc2_
66 08: getproperty Qname(PackageNamespace(""),"length") length(
24 02: pushbyte 2 2
a3: divide /
46 09 02: callproperty Qname(Namespace("http://adobe.com/AS3/2006/builtin"),"substring") 2 substring(
85: coerce_s =
d6: setlocal_2 _loc2_
С простыми функциями (типа "присвоить...", "разделить...", "умножить...") проблем нет - они напрямую попадают под "шаблонность". Но со строками, которые ссылаются на "внешние свойства Adobe", не то, чтобы затык, но пока сложности - там после кода 0х46 (вызов внешнего свойства) идет очередной номер строкового названия функции где-то в структуре. Уже даже нашел где, теперь нужно поправить индексацию. А так у меня уже практически все SWF-ки разбирает на исходный код (пока, из трех десятков проанализированных SWF-ок встречалось всего десять вариантов строк кода).
|
|
|
01.08.2014, 15:29
|
#2864
|
|
|
|
Разведчик
|
 Регистрация: 17.02.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
А подскажите, откуда брать информацию активен ли проездной и на какие острова он разрешает бесплатный проезд.
|
|
 |
|
 |
|
На питоне так:
Перебираем self._get_game_state().get_state().buffs.list
сравниваем атрибут item
"@BUFF_TRAVEL_TICKET_TIME" - Проездной 1
"@BUFF_TRAVEL_TICKET_TIME2" -Проездной 2
атрибут expire.endDate - миллисекунды до окончания
"@BUFF_TRAVEL_TICKET_COUNT" - Жетоны 1
"@BUFF_TRAVEL_TICKET_COUNT2" - Жетоны 2
атрибут expire.count - количество поездок
Разрешает проезд на все платные острова(Гигантов, лунный, огромной ёлки, звёздный, большой ёлки, маленькой ёлочки, необитаемый, секретный), за исключением УПСовых.
|
|
|
01.08.2014, 16:13
|
#2865
|
|
|
|
Разведчик
|
 Регистрация: 13.07.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
чего все прицепились к боту vhyrix? )
обычный питоновский с такими,например,функциями нельзя уже восстановить?...
#DigBot, # Работа с мозгами
#GetMissionsBot, # Запрос выполнения миссий
#VisitingUsers, #Посещение друзей
#WoodPicker, # Сбор дерева
#StonePicker, # Сбор камня
#BrewPicker, # Сбор сваренного
BagsPicker, # Сбор сумок
#WoodTargetSelecter, # Отправка работать дровосекам
#StoneTargetSelecter,# Отправка работать камнетёсов
#CookerBot, # Работа с поварами (подъем из могил, установка рецептов)
#CookSpeed, # Посолить рецепты
#FertilBot, # Удобрение деревьев
HarvesterBot, # Сбор чего либо + вскапывание грядок
CakesReceiverBot, # Сбор пряников
SeederBot, # Посейка
#GiftReceiverBot, # Принятие подарков
#BoxPickuper, # Вскрытие чего либо
RouletteRoller, # Кручение рулеток
#FrutRouletteRoller, # Кручение фруктовых рулеток
#UseEggItemBot, # Бить яйца 
#MagicWand, # Добыча ресурсов палочками
Pickuper, # Сбор дропа
#SellBot, # Продажа чего либо
ChangeLocationBot, # Переход по локациям
#GameBrains # Мозги
|
|
 |
|
 |
|
вот если бы все эти функции да в этот бот, то от питона ничем бы не отличался.. еще не активирует минутку и проездной ((((  а в целом.. Гигантское спасибо за работу автору, супер!
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:56.
|
 |