Syma X20: карманный дрон для фана

Syma X20: карманный дрон для фана Машинки

Отличный квадрокоптер syma x15 для начинающих пилотов.

Некоторое время назад попался мне в руки нонейм квадрокоптер крохотных размеров. В инструкции было написано, что он идеально подходит для обучения и получения первого опыта пилотирования. Однако на поверку оказалось, что летун обладает суицидальным характером и все время норовит убиться об любые препятствия со старта.

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

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

На сей раз это оказался SYMA X15.

Кому интересны результаты, приглашаю под кат, но прошу быть снисходительными (первый раз все таки)), если, что не так.

Syma X20: карманный дрон для фана

Характеристики:
Бренд: SYMA;
Модель: Х15;
Управление: RC 2,4 ГГц;
Гироскоп: 6 осей;
Число каналов: 4;
Управление IOS и Android: не поддерживается;
Радиус действия: 50 метров;
Аккумулятор квадрокоптера: 3,7 В 450 mAh;
Время полета: 7 минут;
Питание пульта управления: 4 элемента АА;
Размеры квадрокоптера: 22*22*5 см;
Особенности: взлет и посадка одной кнопкой, флипы на 360 градусов.

Смотрите про коптеры:  16 лучших квадроциклов – рейтинг 2023

Приехала посылка в транспортировочной картонной коробке.

Syma X20: карманный дрон для фана

Внутри была спрятана уже красочная коробка с ручкой, в которой продается квадрокоптер Syma X15. На коробку нанесена информация о его возможностях, характеристиках, предупреждения о безопасности и т.д.
Нужно отметить, что выполнено все очень качественно и для подарка подойдет как нельзя лучше.

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

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

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

Еще одно углубление остается не заполненным – в старших моделях, которые дружат с IOS и Android, сюда кладут крепление для телефона.

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

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

В пакет положили 4 запасных винта, отвертку и шнур для зарядки аккумулятора. Два винта с маркировкой «А» и два с маркировкой «В».

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

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

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

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

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

Питается пульт от 4 батарейк типа АА.

Syma X20: карманный дрон для фана

На передней стороне пульта по паре кнопок с каждой стороны и углубление. Сюда вставляется крепление телефона в старших моделях.

Syma X20: карманный дрон для фана

О назначении кнопок и джойстиков лучше расскажет эта иллюстрация.

Syma X20: карманный дрон для фана

Кнопка питания с фиксацией. Зажав кнопку левого джойстика, и включив кнопку питания, сбрасываем все пользовательские настройки и приобретенные дроном «навыки и привычки» до заводских). Во время полета зажав кнопку левого джойстика правым джойстиком можно откорректировать дрейф квадрокоптера, т.е. так работает функция триммирования.
Краткое нажатие кнопки правого джойстика увеличивает или снижает скорость вращения винтов.
Удержание в нажатом положении этой же кнопки до тройного звукового сигнала приводит к включению безголового режима. Повторное нажатие к его отключению.
В управлении дрона задействованы две из четырех кнопок на передней стороне пульта.
Особенно меня порадовала верхняя кнопка автоматического взлета — не нужно особо о чем, то беспокоиться – включили пульт и дрон, подружили их и нажимаем эту кнопку. Квадрокоптер взлетает и на уровне 1,2 -1,4 метра над уровнем поверхности зависает.
Вторая кнопка это флипы. Тут чуть хитрее. Чтобы дрон сделал кувырок нужно зажать нижнюю с правой стороны кнопку и наклонить правый джойстик в сторону желаемого направления кувырка.
В инструкции есть предупреждение на счет флипов. Якобы выполнять их нужно высоте не менее 3-х метров над поверхностью. Как показали летные испытания, этот допуск взят с большим запасом. Для SYMA X15 допустимы кувырки на высоте уже полтора метра). Конечно же, кувырки с дополнительными эволюциями лучше выполнять на большей высоте.
Мне достался дрон черного цвета.

Syma X20: карманный дрон для фана

Пульт, как я понял, всегда белый у разных моделей.
Кнопка вкл/выкл находится сверху и она без фиксации. Для включения нужно нажать ее на пару секунд. С одной стороны это хорошо – с фиксацией кнопку можно случайно нажать, а с другой такое инженерное решение это режим Standby и заряд аккумулятора снижается в ожидании включения. Поэтому аккумулятор лучше отключать и подключать непосредственно перед полетом.
Размеры совпадают с заявленными, вес 64 грамма.

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

Обратил на себя внимание материал корпуса – он точно не хрупкий. Так что можно не бояться особо. Защитные дуги из довольно мягкого пластика. Упругие и поддаются деформации рукой. Так что за защиту то же не волнуйтесь.
В этой модели квадрокоптера четко выражена передняя и задняя часть корпуса. Впереди имитация прожектора, сзади лючок аккумуляторного отсека.

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

При замене лопастей, установить их неправильно сложно — и лопасти и места их соответствующей установки подписаны.

Syma X20: карманный дрон для фана

На нижней части расположены четыре светодиода за светофильтрами – впереди два красных, сзади два зеленых. Чем обусловлено размещение красных светодиодов впереди, сказать трудно, но так поступают производители многих квадрокоптеров. Хотя было бы привычнее, если бы красные были сзади.

Syma X20: карманный дрон для фана

На аккумулятор не забыли нанести характеристики – 3,7 В 300 мА. Эта же емкость указана на коробке, а на странице товара — 450 мА.

Syma X20: карманный дрон для фана

Проверка EBD-USB нагрузкой на разряд до 2,8 Вольт током 0,2С (60 миллиАмпер) показала, что в реальности емкость аккумулятора больше заявленной:

Syma X20: карманный дрон для фана

Взлет дрона можно осуществить аж тремя способами:

1. Включаем пульт, дрон, левый джойстик вверх до звукового сигнала, вниз до звукового сигнала и вверх для взлета;
2. Включаем пульт, дрон и оба джойстика вниз друг к другу. Двигатели заводятся и левый джойстик вверх – дрон взлетает;
3. Наиболее мне понравившийся своей простотой способ – верхняя правая кнопка пульта. Коптер взлетает и зависает над поверхностью на высоте 1,2 — 1,4 метра.

