Как стать автором
Обновить

Комментарии 71

Большинство разработок промо, имхо, отдаются обезьянам в зоопарке. Какой идиот выполняет данные на клиенте?
Еще один минус использования флеша — прожорливость. Год-два назад у билайна была промо где нужно было ловить зверушек, шустро кликая по ним — за них давали смс/траффик.
Так вот если запустить всё это дело на каком-нибудь целероне, игра из быстрой аркады превращается в пошаговую стратегию. Можно одной рукой жонглировать, а второй накликать себе счастье
Всего-то нужно синхронизировать анимацию не по кадрам, а по таймеру и зверушки снова засуетятся и забегают, не требуя от процессора больше, чем он реально может. Будет некрасиво, но динамично.
раньше в контекстном меню можно было выбирать качество ролика и надо сказать что всякие масяни с удовольствием шли в середине двухтысячных на третьих пнях и 4-х селеронах, а к концу десятилетия перестали
Я смотрел Масяню до того как это стало мейнстримом на разогнанном до 100 MHz 486, а вы говорите третий пень
попробуйте повторить с современным flash player
У меня нет flash player и проблем связанным с ним тоже нет.
Хотя признаюсь честно, я переключался в некоторую систему с флешем чтобы файрбагом пощупать, что там такое предлагают
Если предположить что «априори выиграет знакомый директора», то все становится на свои места:
1. Акция проходит удачно в любом случае
2. Выигрыш распределяется правильно в любом случае
3. Даже дополнительный пиар на хабре приносит только пользу и никак не влияет на результаты.
А можно просто за 5-минутное кофе набить себе 1500 «лишних» бонусных баллов и быть спокойным:)
НЛО прилетело и опубликовало эту надпись здесь
После этого поста заказчик вылюбит исполнителя. Еще будет лучше если кто-то из «выше заказчика» узнает. Лояльность от таких вот косяков вряд ли вырастет
да нифига не изменится! ни лояльность, ни жопа исполнителя/заказчика/посредника/100500-людей. вообще ничего. Вы наивно думаете что цель реально что-то разыграть и найти победителя?
Просто подобные вещи отдаются на аутсорс, причем маленьким-маленьким компаниям, у которых подобных заказов за раз идёт штук эдак 6 — наблюдал сей процесс с достаточно близкого расстояния. Требование ключевое — «сделать вчера», а бюджет вас неприятно удивит. На безопасность и прочее всем пофиг, потому что обычно на каждый заказ берётся другая фирма и на «лояльность» всем плевать — крупных фирм для таких заказов много, мелких фирм-исполнителей тоже.
Почти все правда, кроме «наплевать на лояльность». Я работаю в похожей компании, только делаем мы оффлайновые инсталляции (мультитач столы, кинекты, мэппинги и все в таком духе).

Вся эта тусовка маркетологов (считай заказчиков) на нормальном уровне уже не очень большая. Скосячишь с одним, об этом обязательно узнают остальные.
В первую очередь ценится стабильность результата — сроки как всегда действительно «вчера» и важно, чтобы к сроку что-то работало. Оно может быть не самым красивым, но оно должно выглядеть как что-то законченное и по возможности не валиться каждые 5 минут с exception'ом :)

Тут скорее все-таки недостаток квалификации программиста. Большая часть флешеров это всегда были аниматоры, которые как-то научились чуть-чуть кодить. Порой они не знают, что такое Linked List или зачем нужна эта вертикальная палочка | и чем она отличается от ||, как недавно проскакивало на hacker news.
Как только я получил письмо об этой акции от Аэрофлота и чуть-чуть покопался в содержимом страницы, то сразу понял — скоро на Хабре будет такая статья :).
У кого-то понедельник будет тяжелый, пострадают многие))
А такой подход в реализации очень не серьезен и он должен был быть предусмотрен((
Правила акции:
6.1. Главный приз в размере 150 000 миль получает Участник, первым набравший максимальное количество баллов за одну игру.
6.4. Если Участники Акции набирают одинаковое количество баллов, победителем признается Участник, набравший их первым.

Ну, все просто — победитель тот, кто первым «получит» (unsigned)-1 баллов :)
Вот ржака если signed =)
Они ещё и пароль в открытом виде на почту пересылают после регистрации =\ Может и хранятся в открытом виде? Жесть.
Это есть в 100500 системах, когда пароль высылают при регистрации, но в БД хранится только хэш. По тому факту, что при регистрации вам выслали пароль ничего доподлинно нельзя сказать. Понятно, что если в топике кого-то пинают, так и тянет присоединиться с криками «а ещё он котиков не любит!», но всё-таки. Человечнее как-то надо быть. Думать, прежде чем критиковать.
А я ничего не констатировал — что они хранят в открытом виде. Но сам факт, что высылают на почту мне мой пароль в открытом виде, не нравится. Никогда не любил, когда так делают. Кроме случаев, когда пароль генерируется при регистрации.

В моей памяти не помню, чтоб 100500 сервисов так делали. Помню 1 точно, и ещё один, не точно. Итого, теперь их в списке 3. А вы, видимо, считаете это хорошей практикой?
ага, человечнее. вы восстановить пароль после регистрации попробуйте — придет в открытом виде.
думать, прежде чем… ой, а кто это сказал?
а должна прийти ссылка, и сразу запрос ввода нового пароля
А результат +100500 случаен или дань эстетике? :)
Руками набил.
Еще один фейл Канделаки — маркетинговый партнер в интернете у Аэрофлота — компания «Апостол», основанная Канделаки.
Предыдущий фейл — легко найти по ключевому слову «канделайки»
Кому фейл, а кому так успешное «освоение средств».
Сдается мне, что Аэрофлот все же своего добился. Главное для них — РЕКЛАМА. Критика — это тоже реклама. В данном случае автор сыграл им на руку, распространяя рекламу среди еще большего числа людей. Так что не стоит спешить с выводами, кто же тут дурак…
Главное, чтобы они не сделали игру «Управляй настоящим самолетом» (где команды подавались бы, после «фитрации» флешкой на стороне клиента, на системы «живого» лайнера) — и с такой же «защитой», как здесь. Хотя, может после команд «набрать скорость 100500 км/час и подняться на высоту 100500 км», не разрешенных во флеш-интерфейсе, но подаваемых в виде руками сформированных JSON, кто-то и обратит внимание, что «что-то тут не так»?

А пока такого не будет — какие проблемы? Вряд ли маркетологи в технологиях разбираются, отчет об акции уже написал (и, возможно, получатель «миль» уже известен), так что кого волнуют проблемы игроков?
Аэрофлоту реклама не нужна, а вот лояльность клиентов ооочень нужна, а таким способом они ее точно не увеличат.
Или фулл-Вайп, или мы всей гильдой уходим из проекта!

А по факту, акцию надо бы приостановить, а клиент-серверную логику в плане передачи результатов переписать. Но, как известно, проблемы негров…
Не так все просто, акция зарегистрирована со сроками проведения. Переписать, протестить и выкатить новую логику не успеют.
Значит, ухожу всей гильдой из этого прогнившего проекта
Проекту не нужны хардкорщики, в отличие от донатеров.
вы тоже играли в ArcheAge?
Нет, мне хватило линейки.
Просто это не только в ArchAge, а во всех таких проектах.
Во имя доната и именем его (С)
Все раскритиковали, но никто не написал как сделать правильно. Ну и как?
Правило номер один: не доверять данным, пришедшим от клиента.
А если бы данные передавались через HTTPS, сертификат бы проверялся на сервере и т.п., то все равно удалось бы как-то сертификат извлечь и свои данные отправить?
Даже не пришлось бы сертификат извлекать — достаточно декомпилировать и собрать обратно флеш-приложение. Я не специалист по безопасности, но даже для меня очевидно, что если мы отправили данные пользователю в «черную дыру» (ключ во флеш-приложение), то они могут вернуться абсолютно любыми. Тем не менее, писатели игр на флеш это удачно обходят. Я бы для начала почитал, как это делают те, кто этим занимается профессионально.
HTTPS тут не причем, он даже никак не изменит ход подделывания результата. Грубо говоря он просто скроет от Васи Пупкина, который прослушивает ваш трафик, факт того, что вы играете в эту игру.
А не исполнитель ли вы часом? :)
Очевидно же. Посылать на сервер не готовые результаты игры, а информацию о действиях пользователя, по которым вычислять эти результаты и отправлять обратно.
У них уже сервер тормозит и выдает 502.
Обработку логики на сервере в реалтайме они не выдержат.
А ферму серверов под это дело они запускать не станут.
Хотя могли бы запустить в амазоне и охренеть от счетов.
Все [клиенты] лгут! Так что два варианта:
1) делать всё в реалтайме на сервере
2) отправлять на сервер полный лог игры и валидировать его там