Syma X20: карманный дрон для фана

Однако больше всего понравилось, что дрон зависает и его никуда не сносит – он просто висит в воздухе. Тут инженеры постарались — как для начинающего пилота, так просто золотое качество игрушки. За дроном не нужно нервно следить, бежать, пугаться за его судьбу и т.д.
Само собой вышесказанное относится к безветренной погоде. У нас уже больше месяца дуют ветры то с большей, то меньшей скоростью. Пришлось ждать более менее подходящую погоду и первые полеты показали, что при слабом ветре квадрокоптер успешно борется с ветром. Дальше конечно труднее.
В безветренную погоду или в помещении в случае самостоятельного дрейфа можно воспользоваться триммированием – зажимаем кнопку левого джойстика и правым джойстиком убираем дрейф.
Сначала было несколько падений из-за столкновений со стенами, но на судьбе дрона это не отразилось). После каждого падения для перестраховки делал калибровку акселерометра и гироскопа – оба джойстика в левый нижний угол, потом оба джойстика в парвый нижний угол на пару секунд и снова взлет.

Syma X20: карманный дрон для фана
Syma X20: карманный дрон для фана

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

Вот тут есть видеоинструкция с официального сайта SYMA.

И три коротких видео полетов в реальных условиях — 1, 2, 3.

Как человек все таки впервые познакомившийся с квадрокоптерами как явлением), могу сказать, что данная модель однозначно подойдет начинающему пилоту так, как у этого дрона «характер нордический, выдержанный». Благодаря работе инженеров квадрокоптер предсказуем и не преподнесет сюрпризов, а обучение пилотированию доставит радость и приятное удивление.
Возможно, я как не испытавший много моделей летунов, очень лучезарно описываю работу игрушки, но это точно не из-за пункта 18! Дрон адекватен и отзывчив в полете, управление информативное, отсутствует его инерционность, чего я не ожидал и потому без особого энтузиазма принял предложение о написании обзора. Нестыковку с аккумулятором объяснить не могу (явно на странице товара ошибка и должно быть указано 300 мА, как на коробке), но при этом аккумулятор оказался лучше (согласно измерений), и летал минут 8-9, что выше заявленных 7. Тут видимо все зависит от режимов полета. Я не асс в этом деле и высшем пилотажем на больших скоростях не увлекался, но в спокойном режиме летун указанное мной время в воздухе держится.

В итоге, однозначно могу рекомендовать SYMA X15 к покупке для начинающих в связи с простотой, легкостью управления и хорошими летными качествами.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Лузово-агрессивный стиль решает

Zoom-столы значительно тайтовее, чем обычные. Это присуще формату игры, и даже рекреационные игроки в среднем будут играть тайтовее.

Одна из причин, почему фиши играют лузовее за обычными столами, заключается в том, что они в основном играют ради удовольствия, и им часто не хочется ждать хорошей руки, чтобы войти в банк. Им быстро становится скучно, что заставляет их открывать руки, которые они не должны открывать, тянуть дрова, которые они не должны тянуть, и так далее.

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

В покере лучшая стратегия противоположна той, в которую играют большинство. 

Так что, если большинство игроков нитят, вариант заэксплойтить их это – немного подрасширить ваш хэнд-селект, к примеру, с помощью одномастных коннекторов и гапперов, и усилить агрессию. Это те руки, которые действительно могут увеличить ваш выигрыш в зуме, если вы будете эффективно их разыгрывать.

Не секрет, что на самом деле в Холдеме сильные руки заходят очень редко, поэтому многие игроки будут выбрасывать карты гораздо чаще, чем было бы оптимально. В конце концов, зачем отбиваться с посредственными руками, когда карманные тузы могут быть в нескольких секундах от вас?

Проблема такого мышления, конечно, в том, что многие так мыслят. И одинаковое мышление  сделало бы покер игрой с нулевым ожиданием, а учитывая рейк, то и с минусовым. Выход из этого тупика заключается в успешной адаптации к общим тенденциям поля игроков.

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

Несмотря на то, что с ТАГ-стратегией вы можете показывать какой-то плюс в зуме, ЛАГ-стратегия же позволит вам вообще разносить поле, но при правильном ее использовании.

Итак, как же эта ЛАГ-стратегия выглядит на практике? Давайте узнаем подробнее.

Научитесь лайтово 3-бетить

Любой приличный игрок в покер знает, что фундаментом выигрышного покера является игра в позиции, будучи префлоп-агрессором. Поэтому, когда вы видите, что кто-то открывается из поздней позиции (CO и BU), вы можете полагать, что диапазон этого игрока намного шире, чем если бы он открывался из более ранней позиции. То есть, вероятнее всего, опен-рейзер в очередной раз пытается украсть блайнды.

Большинство рук, которые открывают из поздних позиций, не смогут выдержать давление 3-бета, поэтому всякий раз, когда вы видите, что кто-то открывается с BU или CO, задумайтесь о том, чтобы ре-стилить их лайтовыми 3-бетами. Лучшие руки для этого – те, у которых есть хоть какая-то играбельность на постфлопе в случае колла вашего 3-бета.

Одномастные коннекторы опять же будут отличными кандидатами на лайтовые 3-беты. Однако одномастные тузы и короли будут гораздо лучшими кандидатами по нескольким причинам.

Во-первых, у них есть блокеры, а это значит, что они уменьшают количество комбинаций сильных рук, которые теоретически могут быть у вашего противника, среди которых AA, KK, AK, AQ. К примеру, если у вас есть туз, вы сокращаете число комбинаций AA в диапазоне оппонента с 6 до 3, а количество комбинаций АК – с 16 до 12.

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

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

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

Чаще флоатьте на флопе

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