Думается, вариант «2а» — выборочная валидация логов — был бы самым правильным. Скажем, если человек набрал всего лишь жалкую 1000 баллов, можно его и не проверять :)

* самым правильным — потому что реализовать проще всего и на это уйдёт совсем немного времени. И немного процессорного времени.
Логи тоже можно подделать так, что все будет выглядеть хорошо.
Вы же, я надеюсь, не предлагаете ручную валидацию?
Конечно, можно подделать. Но для этого надо уже постараться побольше.
Например, у каждого подбираемого объекта есть координаты. Надо проверить, что самолёт летал по правильным траектории и долетал до этих координат.
Надо сначала извлечь эти координаты, потом проложить маршрут… Получить список всех вопросов, дать на эти вопросы ответы.
Большинство «хакеров» отсеется автоматической фильтрацией.

Вряд ли более 1% от числа пользователей аэрофлота — «хакеры».
Вряд ли более 1% «хакеров» пройдёт автоматическую валидацию. Остальных можно и вручную отсеять. А можно и не отсеивать, а приз дать. Выложить потом демо-ролик, как он летел и набрал эти очки, красиво будет :-). А уж летел он сам, или бот, какая разница — никто не узнает. Главное, это будет выглядеть как нормальный полёт.

Валидацию, само собой, автоматическую. Код на AS3 уже написан, если не придумали ещё консольный интерпретатор, то можно по-быстрому сделать валидатор на JS, на основе существующего AS3 кода.
Не так все просто.

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

Мой вариант:
3) Отсылать в real time кучу логов, но не обрабатывать их на сервере, а просто сохранять. Причём можно сюда включить всякие эвристики типа траектории курсора мышки. Затем верифицировать этот лог только у победителя, можно даже полуавтоматически. Применить data mining для анализа аномалии. Но опять — бюджет акции…

Но если посчитать бюджет, то может оказаться, что проще сделать как сейчас: не тратится на разработку, 99% пользователей всё равно ничего не заметят, а кому достанется приз — дело десятое, и на успешность рекламы никак не влияет :) А такие статьи на хабре лишь увеличивают внимание к «Аэрофлоту» и его программе (вы ведь не сделаете вывод, что кривой подряд рекламной акции влияет на качество рейсов?).
Должно быть, вы не мне ответили? Вариант с реалтайм отправкой на сервер (comet?) — подходит для реалтайм онлайн игр, но не для рекламных приложений.

Я считаю, выборочной валидации (не реал-тайм, а после загрузки логов) вполне достаточно, чтобы отсеять самые простые и дерзкие попытки обойти систему.
Кроме того, это ничего не стоит — это не требует мощного сервера и надёжного интернета. Код валидации уже существует на AS3, надо всего лишь его выполнять его на сервере иногда. Собственно у нас схожие мысли, только 1) я бы полный лог слал один раз и 2) не использовал бы никакого дата майнинга, а просто проверял, действительно ли проходит траектория полёта через особые точки. Элементарно реализовать и отсеет всех, кроме самых настырных хакеров :).

Всё остальное — что выглядит как утка, плавает как утка и крякает как утка — ИМХО можно считать уткой.
P.S. На правах злостного оффтопика.

Если честно, я не думаю, что подобная акция может значительно повлиять на количество клиентов компании. Если кто-то уже является активным участником бонусной программы (напрямую или через кобрендинговые кредитки, если таковые имеются) — скорее всего, он таковым и останется. Если является участником акций другого альянса — ну… например, я бы хотел потратить и свои мили OneWorld тоже. А если не является — скорее всего, проще выбирать наиболее подходящего перевозчика через SkyScanner, тем более что некоторые рейсы у компаний, не входящих в альянсы — вроде европейских лоукостеров или, например, MIAT (с ними лечу в декабре впервые, — цена была ниже, чем у всех конкурентов, а до Берлина всего 2 часа лёта), могут быть очень привлекательными.