А с математической точки зрения, вы будете хорошо попадать во флоп лишь в 33% случаев (в 2 из 3 флопов вы полностью промахнетесь). Это означает, что многие игроки будут ставить на флопе, не потому что они попали, и не потому что они считают, что флоп плохо подходит диапазону коллера, а просто потому, что «это стандартно».

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

Если вы ставите 1/2 пота, оппоненту нужно фолдить не менее 33% рук (или 1 раз из 3), чтобы ваша ставка была EV, и они обязательно будут фолдить гораздо чаще, особенно если вы играете в позиции. И даже если вас вколлят, у вас все равно будет еще одна улица, чтобы попытаться переиграть их.

Такая игра лучше всего работает, когда у вас есть хоть какое-то эквити (эквити у руки никогда не бывает лишним), но опять же, этот мув работает достаточно хорошо и независимо от силы вашей руки.

Если же вы играете без позиции, и на терне идет чек-чек после конт-бета оппонента на флопе, вы также можете попытаться забрать банк на ривере с помощью проб-бета. Проб-бет – это ставка от игрока без позиции, когда оппонент упустил возможность поставить конт-бет на предыдущей улице.

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

Учитесь играть в глубоких стеках

Один из самых ценных скиллов, который может добавить вам эджа надо полем (и особенно в Zoom-покере), это умение играть в глубоких стеках.

Глубокими считаются стеки от 200 бб и выше, и именно здесь преимущество этого скилла наиболее выражено. Дело в том, что обычно вы будете вынуждены играть на всех трех улицах с существенной частью стека за спиной, поэтому решения станут более сложными, а ошибки – более дорогостоящими.

В «дипах» же всё иначе. Здесь относительная ценность рук резко меняется, поэтому ваша стратегия тоже должна измениться.

В более коротких эффективных стеках руки, способные собрать топ-пару, растут в цене, в то время как спекулятивные руки (такие как средние пары и одномастные коннекторы) падают. В глубоких стеках всё с точностью до наоборот. Ценность топ-пар падает из-за их уязвимости.

Спекулятивные руки же растут в цене, и чем глубже стеки, тем более ценными они становятся. Причина тому, конечно, кроется в потенциальных шансах банка (имплайд-оддсах). Чем больше стек за спиной, тем выше потенциальный выигрыш, если вы улучшитесь на последующих улицах.

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

В 100 бб стеках нет ничего плохого в том, чтобы 4-бетнуть на префлопе AK, как учат все тренеры и книги, однако делать это в стеках 200 бб может быть настоящей катастрофой для вашего винрейта. В лучшем случае вы сыграете в монетку против QQ, а в худшем (и гораздо более вероятном) – вы андердог 3 к 1 против AA и KK.

Mavic pro отключается в середине полета

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

Вот некоторые из причин, по которым он может отключаться:

  • Возможно, USB-кабель, соединяющий ваше устройство с пультом дистанционного управления, подключен неправильно, что может привести к потере зрения.
  • Если вы не войдете в приложение DJI GO, соединение может прерваться во время полета.
  • Поврежденный USB-порт на телефоне или планшете может привести к проблемам с подключением.
  • Еще одна причина, по которой во время полета отключается визуальное изображение, с которым столкнулись многие пилоты, заключается в неисправной SD-карте. многие пилоты начали удалять SD-карту, чтобы избавиться от этой проблемы.
  • Во многих случаях проблемы с подключением вызваны неполадками с телефоном или планшетом, используемым для управления дроном.
  • Файлы кэша в приложении DJI GO 4 могут быстро заполняться, и они могут даже быть повреждены. Это может вызвать проблемы с подключением между устройством и дроном.
  • Возможно, вы об этом не знаете, но проблема может заключаться в пульте дистанционного управления. Порты и кабели могут быть загрязнены или антенна может быть повернута не в ту сторону.

Если ваш Mavic отключается от приложения DJI GO, но вы все еще можете управлять дроном с помощью RC-контроллера, вам все равно нужно знать, что делать, чтобы снова восстановить видеосвязь.

Но помните, что в этом случае у Mavic есть функция «возвращение домой», которая позволяет дрону вернуться в точку, с которой он взлетел, если он потеряет связь с приложением GO или контроллером.

Виды калибровки

  1. Механическая калибровка квадрокоптера
    Механическая калибровка, это подкручивание регулятора тяги. Подкручиваешь регулятор, поднимаешь дрон, если проблема осталась – повторяешь. Используется тогда, когда отклонение от нужной оси не очень велико.
  2. Автоматическая калибровка квадрокоптера
    Автоматическая калибровка, это настройка работы дрона с пульта управления. Применяется, когда нужно сместить триммер на 5 и более позиций. Она происходит по-разному, в зависимости от пульта и контроллера. Придётся обратиться к инструкции.
  3. С помощью ПО mission planer
    Это программа для калибровки плат Ardupilot. Она позволяет программно задать нужные параметры. Как правило, калибровка через неё происходит перед первым запуском самодельного коптера.

Калибровка происходит следующим образом:

  • Включаем передатчик радиоуправления (на момент калибровки регуляторов радиоуправление должно быть уже откалибровано). Выставляем ручку газа на максимум
  • Берем Li-Po аккумулятор и подключаем к разъему Power-модуля для включения автопилота. Питание регуляторов соответственно тоже будет обеспечивать этот аккумулятор
  • После включения APM будет мигать своими синими и красными светодиодами. Этим он сигнализирует готовность к калибровке при следующем включении. Отключаем аккумулятор от Power-модуля
  • Включаем питание заново. Регуляторы издают стандартный звуковой сигнал (обычно количество сигналов равно количеству банок в батарее) и через некоторое время дважды издает короткий сигнал, что подтверждает калибровку по максимальному газу
  • Опускаем ручку газа в минимальное положение. Регуляторы издают один долгий сигнал, что подтверждает калибровку по минимальному газу
  • С этого момента калибровка регуляторов для APM 2.8 завершена и можно проверить работоспособность моторов
  • Убираем газ на минимум и выключаем питание Ardupilot.

Как изменить режим игры в zuma deluxe

Если кто-нибудь когда-либо играл в стрелялку с мячом первой версии Zuma, то наверняка не сможет игнорировать эту версию, признанную лучшей, то есть Zuma Deluxe. Разработанный с привлекательной графикой, ярким звуком, привлекательными изображениями и очень простым, но не менее привлекательным игровым процессом, Zuma Deluxe заслуживает того, чтобы считаться игрой Popcap с точки зрения обзора.

Уникальный Zuma Deluxe с двумя игровыми режимами Adventure и Gauntlet. Каждый игровой режим имеет свои уникальные и уникальные отпечатки, которые заставляют игроков чувствовать себя привлеченными, привлекательными и погруженными в мир волшебных шаров.

Если  Adventure – это приключение, охватывающее 13 ворот , у каждых ворот будет 5 разных испытаний . Уровень сложности и скорость движения цветных шаров также будут быстрее, непредсказуемыми и более опасными. Не говоря уже о том, что на каждом уровне следующего уровня расстояние цветного шарика в начале будет ближе к люку, чем на предыдущих уровнях. Приключения также является путешествие принимает игроков через 20 храмов древних ацтеков Духа , каждый храм был тайной, одна вещь , которую нужно открыть, чрезвычайно интересно.

Как изменить режим игры в Zuma Deluxe

Храм Кетцаль Куалт

С каждым проходом ворот (включая 5 разных карт) игроки будут перемещаться, чтобы исследовать новый храм , а в разделе «Лучшие результаты» в верхней правой руке также будет отображаться имя и Наивысшая оценка игроков, прошедших эти ворота.

Как изменить режим игры в Zuma Deluxe

Зукульканский храм

Между тем,  Gauntlet – это место, где игроки могут носить свои таланты, демонстрировать свое мастерство. В Gauntlet также есть два разных игровых жанра : выживание и практика.

Как изменить режим игры в Zuma Deluxe

Попробуйте выживание, кроличья пол

Выживание – это место, где игроки могут носить, свободно демонстрировать свои навыки, демонстрировать свои навыки. Считается бесконечным способом игры , Survival позволяет игрокам играть свободно в течение неограниченного количества времени и цветных шаров. Игрокам разрешено играть до тех пор, пока Игра не закончится или не надоест, они больше не хотят играть. В Survival есть также цветные мраморы или золотые монеты в качестве наград для игроков.

Чем дольше вы играете, тем больше увеличивается количество цветов мрамора . В дополнение к оригинальным основным цветам (зеленый, синий, желтый, красный) есть также серый или фиолетовый мрамор. Даже пути мрамора разные , гораздо более сложные и непредсказуемые.

Как изменить режим игры в Zuma Deluxe

Игроки могут играть без ограничения по времени

В Survival в частности и Zuma Deluxe в целом несколько советов, которые игроки должны регулярно использовать, представляют собой комбинацию:

Возможно, многие будут удивлены, но с этим советом убедитесь, что вы легко пройдете через все ворота Zuma Deluxe и не тратите время на выравнивание направления удара мяча, найдите место ( места, где 2 цветных шарика доступны для каждого) для каждого выстрела Это поможет вам играть лучше, эффективнее, быстрее решать игру, но не очень быстро и с хорошим наблюдением. по:

  • Не всегда возможно, чтобы шарики одного цвета лежали рядом друг с другом, так что игрок «перед едой» приведет к тому, что количество съедаемых шариков в этой позиции увеличится вдвое или даже больше (если пропущено). В обесцвечивание шары помогут игрокам активно снимать в любом месте , шарики , которые они хотят , не опасаясь с тем же цветом или нет.
  • Чем выше скорость движения шариковой полоски, чем ближе расстояние к люку, тем более запутанным и поспешным будет игрок, из-за чего удары становятся нулевыми и менее точными. Помогающие магические шары появляются на короткое время каждый раз, когда они появляются, но их эффекты чрезвычайно эффективны. Просто подождите, нажмите на эти шары и воспользуйтесь тем, когда они вступят в силу, у игрока будет больше времени для передачи карт, а также он вздохнет с облегчением, когда увидит, как поток шариков отталкивается от люка.
  • Золотые монеты не всегда есть, но золотая монета стоит в десятки раз больше обычной точки стрельбы. Поэтому, если вы хотите получить высокий балл , попробуйте собрать их много .

Как изменить режим игры в Zuma Deluxe

Таблица результатов, когда игрок заканчивает категорию выживания

И если вы являетесь одним из самых результативных игроков в Survival, ваше имя и очки также будут учитываться на самом экране, в разделе « Лучшие результаты».

Как изменить режим игры в Zuma Deluxe

Для практики это просто режим практики , тренирующийся, как играть. Здесь игроки будут стараться на среднем уровне , начиная от скорости движения мяча, положения шариков одного цвета и появления другой помощи. Игроки могут играть на практике, пока они не будут уверены в себе и не почувствуют себя компетентными, способными испытать и исследовать все 20 древних ацтекских храмов с 13 воротами, чрезвычайно загадочными и привлекательными.

Как изменить режим игры в Zuma Deluxe

Участие в стажировках на Кроличей площадке

С каждой картой, считающейся проверкой, Zuma Deluxe даст игрокам определенное количество времени для преодоления испытания.

Как изменить режим игры в Zuma Deluxe

Закончите «экзамен» менее чем за отведенное время

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

Как изменить режим игры в Zuma Deluxe

Нет вознаграждения за превышение времени

В отличие от Приключения, когда каждая карта разыгрывается, каждый уровень является секретом, который открывается только тогда, когда входит игрок. У  Gauntlet есть свои особенности, разные и привлекательные игроки по-разному. Это:

Как изменить режим игры в Zuma Deluxe

Кроме того, если вы хотите сделать все возможное и увеличить веселье и загадочность для этого режима, игроки также могут выбрать категорию Случайный – случайный. При использовании Random каждая карта будет храниться в секрете и постоянно меняться, когда игрок на практике передает карту.

Как изменить режим игры в Zuma Deluxe

 Таким образом, все игровые режимы, а также игровой процесс игры Zuma, были представлены в этой статье. Это классическая игра всемирно известной игровой компании Popcap, оцененная шедевром прямо из-за своей простоты. Zuma Deluxe заслуживает развлекательной игры, которую нельзя пропустить . Давайте испытать это!  

Желаю вам веселых развлечений!

Как подготовить электротриммер?

Чтобы подготовить электрокосу к работе,
выполните следующее

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

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

Если в комплекте с вашей косилкой идет несколько типов режущих инструментов, то выберите тот, который лучше соответствует текущей задаче.

Помните, что:

  • леска сильно травмирует траву, зато не повреждает деревья;
  • двух- или трехлопастной нож бережно срезает траву, но даже побеги кустарника, а тем более толстые ветки, представляют для него угрозу;
  • пильный диск не боится веток, но сильно травмирует траву.

Чтобы проверить провод и кабель, внимательно осмотрите их, стараясь обнаружить малейшие повреждения изоляции и оголенные участки провода. Если такой дефект обнаружен, отремонтируйте провод и почините или замените удлинитель.

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

Помните, для покоса травы электротриммером оптимальными являются следующие траектории:

  • вперед-назад со сдвигом в сторону дальнего края участка на каждом проходе;
  • влево-вправо со сдвигом вперед на каждом проходе.

Движение по этим траекториям позволит вам постоянно держать кабель позади себя, а значит вы не запутаетесь в нем и не перерубите его режущим инструментом триммера.

Как правильно косить траву?

Вот описание того, как правильно косить траву с помощь электрического триммера:

  1. Обойдите территорию и уберите с нее все мешающие предметы.
  2. Если вы никогда не косили на этом участке электрокосой или будете использовать ее первый раз, зарисуйте план участка и определите оптимальную траекторию движения, которая держала бы шнур удлинителя всегда позади вас.
  3. Проверьте удлинитель, затем размотайте и разложите удлинитель по участку в соответствии с планом движения.
  4. Наденьте подходящую экипировку, не забудьте защитные очки или маску. Убедитесь, что никакие части одежды не болтаются.
  5. Осмотрите триммер, установите соответствующий территории режущий инструмент. Если все в порядке, подключите удлинитель к сети, затем присоедините его к электрокосе.
  6. Встаньте на краю участка и убедитесь, что рядом с вами никого нет.
  7. Включите мотор электротриммера.
  8. Наклоните его так, чтобы режущий инструмент вращался параллельно земле и срезал траву на необходимой высоте.
  9. Плавно, всем корпусом или одними только руками поворачивайте триммер влево-вправо, используя себя в качестве оси. В зависимости от высоты и густоты травы затрачивайте на каждый поворот 1–3 секунды.
  10. После каждого поворота от крайне левого до крайне правого положения и наоборот сдвигайтесь вперед на 1–10 см, расстояние зависит от параметров травы, мощности мотора и вашего умения, поэтому не спешите, нарабатывайте навык.
  11. Слушайте звук работающего мотора, если во время покоса травы он меняется, значит вы либо слишком далеко шагнули, либо слишком быстро поворачиваете его влево-вправо.
  12. Проработав регламентированное инструкцией по эксплуатации время, отпустите кнопку включения аппарата, затем отключите его от удлинителя. Осмотрите триммер, проверьте состояние вентиляционных окошек и количество травы на внутренней поверхности защитного экрана, а также пощупайте корпус в районе мотора или сам мотор. Допустим едва ощутимый нагрев. Если рука ощущает жар или ее невозможно долго удержать на корпусе/моторе, остановите покос и отвезите аппарат в сервис, чтобы проверить его состояние.
  13. Если все нормально, подождите 10–15 мин, чтобы мотор остыл и продолжайте покос.
  14. Когда закончите работу, отключите триммер от сети и тщательно очистите его, затем проверьте все крепления и вентиляционные окошки, а также рукой измерьте температуру двигателя. Обнаружив перегрев, убедитесь, что вы не превысили допустимое время работы и не допускали чрезмерной нагрузки, затем отвезите аппарат в сервис для проверки и ремонта. Если же нагрев вызван перегрузкой или слишком долгой работой, больше не допускайте подобного и тщательно контролируйте температуру, а при первых же признаках перегрева отвозите электрокосу в сервис.
  15. Когда сезон покоса подойдет к концу, очистите аппарат от остатков травы и положите/поставьте на хранение в сухое проветриваемое помещение, туда же отнесите удлинитель.

Скидки на крохотные квадрокоптеры syma x20 и syma x20-s

Крохотные квадрокоптеры Syma X20 и Syma X20-S для полетов в закрытых помещениях или в безветренную погоду. Данные модели ориентированы на начинающих пилотов, делающих свои первые шаги в пилотировании.

Оснащены барометрическим датчиком.

Headless-режим и возможности автовзлета/автопосадки — дают больше шансов быстро освоить управление.

ЦЕНЫ ДО АКЦИИ: Syma X20 — 37,99 $, Syma X20-S — Аж 99, 99 $
Но думаю, что это для того чтобы подчеркнуть приятность акционных цен).
ДЕЙСТВУЮЩИЕ ЦЕНЫ: Syma X20 — 15,99 $, Syma X20-S — 16, 99 $
ЦЕНЫ НА ДРУГИХ ПЛОЩАДКАХ: Syma X20 — от 21,99 $, Syma X20-S — 19, 71 $ (но отправка при этой цене с 18 августа)

Страница Syma X20 тут.
Страница Syma X20-S здесь.

Технические характеристики, различия и немного картинок под катом

Аккумулятор: 3.7 в 180mah Li-Po (в комплекте)
6-осевая система стабилизации
Зарядка через USB кабель
4-х канальный пульт радиоуправления 2.4GHz
Время полета: 5 минут
Время зарядки: около 50 минут
Радиус полёта: 20 м
Размер: 10.5*10.5*2.5 см
Камера: нет
Headless Mode
Удержание высоты
Автоматический взлёт и посадка
Возможность выполнения флипов

Присутствует LED подсветка, что делает дроны «наряднее») и позволит легко найти в потемках.
Квадрокоптеры одинаковые, но комплектуются разными пультами управления.

Syma X20 таким:
Syma X20: карманный дрон для фана

Syma X20-S таким:
Syma X20: карманный дрон для фана

Габариты в сравнении:
Syma X20: карманный дрон для фана

Приятного всем полета!
Syma X20: карманный дрон для фана

Техника безопасности

Электрический триммер – потенциально опасное устройство, а правила техники безопасности разработаны с учетом несчастных случаев, произошедших при работе с такой техникой.

Вот эти правила

  1. Перед началом работы обязательно проверяйте состояние кабеля, соединяющего розетку и электрокосу, если на нем есть хотя бы небольшой дефект, чините или меняйте его.
  2. Перед началом работы осматривайте электротриммер, проверяйте, все ли болты и гайки затянуты, не болтаются ли какие детали, нет ли сколов, оголяющих провода. Если хоть что-то из этого обнаружено, устраните дефект сами или отвезите аппарат в сервис для ремонта.
  3. Используйте одежду без болтающихся элементов, застегивайте ее на все пуговицы или закрывайте на молнию.
  4. Используйте обувь на нескользящей подошве.
  5. Обязательно надевайте защитную экипировку, то есть очки или маску.
  6. Не используйте триммер, на котором установлен не соответствующий участку режущий инструмент.
  7. Не скашивайте траву на захламленном участке.
  8. Не приступайте к покосу, если испытываете недомогание или находитесь под воздействием алкоголя или других веществ, влияющих на скорость реакции и адекватность оценки происходящего.
  9. Если неподалеку от места покоса стоят люди, попросите их отойти, чтобы трава или попавшие под режущий инструмент комки земли и мелкие камни не отлетели в них.
  10. Перед первым покосом и в начале каждого сезона внимательно читайте инструкцию по эксплуатации вашего электротриммера.
  11. Соблюдайте режим работы, не допускайте перегрев аппарата.
  12. Используйте электрокосу только для покоса травы. Помните, если вам нужно обрезать или спилить дерево, используйте кусторез или бензопилу, но не электротриммер.
  13. Не позволяйте детям играть с этим инструментом.
  14. Не переносите триммер за шнур питания.
  15. Если вы прекращаете работу даже на несколько минут, в том числе для очистки от измельченной растительности, обязательно отключайте аппарат от сети.
  16. Следите за положением кабеля, чтобы он не попал вам под ноги или не угодил под режущий инструмент.
  17. Не используйте электрокосу во время дождя или когда трава покрыта росой. Если по каким-то причинам аппарат намок, отвезите его в сервис для проверки и просушки или выполните эти действия сами.
  18. Каждые 10–15 минут проверяйте состояние вентиляционных отверстий, при необходимости прочищайте их.
  19. Не старайтесь скосить траву максимально быстро, так вы перегрузите мотор и аппарат сломается.
  20. Если вы чувствуете, что двигатель или редуктор нагрелся, но при этом вы не превысили время работы и не перегружали электрокосу, отвезите ее в сервис для проверки и ремонта.
  21. Не фиксируйте выключатель в положении «включено» с помощью скотча, проволоки или любым другим способом, удерживайте его только пальцами.
  22. Не косите траву после дождя или до просыхания росы на ней.

Часть 1: коварный flash

В общем, запускаем игру, играем дольше положенного (или сразу же лезем в ветку реестра HKLM/Software/PopCap/Zuma и выставляем нули в ключах TimesExecuted и TimesPlayed) — и вуаля:

Отлично, выбираем «Buy Now», закрываем вылезшее окошко браузера с предложением купить такую-то игру за жалкие 16.99 евро, и жмём «Enter the Registration Key Manually».

Так-с, поле ввода. Уже от чего-то можно плясать. Пробуем ввести какую-нибудь абракадабру, ожидаемо получаем «Please enter a valid key», и идём разбираться, что к чему. Первое, что настораживает при вдумчивом осмотре — наличие в папке, прямо рядом с бинарём игры, двух файлов, намекающих на использование в программе технологии Flash:

Вся гламурненькая оболочка для регистрации ключа, как оказалось, выполнена в том самом .SWF-файле. Может быть, и сам код проверки находится там же? Давайте посмотрим. Берём любой декомпилятор ActionScript (я, например, использовал Flare) и вынимаем из drm.swf исходный код.Смотрим, что же у нас там надекомпилировалось. Рано ли, поздно ли натыкаемся на вот такую интересную строчку:

    gFrameLabels[4] = 'RegFailed';

Ищем по «RegFailed» и выходим на вот этот блок кода:

    if (_root.RegCodeEdit.text.length >= 23 && _root.validate_regkey(_root.RegCodeEdit.text)) {
        _root.APError.text = '';
        gRegFailedHeader = gHeader_RegFail;
        gRegFailedMessage = gMessage_RegFail;
        gRegFailedRetryLocation = 'APScreen';
        fscommand('Register', _root.RegCodeEdit.text);
    }

Вот оно. Правильный ключ имеет в длину 23 символа (больше просто не позволяет ввести само текстовое поле) и заставляет

validate_regkey()

возвращать

True

. На то, что в этом же блоке кода происходит инициализация таких «страшных» значений как

gRegFailedMessage

, можно не обращать внимания, т.к. здесь, вне зависимости от них, из флэш-объекта посредством

fscommand()

происходит передача данных в родительский процесс.


Теперь пора заняться самой функцией

validate_regkey()

. Вот она целиком:

    function validate_regkey(string) {
      if (string.substr(5, 1) == '-' && string.substr(11, 1) == '-' && string.substr(17, 1) == '-') {
        char = new Array();
        k = 0;
        while (k <= string.length - 1) {
          char = string.slice(k, k   1);
          if (char == '0' || char == '1' || char == '2' || char == '3' || char == '4' || char == '5' || char == '6' || char == '7' || char == '8' || char == '9' || char == 'A' || char == 'B' || char == 'C' || char == 'D' || char == 'E' || char == 'F' || char == 'G' || char == 'H' || char == 'I' || char == 'J' || char == 'K' || char == 'L' || char == 'M' || char == 'N' || char == 'O' || char == 'P' || char == 'Q' || char == 'R' || char == 'S' || char == 'T' || char == 'U' || char == 'V' || char == 'W' || char == 'X' || char == 'Y' || char == 'Z' || char == 'a' || char == 'b' || char == 'c' || char == 'd' || char == 'e' || char == 'f' || char == 'g' || char == 'h' || char == 'i' || char == 'j' || char == 'k' || char == 'l' || char == 'm' || char == 'n' || char == 'o' || char == 'p' || char == 'q' || char == 'r' || char == 's' || char == 't' || char == 'u' || char == 'v' || char == 'w' || char == 'x' || char == 'y' || char == 'z' || char == '-' || char == ' ') {
            if (k == string.length - 1) {
              result = 'Thank you for submitting !';
              return true;
            }
          } else {
            result = 'Unauthorized character '   char;
            return false;
          }
            k;
        }
      } else {
        result = 'Error in delimiters';
        return false;
      }
    }

Что ж, центральная проверка — однозначный шедевр. Надо, наверное, запостить это на

Часть 2: we need to go deeper

Вот мы и попали, наконец, внутрь алгоритма проверки. Идём в список контрольных точек на память и удаляем

0x4417D0

(Alt Y → Del), выполняемся (Ctrl F9) до конца функции, т.к. там ничего интересного для нас нет, только цикл сравнения, далее возвращаемся в вызывавшую функцию (F8), и видим там проверку возвращённого результата. Опять пропускаем всё до конца функции и возвращаемся в вызывавшую:

Ага! А вот теперь мы в сердце анализатора лицензионного ключа. Чтобы не забыть это место, поставим (F2) контрольную точку на 0x04066CA и осмотримся вокруг. Чуть ниже (0x406757 и 0x4067A8) видны вызовы функций с очень интересными строковыми параметрами «RegSucceeded» и «RegFailed».

А повыше (0x406748) находится ветвление, которое передаёт управление в нужную функцию. Это ветвление завязано на сравнение (0x40672D) регистров AL и BL. Похоже, что функция 0x404260, вызываемая ещё двумя командами ранее — это как раз то, что мы искали, т.е. Самая Важная Функция Проверки.

Сначала, проверим свою догадку: изменим сравнение так, чтобы оно оказывалось верным при некорректных исходных данных. Наведём выделение на 0x406748 и нажмём пробел. Откроется окно «Assemble». Заменим переход по равенству, JE, на переход по неравенству — JNE. Запустим на выполнение (F9)…

Ура, первый бастион взят!Но мы сейчас пишем не просто кряк, а очень даже кейген. А это значит, что на достигнутом останавливаться рано, и придётся перезапустить программу (Ctrl F2) и углубиться в недра функции 0x404260.

Сейчас наша задача — понять, как себя ведут внутри этой функции регистры AL и BL, и где именно расположен кусок кода, ответственный за их равенство либо неравенство.Перейдём в «хвост» функции, поближе к точке выхода, RETN, и включим подсветку регистра BL (контекстное меню → Highlight register → EBX).

Как видите, содержимое регистра AL на протяжении практически всего «хвоста» хранится в BL, и только перед самым выходом копируется обратно, с дальнейшим восстановлением исходного значения EBX из стэка.При том, само значение AL берётся из функции, на картинке вверху помеченной выделением.Переходим внутрь этой функции — и что же мы видим:

У этой функции всего два возможных выходных значения — 0 и 1. Первое генерируется, когда строка байт, указатель на структуру с которой передан как параметр функции, не совпадает со строкой, чей указатель лежит по адресу [ECX 8]. Второе же (то самое, которое нам нужно) — при обратной ситуации, т.е. когда строки идентичны.

Часть 3: md5, rsa и все-все-все

Вернёмся в родительскую функцию и взглянем, откуда берутся значения из [ECX 8] и [ARG.1 8].

Для этого поставим (выделение → Shift F5) «аппаратные» точки контрольного останова на два адреса в стэке, в которые должны быть помещены эти строки. Для разных конфигураций машин и операционных систем данные адреса, скорее всего, будут различаться. Так, в моём случае это

0x33E6240x33E660

(вообще, рекомендую завести себе сбоку дополнительное окно, показывающее состояние стэка, независимое от положения его вершины, ESP,

Аппаратными эти контрольные точки быть обязаны, т.к. другие типы контрольных точек, будучи поставленными на стэк, либо приведут к «обвалу» программы, либо не будут сохраняться между запусками. Пока что эти точки нужно сделать неактивными (контекстное меню → Breakpoint → Hardware disable).

Теперь перезапустим программу и остановимся на входе в нашу главную функцию проверки (0x404260). Поставим туда контрольную точку и начнём трассировать функцию построчно (F8), следя за состоянием двух наших аппаратных точек останова. Трассировка показывает, что до строки 0x404546 оба значения остаются неизменными. А вот дальше уже любопытнее.

Функция, непосредственно вызываемая из 0x404546, является «трамплином» для запуска функции 0x41E320, так что в ней нет ничего интересного. Ставим точку останова на 0x41E320 и жмём F9.На данный момент, в стэке можно заметить строку, состоящую из странных, но тем не менее печатных символов (к примеру, у меня это A…..6..O6NBBO….E4GXF3O0..), символа перевода строки и постфикса ZUMA. Трассируем далее, и набредаем на 0x41E37F:

Так-так-так… да это же векторы инициализации для алгоритма MD5!MD5. Так-то лучше. Теперь анализ остального кода функции проходит легко и беззаботно:

Теперь давайте посмотрим на первую из наших аппаратных контрольных точек:

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

Так вот, после выполнения только что протрассированной нами процедуры, первый из фреймов уже заполнен. Т.е., у нас уже есть одна из строк, назовём её условно «эталонной», которая подвергнется сравнению с той, которую нам ещё только предстоит вычислить в

0x40454F0x40458C

Теперь взглянем попристальнее на строку 0x404560, откуда вызывается функция 0x41E5A0.Функция очень длинная и очень страшная, однако мы для того и здесь, чтобы сделать длинное и страшное простым и понятным. Эта функция обрабатывает введённую нами строку регистрационного ключа, и пересчитывает её в число.

  • 0x41E5A00x41E608: инициализация, выделение памяти, установка обработчика исключений
  • 0x41E60B0x41E6EF: цикл, преобразующий буквы строки в верхний регистр, и заменяющий символы «1» на «L», а «O» и «0» — на «Q»
  • 0x41E6F50x41E70A: подготовка ко второму циклу
  • 0x41E7100x41E7E4: второй цикл, строящий из строки число по принципу преобразования его из 28-ичной системы счисления (первый символ — младший разряд, последний — старший), с набором знаков «234679ACDEFGHJKLMNPQRTUVWXYZ», игнорируя дефисы, и выдающий ошибку при отсутствии текущего символа в наборе
  • 0x41E7EA0x41E844: копирование результата, освобождение временных буферов, выход
  • 0x41E8450x41E874: «хвост», выполняющийся, если второй цикл выдал ошибку

Отлично, строка пересчитана в число, и теперь мы что-то с нею делаем.

До заветного момента, когда можно сказать, что реверс произведён, осталась одна функция, 0x41E100 (вызов из 0x40458C).

Ну тут уж я не буду вас мучать прочтением и расшифровкой ассемблерных листингов, поскольку один хороший товарищ, к тому моменту как я только начал её разбирать, подкинул мне очень вовремя утёкший в Сеть кусок исходника PopCap`овского фреймворка, содержащий в себе пусть не реализацию указанной функции, но хотя бы её название.

В общем, барабанная дробь… та функция, на которую мы сейчас собираемся пойти в лобовую атаку, называется aSignature.ModPow(e, n).Интересующиеся могут проследовать к строке 00069 и обнаружить поразительное сходство функции bool SexyApp::Validate()

Также, рекомендую обратить внимание на сами e и n:

    BigInt n("42BF94023BBA6D040C8B81D9");
    BigInt e("11");

или, в ассемблерном представлении,

Часть 4: генератор ключей

Что ж, у нас есть практически все исходные данные, чтобы начать писать кейген. Единственное, что осталось сделать — это факторизовать публичный модуль

0x42BF94023BBA6D040C8B81D9

и вычислить приватную экспоненту. Ну что ж, берём в руки

, и получаем на выходе

0x03AE5465C52D0C4C0A8FE303D

Всё, осталось написать (или спереть готовую, хе-хе) реализацию длинной арифметики. Сам же алгоритм для генерации ключа у нас есть:

  1. посчитать MD5 от строки ИМЯПОЛЬЗОВАТЕЛЯ,0Ah,ZUMA
  2. выкинуть последний DWORD, и записать оставшееся в обратном порядке байтов
  3. по-WORD-ово пройтись по результату, и применить (чит.: скопипастить в кейген) сдвиг; см. 0x41D280
  4. снова поменять порядок байтов
  5. вычислить от полученного функцию ModPow(D, N), где D = 0x3AE5465C52D0C4C0A8FE303D, N = 0x42BF94023BBA6D040C8B81D9, E = 0x11
  6. последовательным делением на 28, подставляя остатки по таблице «234679ACDEFGHJKLMNPQRTUVWXYZ», раскрыть из вычисленного лицензионный ключ

Здесь я намеренно опустил несколько часов изысканий по поводу того, чем является та самая заветная строка «A…..6..O6NBBO….E4GXF3O0..», которую я по мере разбора принял как данность, а в вышеизложенном алгоритме обозначил как ИМЯПОЛЬЗОВАТЕЛЯ. Оказывается, она генерируется на основе железа компьютера, в частности количество сетевых адаптеров на компьютере отвечает за её длину.

Сам код этой генерации, на мой взгляд, писали какие-то параноики-наркоманы. Вот, например, реальная ситуация: в моём компьютере в каждый момент времени может находиться три или четыре сетевых адаптера (возвратник

lo

, Ethernet-интерфейс

eth0

, WiFi-интерфейс

wlan0

, а также мобильник, подключаемый через USB-порт и играющий роль GPRS-модема,

ppp0

). Как только я подключаю мобильник, их становится 4. Как отключаю — 3. Этим двум состояниям, по мнению генератора, соответствуют разные строки. Следовательно, в одном из них регистрация Zuma, купленная за, простите, €16.99, просто слетит.

В общем, исходя из вышесказанного, код, генерирующий эту пакость, я решил в кейген не копипастить, а банально красть уже готовую строку из памяти игры посредством ReadProcessMemory(). В качестве небольшого хулиганства, также я добавил возможность записывать в строку имени что-то своё (с помощью WriteProcessMemory(), как несложно догадаться). Но, к сожалению, работает (т.е. сохраняет валидность регистрации) такой трюк только на WINE, но не на «реальной» Windows.

В остальном — прошу любить и жаловать: Zuma keygen, proof-of-concept.Язык написания — ассемблер. Алгоритм MD5 скопипащен из бинаря игры, и слегка доработан напильником. 96-битная арифметика — аутентична =)

Кейген проверялся не только на той версии Zuma, про которую идёт речь в статье, но также ещё и на других, более ранних или поздних (я не разбирался). Несмотря на то, что адреса с именем пользователя разнились, сам лицензионный ключ подходил к ним всем, что свидетельствует о неизменности алгоритма аж с 2003 года.

Оцените статью
Радиокоптер.ру
Добавить комментарий