Ну а я лично с Аэрофлотом летал 1 раз. Этого мало, чтобы делать выводы, но по одному перелёту — вроде всё как у всех. Меня бы больше порадовало не какое-то улучшение качества рейсов, а их удешевление. Всё-таки Аэрофлот довольно-таки дорогой перевозчик. Если бы удалось привлечь новых клиентов таким образом (и увеличить загруженность рейсов), и это бы повлияло положительным образом на цену, я был бы очень-очень рад :).
НЛО прилетело и опубликовало эту надпись здесь
Правильно я понимаю, что на сервер они передают лишь результаты (кол-во правильных ответов, кол-во выигранных игр и т.п.), а сам результат (кол-во очков) считается на сервере? Т.е. вы разобрались с логикой расчета (которая не описана в статье), чтобы сделать результат 100500?

И, у них еще есть возможность убрать такие результаты, если у них есть некое представление, что, например, нельзя заработать такое кол-во очков за такое время, т.е. и эти параметры надо грамотно подобрать (хотя особо сложного в этом ничего нет).
Знаком с механикой игры весьма смутно (летай к красным маркерам, собирай дополнительные секунды, отвечай на вопросы, но вроде серверного расчета там нет), так как сейчас сайт выдает 502 bad gateway. Да, вы правильно поняли, все данные, которые влияют на результат — можно подставить самому изменив запрос к серверу.

Накрутки разного рода не редкость в подобных промо играх/офферах, все решают разными способами. Кто-то обнуляет всех подряд, кого заподозрили в накрутке, другим вообще на это все плевать и приз получит тот, кто в топе.
Очевидно, у честных игроков нечетное количество очков.
Аудит не примет отчёт, который заканчивается на 5 и 0.
Будет веселее: если бучу не разводить, то будет тихо. Если пойдет волна, трандюлей получит автор исследования. Мол, «он занимался декомпиляцией», и «вносил изменения на сервера компании без разрешения». То, что эти изменения — суть запись в лог веб-сервера и в таблицу результатов, а не модификация /etc/hosts или /etc/passwd, никого не волнует, и меньше всего — правоохранителей.

Так что надо еще накатать статью в газету, лучше в крупную, чтобы буча стала громкой, и автора упекать «по всей строгости» было бы чревато для имиджа компании.
А можно какие-нибудь два примера?
1) когда кого-то засудили за невинные шалости с leaderboard
2) когда публикация в газету спасла кого-то от тюрьмы за шалости с leaderboard?
НЛО прилетело и опубликовало эту надпись здесь
Все бы хорошо, но, насколько мне известно, такого рода натяжки (модификация данных на сервере) применялись и выносились обвинительные приговоры.

А что модификации не было — а как данные на сервере сохранились без записи результата в тот, условно говоря, «файл», где уже хранилось старое состояние таблицы рекордов? А раз сохранялись, то вот файл модифицировался.

Еще раз повторюсь, это, конечно, дело адвоката объяснить суду, что и как на сервере хранится, но это как судья решит — будет случать или нет.,.
НЛО прилетело и опубликовало эту надпись здесь
Разве под 274 УК РФ это нельзя подвести?
НЛО прилетело и опубликовало эту надпись здесь
А где описание «как надо было сделать»?
В том смысле, что в принципе даже промежуточные данные — это тоже данные от клиента и их тоже можно подделать в соответствии с логикой приложения, просто сложнее и дольше, но тут всё от цены за победу зависит.
По сути, единственным верным решением является перенос всей игровой механики на сторону сервера, а flash приложение выполняет роль клиента к API.
НЛО прилетело и опубликовало эту надпись здесь
Нет никакой разницы кто и как победит, это не лотерея, это не банковский продукт, это чистой воды промо. Главное привлечь клиентов к продукту, и выдать гарантированный подарок Вот такие же проблемы в самой программе лояльности найдутся — тогда есть смысл обсуждать это.
А результат-то они уже подтерли
«Кстати, судя по всему, разработчики даже поленились самостоятельно реализовывать алгоритм шифрования и воспользовались готовым решением» — крайне удивляет эта фраза. Казалось бы, в вопросах реализации алгоритма шифрования наиболее разумно как раз использовать готовые решения, потому что без существенного опыта в области шифрования при реализации собственного алгоритма очень легко допустить ошибку, что будет критично для безопасности.
Алгоритм шифрования там должен был быть в кавычках, xor за серьезный шифр никто не воспринимает. Кроме того в данном случае использовали именно «велосипед» просто чужого производства.
я когда-то так htc конкурс обходил, надо будет написать об этом.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории