S
logo
0
читателей
Soulskiller  Игра на андроид, топ-даун (диаблоид) рогалик с элементами РПГ
О проекте Просмотр Уровни подписки Фильтры Статистика Обновления проекта Поделиться Метки
Все проекты
О проекте
Поддержка разработчика в создании игр
Публикации, доступные бесплатно
Уровни подписки
Единоразовый платёж

Безвозмездное пожертвование без возможности возврата. Этот взнос не предоставляет доступ к закрытому контенту.

Помочь проекту
Промо уровень 250₽ месяц Осталось 15 мест
Доступны сообщения

Подписка по специальным условиям для ограниченного количества подписчиков.

Оформить подписку
Бронза 500₽ месяц 5 100₽ год
(-15%)
При подписке на год для вас действует 15% скидка. 15% основная скидка и 0% доп. скидка за ваш уровень на проекте Soulskiller
Доступны сообщения

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

Оформить подписку
Серебро 990₽ месяц 10 098₽ год
(-15%)
При подписке на год для вас действует 15% скидка. 15% основная скидка и 0% доп. скидка за ваш уровень на проекте Soulskiller
Доступны сообщения

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

Оформить подписку
Золото 1 750₽ месяц 17 850₽ год
(-15%)
При подписке на год для вас действует 15% скидка. 15% основная скидка и 0% доп. скидка за ваш уровень на проекте Soulskiller
Доступны сообщения

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

Оформить подписку
Платина 5 000₽ месяц 51 000₽ год
(-15%)
При подписке на год для вас действует 15% скидка. 15% основная скидка и 0% доп. скидка за ваш уровень на проекте Soulskiller
Доступны сообщения

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

Оформить подписку
Фильтры
Статистика
Обновления проекта
Контакты
Поделиться
Читать: 9+ мин
S
logo
Soulskiller

Код в проекте

Привет. ‎Расскажу‏ ‎про ‎то, ‎как ‎устроен ‎код‏ ‎в ‎проекте,‏ ‎чего‏ ‎придерживался, ‎что ‎пришлось‏ ‎менять. ‎Тут‏ ‎есть, ‎о ‎чем ‎поговорить.‏ ‎Я‏ ‎поделюсь ‎своим‏ ‎опытом.

Разграничения

Как ‎уже‏ ‎писал ‎в ‎предыдущей ‎статье, ‎пространства‏ ‎имен‏ ‎– ‎это‏ ‎отличный ‎способ‏ ‎разграничить ‎островки ‎игровой ‎логики ‎в‏ ‎проекте‏ ‎в‏ ‎крупном ‎масштабе.‏ ‎На ‎более‏ ‎низком ‎уровне‏ ‎идет‏ ‎разбиение ‎на‏ ‎классы. ‎Помните, ‎Божественный ‎объект ‎–‏ ‎это ‎антипаттерн.‏ ‎К‏ ‎слову, ‎один ‎заказчик‏ ‎немного ‎разбирался‏ ‎в ‎программировании ‎и ‎всерьез‏ ‎хотел,‏ ‎чтобы ‎мы‏ ‎делали ‎именно‏ ‎божественные ‎объекты ‎в ‎играх.

Тогда ‎еще‏ ‎совет.‏ ‎Вы ‎–‏ ‎специалист ‎своего‏ ‎дела, ‎который ‎знает ‎технические ‎подробности‏ ‎реализации‏ ‎проекта,‏ ‎и ‎это‏ ‎ваша ‎обязанность‏ ‎– ‎настоять‏ ‎на‏ ‎правильном ‎обоснованном‏ ‎техническом ‎решении.

Альманах

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

Интерфейс‏ ‎или ‎абстрактный‏ ‎класс? ‎Абстрактный ‎класс ‎уместней ‎использовать‏ ‎при‏ ‎очевидной‏ ‎общности ‎наследников,‏ ‎интерфейс ‎же‏ ‎– ‎лишь‏ ‎модель‏ ‎поведения, ‎которую‏ ‎могут ‎реализовать ‎объекты, ‎не ‎имеющие‏ ‎ничего ‎общего‏ ‎между‏ ‎собой.

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

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

Только ‎спустя‏ ‎пару ‎лет‏ ‎практики ‎программирования ‎начинаешь ‎понимать ‎принципы‏ ‎SOLID‏ ‎и‏ ‎ООП ‎по-настоящему.‏ ‎Не ‎просто‏ ‎так ‎в‏ ‎каждом‏ ‎ролике, ‎в‏ ‎каждой ‎статье ‎или ‎интервью ‎с‏ ‎разработчиками ‎повторяется‏ ‎как‏ ‎мантра: ‎каждая ‎механика‏ ‎– ‎это‏ ‎отдельный ‎островок, ‎который ‎работает‏ ‎независимо‏ ‎от ‎других;‏ ‎удаляя ‎один‏ ‎компонент, ‎другой ‎не ‎должен ‎сломаться…‏ ‎Старайтесь‏ ‎придерживаться ‎принципов‏ ‎программирования, ‎это‏ ‎в ‎любом ‎случае ‎дешевле ‎обойдется,‏ ‎чем‏ ‎потом‏ ‎переделывать ‎все,‏ ‎поправляя ‎одно,‏ ‎ломая ‎тем‏ ‎самым‏ ‎другое. ‎

Совет.‏ ‎Не ‎переставайте ‎менять ‎именование ‎полей,‏ ‎методов ‎и‏ ‎классов‏ ‎до ‎тех ‎пор,‏ ‎пока ‎не‏ ‎станет ‎максимально ‎удовлетворять ‎вас.‏ ‎Именование‏ ‎должно ‎лаконично‏ ‎передавать ‎суть‏ ‎и ‎все. ‎Классы ‎именуются ‎как‏ ‎имя‏ ‎существительное, ‎методы‏ ‎как ‎глагол.‏ ‎События ‎привычно ‎писать ‎со ‎слова‏ ‎On‏ ‎(OnHit,‏ ‎OnLoaded, ‎OnError),‏ ‎но ‎методы,‏ ‎которые ‎на‏ ‎них‏ ‎подписываются, ‎должны‏ ‎передавать ‎свою ‎суть ‎(GetDamage, ‎Unfade,‏ ‎SetDefaultValues). ‎Помните,‏ ‎большую‏ ‎часть ‎времени ‎вы‏ ‎прежде ‎всего‏ ‎читаете ‎код, ‎нежели ‎непосредственно‏ ‎пишите‏ ‎его. ‎Решиться‏ ‎на ‎изменения‏ ‎в ‎коде ‎гораздо ‎легче, ‎если‏ ‎хорошо‏ ‎владеть ‎IDE‏ ‎(например, ‎переименование‏ ‎и ‎извлечение ‎метода).

Совет. ‎Используйте ‎ключевое‏ ‎слово‏ ‎field‏ ‎в ‎атрибутах,‏ ‎оно ‎позволяет‏ ‎воспринимать ‎свойства‏ ‎как‏ ‎поля, ‎отображая‏ ‎их ‎в ‎инспекторе, ‎но ‎все‏ ‎еще ‎инкапсулировать‏ ‎данные.‏ ‎Не ‎пренебрегайте ‎ограничением‏ ‎доступа ‎к‏ ‎данным. ‎Этот ‎трюк ‎сокращает‏ ‎количество‏ ‎строчек ‎в‏ ‎2 ‎раза,‏ ‎Карл! ‎Этот ‎десяток ‎строк ‎мог‏ ‎выглядеть‏ ‎как ‎20‏ ‎строк.

Спаун ‎противников

Тут‏ ‎вроде ‎все ‎просто. ‎Враги ‎появляются‏ ‎по‏ ‎волнам.‏ ‎Волны, ‎количество‏ ‎противников ‎и‏ ‎период ‎их‏ ‎создания‏ ‎во ‎время‏ ‎волны ‎определяется ‎в ‎SpawnerData. ‎Они‏ ‎могут ‎появляться‏ ‎на‏ ‎протяжении ‎всей ‎волны,‏ ‎могут ‎в‏ ‎начале ‎волны ‎или ‎только‏ ‎в‏ ‎конце; ‎по‏ ‎одному ‎в‏ ‎секунду ‎или ‎сразу ‎скопом.

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

Красными‏ ‎точками ‎отмечены‏ ‎темные ‎места‏ ‎для ‎появления‏ ‎Духов,‏ ‎а ‎белыми‏ ‎точки ‎под ‎открытым ‎небом ‎для‏ ‎создания ‎молнии‏ ‎и‏ ‎спауна ‎противников ‎из‏ ‎них.

Урон ‎и‏ ‎здоровье

Эту ‎часть ‎игры ‎тоже‏ ‎пришлось‏ ‎переписывать ‎после‏ ‎первых ‎попыток.‏ ‎Итогом ‎стали ‎абстрактный ‎класс ‎Health‏ ‎и‏ ‎его ‎наследники‏ ‎HealthPart ‎и‏ ‎HealthParent. ‎Предполагалось, ‎что ‎попадание ‎в‏ ‎разные‏ ‎части‏ ‎тела ‎(HealthPart)‏ ‎дает ‎множитель‏ ‎на ‎получаемый‏ ‎урон,‏ ‎передавая ‎значения‏ ‎на ‎HealthParent, ‎который ‎у ‎противника‏ ‎есть ‎в‏ ‎единственном‏ ‎экземпляре. ‎Это ‎решение‏ ‎из ‎общей‏ ‎папки ‎с ‎кодовой ‎базой,‏ ‎на‏ ‎самом ‎деле‏ ‎в ‎проекте‏ ‎используется ‎только ‎HealthParent.

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

Совет. ‎Старайтесь‏ ‎подписываться ‎на ‎события ‎(если‏ ‎это‏ ‎не ‎дочерние‏ ‎компоненты), ‎нежели‏ ‎напрямую ‎завязывать ‎внешние ‎объекты ‎между‏ ‎собой.‏ ‎Это ‎уменьшит‏ ‎связность ‎проекта,‏ ‎позволит ‎убирать ‎или ‎добавлять ‎что-либо‏ ‎на‏ ‎сцену,‏ ‎не ‎ломаю‏ ‎остальное.

Завершение

Понимаешь ‎диаграммы‏ ‎классов? ‎Что-то‏ ‎стоит‏ ‎поправить? ‎Что‏ ‎думаешь? ‎Есть ‎польза ‎от ‎написанного?‏ ‎Критикуй, ‎пиши,‏ ‎прочтем.‏ ‎Я ‎очень ‎надеюсь,‏ ‎что ‎делаю‏ ‎какое-то ‎полезное ‎дело, ‎в‏ ‎надежде‏ ‎повысить ‎свою‏ ‎и ‎вашу‏ ‎грамотность ‎в ‎написании ‎кода.

Разработчик | Проект | YouTube | e-mail | Поддержка

Читать: 6+ мин
S
logo
Soulskiller

Структура проекта

Привет, ‎коллеги.‏ ‎Пора ‎переходить ‎от ‎описания ‎девлога‏ ‎к ‎описанию‏ ‎проекта.‏ ‎В ‎этой ‎статье‏ ‎я ‎расскажу‏ ‎про ‎структуру ‎проекта:

  • Порядок ‎файлов‏ ‎и‏ ‎папок, ‎почему‏ ‎именно ‎так,‏ ‎какие ‎еще ‎варианты ‎бывают
  • Общая ‎архитектура‏ ‎кода
  • Советы‏ ‎по ‎организации‏ ‎кода ‎в‏ ‎проектах
  • Порядок ‎инициализации

Файловый ‎порядок

В ‎целом ‎мы‏ ‎на‏ ‎работе‏ ‎использовали ‎два‏ ‎подхода ‎по‏ ‎организации ‎файлов‏ ‎в‏ ‎проекте: ‎сортировать‏ ‎в ‎папки ‎по ‎типу ‎файлов‏ ‎или ‎по‏ ‎смысловой‏ ‎общности ‎(аля ‎ассет‏ ‎или ‎игровая‏ ‎механика). ‎Все ‎скрипты ‎лежат‏ ‎в‏ ‎одной ‎папе,‏ ‎а ‎все‏ ‎текстуры ‎в ‎другой? ‎Это ‎сортировка‏ ‎по‏ ‎типу ‎файлов.‏ ‎Если ‎же‏ ‎все ‎текстуры, ‎материалы, ‎анимации ‎и‏ ‎скрипты‏ ‎относятся‏ ‎к ‎одной‏ ‎игровой ‎механике‏ ‎и ‎лежат‏ ‎в‏ ‎папке ‎с‏ ‎игровой ‎механикой, ‎то ‎это ‎второй‏ ‎тип ‎порядка‏ ‎в‏ ‎проекте.

Долгое ‎время ‎мы‏ ‎придерживались ‎первого‏ ‎варианта, ‎но ‎на ‎практике‏ ‎рано‏ ‎или ‎поздно‏ ‎приходишь ‎к‏ ‎следующим ‎выводам:

  • В ‎процессе ‎разработки ‎ты‏ ‎работаешь‏ ‎не ‎с‏ ‎файлами ‎как‏ ‎таковыми, ‎а ‎с ‎игровой ‎механикой‏ ‎(с‏ ‎файлами,‏ ‎которые ‎к‏ ‎ней ‎относятся).‏ ‎Жутко ‎неудобно‏ ‎искать‏ ‎скрипт ‎в‏ ‎одной ‎папке, ‎править ‎шейдер ‎в‏ ‎другой ‎папке,‏ ‎далеко‏ ‎от ‎первой. ‎Ты‏ ‎вроде ‎работаешь‏ ‎над ‎одним ‎кирпичиком ‎проекта‏ ‎(над‏ ‎одной ‎игровой‏ ‎механикой), ‎а‏ ‎файлы ‎раскиданы ‎по ‎всему ‎проекту.‏ ‎Это‏ ‎жутко ‎неудобно.
  • Если‏ ‎ты ‎скачиваешь‏ ‎готовые ‎ассеты ‎с ‎Ассет ‎Стора,‏ ‎то‏ ‎они‏ ‎скачиваются ‎именно‏ ‎в ‎выше‏ ‎изложенном ‎виде‏ ‎–‏ ‎отдельная ‎папка‏ ‎игровой ‎механики, ‎внутри ‎которой ‎все,‏ ‎что ‎к‏ ‎ней‏ ‎относится: ‎скрипты, ‎текстуры,‏ ‎анимации, ‎звуки.
  • Так‏ ‎и ‎так ‎ты ‎используешь‏ ‎оба‏ ‎подхода, ‎но‏ ‎в ‎разных‏ ‎масштабах. ‎Глобально ‎папки ‎сформированы ‎по‏ ‎игровым‏ ‎механикам, ‎но‏ ‎внутри ‎этих‏ ‎папок ‎есть ‎папки ‎Scripts, ‎Sources,‏ ‎Prefabs.

Совет.‏ ‎С‏ ‎самого ‎начала‏ ‎и ‎до‏ ‎конца ‎работы‏ ‎на‏ ‎игрой ‎придерживайтесь‏ ‎какого-то ‎порядка ‎и ‎не ‎переставайте‏ ‎его ‎соблюдать.‏ ‎Несортированные‏ ‎файлы ‎и ‎непродуманная‏ ‎архитектура ‎накапливается‏ ‎и ‎с ‎каждым ‎разом‏ ‎и‏ ‎все ‎больше‏ ‎усложняет ‎процесс‏ ‎разработки. ‎Тебе ‎попросту ‎больше ‎не‏ ‎хочется‏ ‎в ‎этом‏ ‎всем ‎разбираться.‏ ‎Книга ‎Роберта ‎Мартина ‎«Чистый ‎код»,‏ ‎как‏ ‎мне‏ ‎показалось, ‎прежде‏ ‎всего ‎учит‏ ‎придерживаться ‎порядка.‏ ‎А‏ ‎какой ‎именно‏ ‎порядок, ‎это ‎уже ‎вам ‎решать.‏ ‎Придерживайтесь.

Структура ‎кода

Все‏ ‎Unity-проекты‏ ‎– ‎это ‎монолитное‏ ‎приложение. Внутри ‎же‏ ‎мы ‎можем ‎использовать ‎различные‏ ‎подходы,‏ ‎например, ‎MVC и‏ ‎его ‎разновидности‏ ‎или ‎ECS (в ‎Unity ‎встроен ‎DOTS).

Совет.‏ ‎Не‏ ‎забывайте ‎пользоваться‏ ‎пространствами ‎имен, очень‏ ‎помогает ‎организовать ‎работу ‎кода. ‎Еще‏ ‎вариант,‏ ‎к‏ ‎которому ‎я‏ ‎не ‎склонился‏ ‎– ‎это‏ ‎AssemblyDefinition. Как‏ ‎по ‎мне,‏ ‎подобный ‎способ ‎неудобен ‎из-за ‎чувствительной‏ ‎настройки. ‎А‏ ‎еще‏ ‎ты ‎можешь ‎долгое‏ ‎время ‎не‏ ‎понимать ‎почему ‎не ‎компилируется‏ ‎код,‏ ‎и ‎кто‏ ‎на ‎кого‏ ‎должен ‎ссылаться. ‎Звучит ‎как ‎отговорка,‏ ‎но‏ ‎я ‎не‏ ‎пришел ‎к‏ ‎этому ‎способу, ‎просто ‎использую ‎пространства‏ ‎имен.

В‏ ‎проекте‏ ‎есть ‎общее‏ ‎пространство ‎имен‏ ‎IndieBroGames, ‎внутри‏ ‎которого‏ ‎есть ‎остальные.‏ ‎Например, ‎IndieBroGames.Common ‎содержит ‎в ‎себе‏ ‎мою ‎накопленную‏ ‎базу‏ ‎скриптов, ‎база ‎формировалась‏ ‎в ‎процессе‏ ‎работы ‎над ‎другими ‎проектами,‏ ‎включает‏ ‎мои ‎наработки,‏ ‎измененные ‎версии‏ ‎других ‎скриптов ‎и ‎чужого ‎опыта.‏ ‎Это‏ ‎пространство ‎имен‏ ‎не ‎имеет‏ ‎зависимостей ‎от ‎конкретного ‎проекта ‎и‏ ‎используется‏ ‎в‏ ‎каждом ‎проекте‏ ‎в ‎одностороннем‏ ‎порядке.

А ‎есть‏ ‎пространство‏ ‎имен ‎IndieBroGames.Soulskiller,‏ ‎к ‎которому ‎относятся ‎скрипты ‎этой‏ ‎игры. ‎Это‏ ‎пространство‏ ‎имен ‎может ‎использовать‏ ‎скрипты ‎из‏ ‎IndieBroGames. ‎Common. ‎Здесь ‎формируется‏ ‎конкретная‏ ‎реализация ‎игровых‏ ‎механик, ‎относящихся‏ ‎только ‎к ‎этой ‎игре.

Под ‎IndieBroGames.Soulskiller‏ ‎лежат‏ ‎остальные ‎пространства‏ ‎имен, ‎которые‏ ‎отсортированы… ‎по ‎игровым ‎механикам, ‎как‏ ‎папки,‏ ‎в‏ ‎которых ‎и‏ ‎лежат ‎эти‏ ‎скрипты. ‎Например,‏ ‎поведение‏ ‎противников ‎основано‏ ‎на ‎машине ‎состояний ‎(об ‎этом‏ ‎поговорим ‎чуть‏ ‎позже),‏ ‎где ‎машина ‎состояний‏ ‎находится ‎в‏ ‎пространстве ‎имен ‎IndieBroGames.Common.StateMachineSystem, ‎а‏ ‎состояния‏ ‎противников ‎унаследованы‏ ‎от ‎абстрактного‏ ‎класса ‎State.

Порядок ‎инициализации

Начало ‎начал ‎в‏ ‎игре‏ ‎– ‎это‏ ‎первая ‎сцена‏ ‎для ‎инициализации ‎ядра ‎из ‎пространства‏ ‎имен‏ ‎IndieBroGames.‏ ‎Common. ‎По‏ ‎сути ‎Core‏ ‎– ‎это‏ ‎точка,‏ ‎в ‎которой‏ ‎инициализируются ‎все ‎основные ‎системы, ‎а‏ ‎также ‎это‏ ‎фасад для‏ ‎доступа ‎ко ‎всем‏ ‎этим ‎системам.

Ядро‏ ‎включает ‎систему ‎сохранения, ‎локализацию,‏ ‎асинхронный‏ ‎загрузчик ‎сцен,‏ ‎механику ‎паузы‏ ‎и ‎некоторые ‎другие ‎вещи.

Вторая ‎сцена‏ ‎–‏ ‎инициализация ‎ядра‏ ‎проекта ‎и‏ ‎выбор ‎предварительных ‎настроек ‎– ‎языка‏ ‎локализации,‏ ‎громкости‏ ‎и ‎вибрации.

Ядро‏ ‎проекта, ‎по‏ ‎аналогии, ‎содержит‏ ‎в‏ ‎себе ‎вещи,‏ ‎к ‎которым ‎нужен ‎доступ ‎в‏ ‎процессе ‎игры.‏ ‎Только‏ ‎те ‎вещи, ‎которые‏ ‎относятся ‎к‏ ‎этому ‎проекту.

После ‎всех ‎инициализаций‏ ‎запускается‏ ‎сцена ‎с‏ ‎убежищем ‎главного‏ ‎героя, ‎охотника ‎на ‎нечисть.

Завершение

Что ‎не‏ ‎так‏ ‎сказал? ‎Какие‏ ‎бывают ‎еще‏ ‎способы ‎упорядочить ‎проект? ‎Мысли, ‎критика?‏ ‎Пиши,‏ ‎прочтем.

Разработчик | Проект | YouTube | e-mail | Поддержка

Читать: 5+ мин
S
logo
Soulskiller

Особенности игры и игры-вдохновители

Привет, ‎коллеги.‏ ‎Расскажу ‎про ‎игровой ‎цикл ‎и‏ ‎на ‎какие‏ ‎игры‏ ‎ориентировался ‎в ‎процессе.

Об‏ ‎игре ‎и‏ ‎вдохновителях

Игра ‎будет ‎по ‎сути‏ ‎ареной,‏ ‎в ‎которой‏ ‎противники ‎нападают‏ ‎волнами. ‎По ‎завершении ‎одной ‎волны,‏ ‎игрок‏ ‎активирует ‎следующую‏ ‎на ‎определенной‏ ‎точке ‎на ‎арене. ‎Примерами ‎игр‏ ‎по‏ ‎волнам‏ ‎могут ‎быть‏ ‎Killing ‎Floor‏ ‎(pc), ‎Only‏ ‎One‏ ‎(android), ‎They‏ ‎are ‎Billions ‎(pc). ‎С ‎каждым‏ ‎разом ‎противников‏ ‎будет‏ ‎больше ‎и ‎разнообразней.‏ ‎Придется ‎учитывать‏ ‎их ‎особенности ‎и ‎расставлять‏ ‎приоритеты.

В‏ ‎свое ‎время‏ ‎мне ‎очень‏ ‎нравилась ‎игра ‎Painkiller ‎(pc). ‎Да,‏ ‎она‏ ‎была ‎не‏ ‎самой ‎оригинальной‏ ‎в ‎плане ‎игровых ‎механик ‎(хотя‏ ‎там‏ ‎были‏ ‎карты ‎таро‏ ‎и ‎специфичная‏ ‎пушка ‎у‏ ‎героя,‏ ‎а ‎у‏ ‎каждого ‎оружия ‎альтернативный ‎огонь), ‎но‏ ‎какая ‎там‏ ‎была‏ ‎атмосфера! ‎Мрачные ‎текстуры‏ ‎подземелий ‎и‏ ‎заброшенных ‎зданий ‎в ‎совокупности‏ ‎с‏ ‎отлично ‎подобранными‏ ‎звуками, ‎отлетающие‏ ‎в ‎виде ‎тряпичных ‎кукол ‎противники‏ ‎и‏ ‎награда ‎–‏ ‎душа ‎поверженного‏ ‎противника!

Противники

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

Механики

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

Боевые‏ ‎особенности.‏ ‎Герой ‎применяет‏ ‎автоматические ‎способности,‏ ‎как ‎только ‎противник ‎приблизится ‎достаточно‏ ‎близко.‏ ‎Подошел ‎близко?‏ ‎Получи ‎удар‏ ‎мечом. ‎Еще ‎далеко, ‎но ‎на‏ ‎расстоянии‏ ‎выстрела?‏ ‎Луки ‎к‏ ‎бою! ‎Много‏ ‎вражин? ‎Граната‏ ‎решит‏ ‎проблему. ‎Помимо‏ ‎автоматических ‎способностей ‎есть ‎магия, ‎которую‏ ‎игрок ‎выбирает‏ ‎куда‏ ‎применить, ‎перетаскивая ‎иконку‏ ‎способности ‎в‏ ‎точку ‎на ‎арене. ‎Магия‏ ‎перезаряжается.‏ ‎Но ‎так‏ ‎же ‎есть‏ ‎свитки, ‎которые ‎выпадают ‎из ‎противников.‏ ‎Свитки‏ ‎по ‎своей‏ ‎сути ‎–‏ ‎одноразовая ‎магия ‎без ‎выбора ‎точки‏ ‎применения.‏ ‎Например,‏ ‎самолечение ‎или‏ ‎удар ‎молнии‏ ‎в ‎одного‏ ‎из‏ ‎случайных ‎противников.

С‏ ‎каждым ‎днем ‎я ‎понемногу ‎начал‏ ‎сомневаться ‎в‏ ‎том,‏ ‎что ‎делаю ‎что-то‏ ‎необычное, ‎новое,‏ ‎а ‎не ‎очередную ‎игру,‏ ‎в‏ ‎которой ‎нет‏ ‎ничего, ‎чего‏ ‎вы ‎не ‎видели ‎в ‎других‏ ‎играх.‏ ‎Очень ‎надеюсь,‏ ‎что ‎это‏ ‎не ‎так. ‎В ‎моих ‎силах‏ ‎придумать‏ ‎незаезженную‏ ‎магическую ‎способность‏ ‎и ‎поведение‏ ‎врагов.

Убежище

Это ‎наше‏ ‎Лобби.‏ ‎Место, ‎в‏ ‎котором ‎охотник ‎подготавливается ‎к ‎следующему‏ ‎забегу. ‎Здесь‏ ‎можно‏ ‎изучить ‎свитки, ‎прочитать‏ ‎в ‎Альманахе‏ ‎особенности ‎поведения ‎противников, ‎выбрать‏ ‎снаряжение‏ ‎и ‎повысить‏ ‎навыки ‎главного‏ ‎героя. ‎Знакомясь ‎в ‎процессе ‎боя‏ ‎с‏ ‎новыми ‎противниками,‏ ‎вы ‎пополняете‏ ‎страницы ‎Альманаха, ‎в ‎котором ‎описывается‏ ‎поведение‏ ‎и‏ ‎особенности ‎вновь‏ ‎изученного ‎противника.

Итогом

Пусть‏ ‎это ‎будет‏ ‎фишкой‏ ‎девлога, ‎я‏ ‎буду ‎определять ‎пользу ‎и ‎итоги‏ ‎как ‎для‏ ‎себя,‏ ‎так ‎и ‎для‏ ‎читателей ‎отдельно.

Написав‏ ‎все ‎это, ‎я ‎скомпоновал‏ ‎в‏ ‎своей ‎голове‏ ‎краткое ‎описание‏ ‎игры, ‎еще ‎раз ‎прошелся ‎по‏ ‎механикам‏ ‎и… ‎кажется‏ ‎все ‎не‏ ‎так ‎плохо, ‎игра ‎потенциально ‎может‏ ‎удивить‏ ‎заядлого‏ ‎игрока, ‎порадовать‏ ‎новыми ‎игровыми‏ ‎механиками ‎или‏ ‎дать‏ ‎новое ‎представление‏ ‎уже ‎знакомым ‎механикам.

Для ‎вас ‎же‏ ‎итогом ‎будет‏ ‎пару‏ ‎советов. ‎Старайтесь ‎делать‏ ‎свои ‎игры‏ ‎самобытными, ‎индивидуальными, ‎иначе ‎какой‏ ‎смысл‏ ‎в ‎таком‏ ‎творчестве. ‎Многие‏ ‎большие ‎игры, ‎которые ‎сейчас ‎выпускают,‏ ‎очень‏ ‎шаблонные ‎и‏ ‎привычные ‎игрокам.‏ ‎Цвет ‎зеленый-синий-золотой ‎для ‎противников ‎и‏ ‎оружия,‏ ‎аванпосты‏ ‎и ‎собирательство‏ ‎ресурсов, ‎награда‏ ‎за ‎проделанную‏ ‎работу.‏ ‎Пусть ‎лучше‏ ‎сам ‎процесс ‎приносит ‎удовольствие, ‎чем‏ ‎награда ‎после‏ ‎рутины.

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

Немного ‎пользы ‎от‏ ‎статьи. ‎Как‏ ‎запомнить ‎названия ‎планет? ‎Джоел‏ ‎поможет.‏ ‎"Мама ‎всегда‏ ‎запрещала ‎мне,‏ ‎юному ‎следопыту, ‎учить ‎названия ‎планет"‏ ‎(Меркурий,‏ ‎Венера, ‎Земля...)

Вопросы,‏ ‎мнение, ‎критика?‏ ‎Пиши, ‎что ‎думаешь.

Какие ‎магические ‎способности‏ ‎реже‏ ‎всего‏ ‎встречаются? ‎Я‏ ‎бы ‎сказал,‏ ‎что ‎большинство‏ ‎игр‏ ‎стараются ‎воздействовать‏ ‎магией ‎напрямую ‎на ‎противника. ‎Я‏ ‎бы ‎хотел‏ ‎как-нибудь‏ ‎сделать ‎игру ‎про‏ ‎ведьму, ‎которая‏ ‎побеждает ‎непрошенных ‎гостей ‎Темного‏ ‎леса‏ ‎косвенным ‎путем,‏ ‎влияя ‎на‏ ‎природу ‎или ‎на ‎снаряжение ‎противников,‏ ‎на‏ ‎их ‎восприятие‏ ‎мира.

Разработчик | Проект | YouTube | Поддержка

Читать: 12+ мин
logo Хроники кибер-безопасника

MalPurifier. Детокс вашего андроид устройства по одному вредоносному байту за раз

Ещё ‎один‏ ‎документ ‎для ‎анализа. ‎На ‎этот‏ ‎раз ‎это‏ ‎захватывающая‏ ‎статья ‎«MalPurifier: ‎повышение‏ ‎эффективности ‎обнаружения‏ ‎вредоносных ‎программ ‎в ‎Android‏ ‎за‏ ‎счет ‎состязательной‏ ‎защиты ‎от‏ ‎атак ‎с ‎уклонением». ‎Потому ‎что,‏ ‎знаете‏ ‎ли, ‎миру‏ ‎действительно ‎нужна‏ ‎была ‎ещё ‎одна ‎статья ‎по‏ ‎обнаружению‏ ‎вредоносных‏ ‎программ ‎в‏ ‎Android.

Сначала ‎мы‏ ‎рассмотрим ‎введение‏ ‎и‏ ‎мотивацию, ‎чтобы‏ ‎понять, ‎почему ‎необходимо ‎ещё ‎одно‏ ‎решение ‎для‏ ‎борьбы‏ ‎с ‎постоянно ‎растущими‏ ‎угрозами, ‎связанными‏ ‎с ‎вредоносными ‎программами ‎для‏ ‎Android.‏ ‎Предупреждение ‎о‏ ‎спойлере: ‎это‏ ‎потому, ‎что ‎современные ‎подходы, ‎основанные‏ ‎на‏ ‎машинном ‎обучении,‏ ‎так ‎же‏ ‎уязвимы, ‎как ‎карточный ‎домик ‎во‏ ‎время‏ ‎шторма.

Затем‏ ‎мы ‎перейдём‏ ‎к ‎экспериментальной‏ ‎установке ‎и‏ ‎результатам.‏ ‎В ‎этом‏ ‎разделе ‎будет ‎показано, ‎как ‎MalPurifier‏ ‎превосходит ‎другие‏ ‎средства‏ ‎защиты, ‎достигая ‎точности‏ ‎более ‎90,91%.‏ ‎Впечатляет, ‎если ‎не ‎принимать‏ ‎во‏ ‎внимание ‎тот‏ ‎факт, ‎что‏ ‎он ‎протестирован ‎на ‎наборах ‎данных,‏ ‎которые‏ ‎могут ‎отражать,‏ ‎а ‎могут‏ ‎и ‎не ‎отражать ‎реальные ‎сценарии.

В‏ ‎разделе‏ ‎«Механизмы‏ ‎защиты» ‎будут‏ ‎рассмотрены ‎различные‏ ‎стратегии, ‎используемые‏ ‎MalPurifier,‏ ‎такие ‎как‏ ‎состязательная ‎очистка ‎и ‎состязательное ‎обучение.‏ ‎Потому ‎что‏ ‎ничто‏ ‎так ‎не ‎говорит‏ ‎о ‎«надёжной‏ ‎защите», ‎как ‎подбрасывание ‎более‏ ‎убедительных‏ ‎примеров ‎решения‏ ‎проблемы.

Конечно, ‎ни‏ ‎одна ‎статья ‎не ‎будет ‎полной‏ ‎без‏ ‎признания ‎её‏ ‎недостатков ‎и‏ ‎будущей ‎работы. ‎Здесь ‎авторы ‎смиренно‏ ‎признают,‏ ‎что‏ ‎их ‎решение‏ ‎не ‎идеально,‏ ‎и ‎предложат‏ ‎области‏ ‎для ‎будущих‏ ‎исследований. ‎Поскольку, ‎естественно, ‎поиск ‎идеальной‏ ‎системы ‎обнаружения‏ ‎вредоносных‏ ‎программ ‎никогда ‎не‏ ‎заканчивается.

Этот ‎анализ‏ ‎предоставит ‎высококачественное ‎краткое ‎изложение‏ ‎документа,‏ ‎подчеркнув ‎его‏ ‎вклад ‎и‏ ‎значение ‎для ‎специалистов ‎по ‎безопасности‏ ‎и‏ ‎других ‎специалистов‏ ‎в ‎различных‏ ‎областях. ‎Он ‎будет ‎особенно ‎полезен‏ ‎тем,‏ ‎кто‏ ‎любит ‎читать‏ ‎о ‎последних‏ ‎достижениях ‎в‏ ‎области‏ ‎обнаружения ‎вредоносных‏ ‎программ, ‎даже ‎если ‎их ‎практическое‏ ‎применение ‎все‏ ‎ещё‏ ‎вызывает ‎споры.

-------

В ‎документе‏ ‎представлен ‎анализ‏ ‎статьи ‎" ‎MalPurifier: ‎Enhancing‏ ‎Android‏ ‎Malware ‎Detection‏ ‎with ‎Adversarial‏ ‎Purification ‎against ‎Evasion ‎Attacks». ‎Анализ‏ ‎посвящён‏ ‎различным ‎аспектам‏ ‎статьи, ‎включая‏ ‎используемую ‎методологию, ‎экспериментальную ‎установку ‎и‏ ‎полученные‏ ‎результаты.

Этот‏ ‎анализ ‎представляет‏ ‎собой ‎качественное‏ ‎изложение ‎документа,‏ ‎предлагающее‏ ‎ценную ‎информацию‏ ‎специалистам ‎в ‎области ‎безопасности, ‎исследователям‏ ‎и ‎практикам‏ ‎в‏ ‎различных ‎областях. ‎Понимая‏ ‎сильные ‎стороны‏ ‎и ‎ограничения ‎платформы ‎MalPurifier,‏ ‎заинтересованные‏ ‎стороны ‎смогут‏ ‎лучше ‎оценить‏ ‎её ‎потенциальные ‎применения ‎и ‎вклад‏ ‎в‏ ‎совершенствование ‎систем‏ ‎обнаружения ‎вредоносных‏ ‎программ ‎Android. ‎Анализ ‎особенно ‎полезен‏ ‎для‏ ‎тех,‏ ‎кто ‎занимается‏ ‎кибербезопасностью, ‎машинным‏ ‎обучением ‎и‏ ‎безопасностью‏ ‎мобильных ‎приложений,‏ ‎поскольку ‎в ‎нем ‎освещаются ‎инновационные‏ ‎подходы ‎к‏ ‎снижению‏ ‎рисков, ‎связанных ‎с‏ ‎атаками ‎с‏ ‎целью ‎предотвращения ‎обнаружения.

В ‎документе‏ ‎под‏ ‎названием ‎«MalPurifier:‏ ‎Enhancing ‎Android‏ ‎Malware ‎Detection ‎with ‎Adversarial ‎Purification‏ ‎against‏ ‎Evasion ‎Attacks»‏ ‎представлен ‎новый‏ ‎подход ‎к ‎улучшению ‎обнаружения ‎вредоносных‏ ‎программ‏ ‎для‏ ‎Android, ‎особенно‏ ‎в ‎условиях‏ ‎состязательных ‎атак‏ ‎уклонения‏ ‎(adversarial ‎evasion‏ ‎attacks). ‎В ‎документе ‎подчёркивается, ‎что‏ ‎это ‎первая‏ ‎попытка‏ ‎использовать ‎состязательную ‎очистку‏ ‎для ‎смягчения‏ ‎атак ‎в ‎экосистеме ‎Android,‏ ‎предоставляя‏ ‎многообещающее ‎решение‏ ‎для ‎повышения‏ ‎безопасности ‎систем ‎обнаружения ‎вредоносных ‎программ‏ ‎Android.

Мотивация:

📌 Распространённость‏ ‎вредоносного ‎ПО‏ ‎для ‎Android: В‏ ‎документе ‎освещается ‎широко ‎распространённая ‎проблема‏ ‎вредоносного‏ ‎ПО‏ ‎для ‎Android,‏ ‎которое ‎представляет‏ ‎значительные ‎угрозы‏ ‎безопасности‏ ‎для ‎пользователей‏ ‎и ‎устройств.

📌 Методы ‎уклонения: часто ‎используются ‎методы‏ ‎уклонения ‎для‏ ‎модификации‏ ‎вредоносных ‎программ, ‎что‏ ‎затрудняет ‎их‏ ‎идентификацию ‎традиционными ‎системами ‎обнаружения.

Проблемы:

📌 Состязательные‏ ‎атаки: обсуждаются‏ ‎проблемы, ‎связанные‏ ‎с ‎состязательными‏ ‎атаками, ‎когда ‎небольшие ‎изменения ‎кода‏ ‎вредоносных‏ ‎программ ‎позволяют‏ ‎избежать ‎обнаружения.

📌 Уязвимости‏ ‎системы ‎обнаружения: ‎Существующие ‎системы ‎обнаружения‏ ‎вредоносных‏ ‎программ‏ ‎уязвимы ‎для‏ ‎этих ‎состязательных‏ ‎атак, ‎что‏ ‎требует‏ ‎более ‎надёжных‏ ‎решений.

Цель ‎и ‎предлагаемое ‎решение:

📌 Повышение ‎надёжности‏ ‎обнаружения: цель ‎исследования‏ ‎—‏ ‎повышение ‎устойчивость ‎систем‏ ‎обнаружения ‎вредоносных‏ ‎программ ‎Android ‎к ‎атакам‏ ‎с‏ ‎использованием ‎состязательного‏ ‎уклонения.

📌 Предлагаемое ‎решение: MalPurifier,‏ ‎направлено ‎на ‎очистку ‎мусора ‎в‏ ‎образцах‏ ‎и ‎восстановление‏ ‎вредоносного ‎ПО‏ ‎до ‎обнаруживаемой ‎формы.

📌 Используемые ‎методы: ‎В‏ ‎системе‏ ‎используются‏ ‎такие ‎методы,‏ ‎как ‎автокодирование‏ ‎и ‎генеративные‏ ‎состязательные‏ ‎сети ‎(GAN)‏ ‎для ‎процесса ‎очистки.

Техники, ‎используемые ‎при‏ ‎атаках ‎уклонения:

📌 Образцы‏ ‎состязательности:‏ ‎часто ‎используются ‎методы‏ ‎уклонения ‎для‏ ‎модификации ‎вредоносных ‎программ, ‎что‏ ‎затрудняет‏ ‎их ‎идентификацию‏ ‎традиционными ‎системами‏ ‎обнаружения.

📌 Обфусцирование: Такие ‎методы, ‎как ‎шифрование ‎кода,‏ ‎упаковка‏ ‎и ‎полиморфизм,‏ ‎используются ‎для‏ ‎изменения ‎внешнего ‎вида ‎вредоносного ‎ПО‏ ‎без‏ ‎изменения‏ ‎его ‎функциональности.

Значение:

📌 Улучшенная‏ ‎безопасность: Расширяя ‎возможности‏ ‎систем ‎обнаружения‏ ‎вредоносных‏ ‎программ, ‎MalPurifier‏ ‎стремится ‎обеспечить ‎лучшую ‎безопасность ‎устройств‏ ‎Android.

📌 Вклад ‎в‏ ‎исследование:‏ ‎Статья ‎вносит ‎свой‏ ‎вклад, ‎устраняя‏ ‎пробел ‎в ‎надёжных ‎решениях‏ ‎для‏ ‎обнаружения ‎вредоносных‏ ‎программ, ‎способных‏ ‎противостоять ‎злоумышленным ‎атакам.

Преимущества

📌 Высокая ‎точность: ‎MalPurifier‏ ‎демонстрирует‏ ‎высокую ‎эффективность,‏ ‎достигая ‎точности‏ ‎более ‎90,91% ‎при ‎37 ‎различных‏ ‎атаках.‏ ‎Это‏ ‎указывает ‎на‏ ‎высокую ‎производительность‏ ‎при ‎обнаружении‏ ‎вредоносных‏ ‎программ.

📌 Масштабируемость: Метод ‎легко‏ ‎масштабируется ‎для ‎различных ‎моделей ‎обнаружения,‏ ‎обеспечивая ‎гибкость‏ ‎и‏ ‎надёжность ‎в ‎его‏ ‎реализации, ‎не‏ ‎требуя ‎значительных ‎модификаций.

📌 Лёгкий ‎и‏ ‎гибкий:‏ ‎Использование ‎модели‏ ‎с ‎шумоподавляющим‏ ‎автоэнкодером ‎(Denoising ‎AutoEncoder, ‎DAE) ‎обеспечивает‏ ‎лёгкий‏ ‎и ‎гибкий‏ ‎подход ‎к‏ ‎очистке ‎от ‎вредоносного ‎ПО. ‎Это‏ ‎гарантирует,‏ ‎что‏ ‎метод ‎может‏ ‎быть ‎интегрирован‏ ‎в ‎существующие‏ ‎системы‏ ‎с ‎минимальными‏ ‎накладными ‎расходами.

📌 Комплексная ‎защита: ‎Уделяя ‎особое‏ ‎внимание ‎очистке‏ ‎от‏ ‎вредоносных ‎программ, ‎MalPurifier‏ ‎устраняет ‎критическую‏ ‎уязвимость ‎в ‎системах ‎обнаружения‏ ‎вредоносных‏ ‎программ ‎на‏ ‎основе ‎ML,‏ ‎повышая ‎их ‎общую ‎безопасность ‎и‏ ‎устойчивость‏ ‎к ‎изощренным‏ ‎методам ‎уклонения.

Ограничения

📌 Обобщение‏ ‎на ‎другие ‎платформы: Текущая ‎реализация ‎и‏ ‎оценка‏ ‎сосредоточены‏ ‎исключительно ‎на‏ ‎экосистеме ‎Android.‏ ‎Эффективность ‎MalPurifier‏ ‎на‏ ‎других ‎платформах,‏ ‎таких ‎как ‎iOS ‎или ‎Windows,‏ ‎остаётся ‎непроверенной‏ ‎и‏ ‎неопределённой.

📌 Проблемы ‎с ‎масштабируемостью: хотя‏ ‎в ‎документе‏ ‎утверждается ‎о ‎масштабируемости, ‎фактическая‏ ‎производительность‏ ‎и ‎действенность‏ ‎MalPurifier ‎в‏ ‎крупномасштабных ‎сценариях ‎обнаружения ‎в ‎реальном‏ ‎времени‏ ‎тщательно ‎не‏ ‎оценивались. ‎Это‏ ‎вызывает ‎вопросы ‎о ‎практической ‎применимости‏ ‎в‏ ‎средах‏ ‎с ‎соответствующими‏ ‎сценариями ‎нагрузки.

📌 Вычислительные‏ ‎издержки: Процесс ‎очистки‏ ‎приводит‏ ‎к ‎дополнительным‏ ‎вычислительным ‎издержкам. ‎Несмотря ‎на ‎то,‏ ‎что ‎он‏ ‎описывается‏ ‎как ‎лёгкий, ‎его‏ ‎влияние ‎на‏ ‎производительность ‎системы, ‎особенно ‎в‏ ‎средах‏ ‎с ‎ограниченными‏ ‎ресурсами ‎требует‏ ‎дальнейшего ‎изучения.

📌 Адаптация ‎к ‎состязательности: ‎могут‏ ‎разрабатываться‏ ‎новые ‎стратегии‏ ‎для ‎адаптации‏ ‎к ‎процессу ‎очистки, ‎потенциально ‎обходя‏ ‎средства‏ ‎защиты,‏ ‎предоставляемые ‎MalPurifier.‏ ‎Постоянная ‎адаптация‏ ‎и ‎совершенствование‏ ‎методов‏ ‎необходимы ‎для‏ ‎своевременного ‎опережения ‎угроз.

📌 Показатели ‎оценки: ‎Оценка‏ ‎в ‎первую‏ ‎очередь‏ ‎фокусируется ‎на ‎точности‏ ‎обнаружения ‎и‏ ‎устойчивости ‎к ‎атакам ‎уклонения.‏ ‎Другие‏ ‎важные ‎показатели,‏ ‎такие ‎как‏ ‎потребление ‎энергии, ‎опыт ‎работы ‎с‏ ‎пользователем‏ ‎и ‎долгосрочная‏ ‎эффективность, ‎не‏ ‎учитываются, ‎что ‎ограничивает ‎полноту ‎оценки.

📌 Интеграция‏ ‎с‏ ‎существующими‏ ‎системами: В ‎документе‏ ‎подробно ‎не‏ ‎обсуждается ‎интеграция‏ ‎MalPurifier‏ ‎с ‎существующими‏ ‎системами ‎обнаружения ‎вредоносных ‎программ ‎и‏ ‎потенциальное ‎влияние‏ ‎на‏ ‎их ‎производительность. ‎Необходимы‏ ‎бесшовные ‎стратегии‏ ‎интеграции ‎и ‎комбинированные ‎оценки‏ ‎эффективности

Влияние‏ ‎на ‎технологию

📌 Прогресс‏ ‎в ‎обнаружении‏ ‎вредоносных ‎программ: ‎MalPurifier ‎представляет ‎собой‏ ‎значительный‏ ‎технологический ‎прогресс‏ ‎в ‎области‏ ‎обнаружения ‎вредоносных ‎программ. ‎Используя ‎методы‏ ‎состязательной‏ ‎очистки,‏ ‎он ‎повышает‏ ‎устойчивость ‎систем‏ ‎обнаружения ‎вредоносных‏ ‎программ‏ ‎Android ‎к‏ ‎атакам-уклонениям. ‎Это ‎нововведение ‎может ‎привести‏ ‎к ‎разработке‏ ‎более‏ ‎безопасных ‎и ‎надёжных‏ ‎инструментов ‎обнаружения‏ ‎вредоносных ‎программ.

📌 Механизмы ‎защиты ‎от‏ ‎состязательности: Статья‏ ‎вносит ‎вклад‏ ‎в ‎более‏ ‎широкую ‎область ‎состязательного ‎машинного ‎обучения,‏ ‎демонстрируя‏ ‎эффективность ‎состязательной‏ ‎очистки. ‎Метод‏ ‎может ‎быть ‎адаптирован ‎к ‎другим‏ ‎областям‏ ‎кибербезопасности,‏ ‎таким ‎как‏ ‎обнаружение ‎сетевых‏ ‎вторжений ‎и‏ ‎защита‏ ‎конечных ‎точек,‏ ‎повышая ‎общую ‎устойчивость ‎систем ‎к‏ ‎новым ‎атакам.

📌 Приложения‏ ‎для‏ ‎машинного ‎обучения: Использование ‎шумоподавляющих‏ ‎автоэнкодеров ‎(DAE)‏ ‎и ‎генеративных ‎состязательных ‎сетей‏ ‎(GAN)‏ ‎в ‎MalPurifier‏ ‎демонстрирует ‎потенциал‏ ‎передовых ‎моделей ‎машинного ‎обучения ‎в‏ ‎приложениях‏ ‎кибербезопасности. ‎Это‏ ‎может ‎вдохновить‏ ‎на ‎дальнейшие ‎исследования ‎и ‎разработки‏ ‎по‏ ‎применению‏ ‎этих ‎моделей‏ ‎к ‎другим‏ ‎задачам ‎безопасности,‏ ‎таким‏ ‎как ‎обнаружение‏ ‎фишинга ‎и ‎предотвращение ‎мошенничества.

Влияние ‎на‏ ‎отрасль

📌 Повышенная ‎безопасность‏ ‎мобильных‏ ‎устройств: Отрасли, ‎которые ‎в‏ ‎значительной ‎степени‏ ‎зависят ‎от ‎мобильных ‎устройств,‏ ‎такие‏ ‎как ‎здравоохранение,‏ ‎финансы ‎и‏ ‎розничная ‎торговля, ‎могут ‎извлечь ‎выгоду‏ ‎от‏ ‎применения ‎MalPurifier,‏ ‎как ‎следствие,‏ ‎могут ‎лучше ‎защищать ‎конфиденциальные ‎данные‏ ‎и‏ ‎поддерживать‏ ‎целостность ‎мобильных‏ ‎приложений.

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

📌 Преимущества‏ ‎соблюдения ‎нормативных ‎требований: Расширенные ‎возможности ‎обнаружения‏ ‎вредоносных‏ ‎программ‏ ‎могут ‎помочь‏ ‎организациям ‎соблюдать‏ ‎нормативные ‎требования,‏ ‎связанные‏ ‎с ‎защитой‏ ‎данных ‎и ‎кибербезопасностью. ‎Например, ‎отрасли,‏ ‎подпадающие ‎под‏ ‎действие‏ ‎таких ‎нормативных ‎актов,‏ ‎как ‎GDPR‏ ‎или ‎HIPAA, ‎могут ‎использовать‏ ‎MalPurifier‏ ‎для ‎обеспечения‏ ‎соответствия ‎строгим‏ ‎стандартам ‎безопасности.

📌 Инновации ‎в ‎продуктах ‎кибербезопасности: Компании,‏ ‎занимающиеся‏ ‎кибербезопасностью, ‎могут‏ ‎внедрять ‎методы,‏ ‎представленные ‎в ‎документе, ‎в ‎свои‏ ‎продукты,‏ ‎что‏ ‎приведёт ‎к‏ ‎разработке ‎решений‏ ‎безопасности ‎следующего‏ ‎поколения‏ ‎для ‎повышения‏ ‎конкурентного ‎преимущества ‎на ‎рынке ‎и‏ ‎стимулировать ‎инновации‏ ‎в‏ ‎индустрии ‎кибербезопасности.

📌 Межотраслевые ‎приложения: хотя‏ ‎в ‎статье‏ ‎основное ‎внимание ‎уделяется ‎обнаружению‏ ‎вредоносных‏ ‎Android-программ, ‎основополагающие‏ ‎принципы ‎состязательной‏ ‎очистки ‎могут ‎применяться ‎в ‎различных‏ ‎отраслях.‏ ‎Такие ‎секторы,‏ ‎как ‎производство,‏ ‎государственное ‎управление ‎и ‎транспорт, ‎которые‏ ‎также‏ ‎подвержены‏ ‎воздействию ‎вредоносных‏ ‎программ, ‎могут‏ ‎адаптировать ‎эти‏ ‎методы‏ ‎для ‎усиления‏ ‎своих ‎мер ‎кибербезопасности.




Читать: 12+ мин
logo Overkill Security

MalPurifier. Detoxifying Your Android, One Malicious Byte at a Time

Another ‎document‏ ‎to ‎analyze. ‎This ‎time, ‎it’s‏ ‎the ‎riveting‏ ‎«MalPurifier:‏ ‎Enhancing ‎Android ‎Malware‏ ‎Detection ‎with‏ ‎Adversarial ‎Purification ‎against ‎Evasion‏ ‎Attacks.»‏ ‎Because, ‎you‏ ‎know, ‎the‏ ‎world ‎really ‎needed ‎another ‎paper‏ ‎on‏ ‎Android ‎malware‏ ‎detection.

First, ‎we’ll‏ ‎dive ‎into ‎the ‎Introduction ‎and‏ ‎Motivation‏ ‎to‏ ‎understand ‎why‏ ‎yet ‎another‏ ‎solution ‎to‏ ‎the‏ ‎ever-escalating ‎threats‏ ‎of ‎Android ‎malware ‎is ‎necessary.‏ ‎Spoiler ‎alert:‏ ‎it’s‏ ‎because ‎current ‎machine‏ ‎learning-based ‎approaches‏ ‎are ‎as ‎vulnerable ‎as‏ ‎a‏ ‎house ‎of‏ ‎cards ‎in‏ ‎a ‎windstorm.

We’ll ‎then ‎move ‎on‏ ‎to‏ ‎the ‎Experimental‏ ‎Setup ‎and‏ ‎Results. ‎This ‎section ‎will ‎reveal‏ ‎how‏ ‎MalPurifier‏ ‎outperforms ‎other‏ ‎defenses, ‎achieving‏ ‎over ‎90,91%‏ ‎accuracy.‏ ‎Impressive, ‎if‏ ‎you ‎ignore ‎the ‎fact ‎that‏ ‎it’s ‎tested‏ ‎on‏ ‎datasets ‎that ‎may‏ ‎or ‎may‏ ‎not ‎reflect ‎real-world ‎scenarios.

The‏ ‎Defense‏ ‎Mechanisms ‎section‏ ‎will ‎discuss‏ ‎the ‎various ‎strategies ‎employed ‎by‏ ‎MalPurifier,‏ ‎such ‎as‏ ‎adversarial ‎purification‏ ‎and ‎adversarial ‎training. ‎Because ‎nothing‏ ‎says‏ ‎«robust‏ ‎defense» ‎like‏ ‎throwing ‎more‏ ‎adversarial ‎examples‏ ‎at‏ ‎the ‎problem.

Of‏ ‎course, ‎no ‎paper ‎is ‎complete‏ ‎without ‎acknowledging‏ ‎its‏ ‎Limitations ‎and ‎Future‏ ‎Work. ‎Here,‏ ‎the ‎authors ‎will ‎humbly‏ ‎admit‏ ‎that ‎their‏ ‎solution ‎isn’t‏ ‎perfect ‎and ‎suggest ‎areas ‎for‏ ‎future‏ ‎research. ‎Because,‏ ‎naturally, ‎the‏ ‎quest ‎for ‎the ‎perfect ‎malware‏ ‎detection‏ ‎system‏ ‎is ‎never-ending.

This‏ ‎analysis ‎will‏ ‎provide ‎a‏ ‎high-quality‏ ‎summary ‎of‏ ‎the ‎document, ‎highlighting ‎its ‎contributions‏ ‎and ‎implications‏ ‎for‏ ‎security ‎professionals ‎and‏ ‎other ‎specialists‏ ‎in ‎various ‎fields. ‎It‏ ‎will‏ ‎be ‎particularly‏ ‎useful ‎for‏ ‎those ‎who ‎enjoy ‎reading ‎about‏ ‎the‏ ‎latest ‎and‏ ‎greatest ‎in‏ ‎malware ‎detection, ‎even ‎if ‎the‏ ‎practical‏ ‎applications‏ ‎are ‎still‏ ‎up ‎for‏ ‎debate.

----

This ‎document‏ ‎provides‏ ‎a ‎comprehensive‏ ‎analysis ‎of ‎the ‎paper ‎titled‏ ‎«MalPurifier: ‎Enhancing‏ ‎Android‏ ‎Malware ‎Detection ‎with‏ ‎Adversarial ‎Purification‏ ‎against ‎Evasion ‎Attacks.» ‎The‏ ‎analysis‏ ‎delves ‎into‏ ‎various ‎aspects‏ ‎of ‎the ‎paper, ‎including ‎the‏ ‎motivation‏ ‎behind ‎the‏ ‎research, ‎the‏ ‎methodology ‎employed, ‎the ‎experimental ‎setup,‏ ‎and‏ ‎the‏ ‎results ‎obtained.

This‏ ‎analysis ‎provides‏ ‎a ‎high-quality‏ ‎summary‏ ‎of ‎the‏ ‎document, ‎offering ‎valuable ‎insights ‎for‏ ‎security ‎professionals,‏ ‎researchers,‏ ‎and ‎practitioners ‎in‏ ‎various ‎fields.‏ ‎By ‎understanding ‎the ‎strengths‏ ‎and‏ ‎limitations ‎of‏ ‎the ‎MalPurifier‏ ‎framework, ‎stakeholders ‎can ‎better ‎appreciate‏ ‎its‏ ‎potential ‎applications‏ ‎and ‎contributions‏ ‎to ‎enhancing ‎Android ‎malware ‎detection‏ ‎systems.‏ ‎The‏ ‎analysis ‎is‏ ‎useful ‎for‏ ‎those ‎involved‏ ‎in‏ ‎cybersecurity, ‎machine‏ ‎learning, ‎and ‎mobile ‎application ‎security,‏ ‎as ‎it‏ ‎highlights‏ ‎innovative ‎approaches ‎to‏ ‎mitigating ‎the‏ ‎risks ‎posed ‎by ‎adversarial‏ ‎evasion‏ ‎attacks.

The ‎paper‏ ‎titled ‎«MalPurifier:‏ ‎Enhancing ‎Android ‎Malware ‎Detection ‎with‏ ‎Adversarial‏ ‎Purification ‎against‏ ‎Evasion ‎Attacks»‏ ‎presents ‎a ‎novel ‎approach ‎to‏ ‎improving‏ ‎the‏ ‎detection ‎of‏ ‎Android ‎malware,‏ ‎particularly ‎in‏ ‎the‏ ‎face ‎of‏ ‎adversarial ‎evasion ‎attacks. ‎The ‎paper‏ ‎highlights ‎that‏ ‎this‏ ‎is ‎the ‎first‏ ‎attempt ‎to‏ ‎use ‎adversarial ‎purification ‎to‏ ‎mitigate‏ ‎evasion ‎attacks‏ ‎in ‎the‏ ‎Android ‎ecosystem, ‎providing ‎a ‎promising‏ ‎solution‏ ‎to ‎enhance‏ ‎the ‎security‏ ‎of ‎Android ‎malware ‎detection ‎systems.

Motivation:

📌 Prevalence‏ ‎of‏ ‎Android‏ ‎Malware: The ‎paper‏ ‎highlights ‎the‏ ‎widespread ‎issue‏ ‎of‏ ‎Android ‎malware,‏ ‎which ‎poses ‎significant ‎security ‎threats‏ ‎to ‎users‏ ‎and‏ ‎devices.

📌 Evasion ‎Techniques: Attackers ‎often‏ ‎use ‎evasion‏ ‎techniques ‎to ‎modify ‎malware,‏ ‎making‏ ‎it ‎difficult‏ ‎for ‎traditional‏ ‎detection ‎systems ‎to ‎identify ‎them.

Challenges:

📌 Adversarial‏ ‎Attacks:‏ ‎it ‎discusses‏ ‎the ‎challenge‏ ‎posed ‎by ‎adversarial ‎attacks, ‎where‏ ‎small‏ ‎perturbations‏ ‎are ‎added‏ ‎to ‎malware‏ ‎samples ‎to‏ ‎evade‏ ‎detection.

📌 Detection ‎System‏ ‎Vulnerabilities: Existing ‎malware ‎detection ‎systems ‎are‏ ‎vulnerable ‎to‏ ‎these‏ ‎adversarial ‎attacks, ‎leading‏ ‎to ‎a‏ ‎need ‎for ‎more ‎robust‏ ‎solutions.

Objective‏ ‎and ‎proposed‏ ‎Solution:

📌 Enhancing ‎Detection‏ ‎Robustness: The ‎primary ‎objective ‎of ‎the‏ ‎research‏ ‎is ‎to‏ ‎enhance ‎the‏ ‎robustness ‎of ‎Android ‎malware ‎detection‏ ‎systems‏ ‎against‏ ‎adversarial ‎evasion‏ ‎attacks.

📌 Adversarial ‎Purification: The‏ ‎proposed ‎solution,‏ ‎MalPurifier,‏ ‎aims ‎to‏ ‎purify ‎adversarial ‎examples, ‎removing ‎the‏ ‎perturbations ‎and‏ ‎restoring‏ ‎the ‎malware ‎to‏ ‎a ‎detectable‏ ‎form.

📌 Techniques ‎Used: The ‎system ‎employs‏ ‎techniques‏ ‎such ‎as‏ ‎autoencoders ‎and‏ ‎generative ‎adversarial ‎networks ‎(GANs) ‎for‏ ‎the‏ ‎purification ‎process.

Techniques‏ ‎Used ‎in‏ ‎Evasion ‎Attacks:

📌 Adversarial ‎Examples: Attackers ‎create ‎adversarial‏ ‎examples‏ ‎by‏ ‎adding ‎small‏ ‎perturbations ‎to‏ ‎malware ‎samples.‏ ‎These‏ ‎perturbations ‎are‏ ‎designed ‎to ‎exploit ‎vulnerabilities ‎in‏ ‎the ‎detection‏ ‎model’s‏ ‎decision ‎boundaries.

📌 Obfuscation: Techniques ‎such‏ ‎as ‎code‏ ‎encryption, ‎packing, ‎and ‎polymorphism‏ ‎are‏ ‎used ‎to‏ ‎alter ‎the‏ ‎appearance ‎of ‎the ‎malware ‎without‏ ‎changing‏ ‎its ‎functionality.

📌 Feature‏ ‎Manipulation: ‎Modifying‏ ‎features ‎used ‎by ‎the ‎detection‏ ‎model,‏ ‎such‏ ‎as ‎adding‏ ‎benign ‎features‏ ‎or ‎obfuscating‏ ‎malicious‏ ‎ones, ‎to‏ ‎evade ‎detection.

Significance:

📌 Improved ‎Security: ‎By ‎enhancing‏ ‎the ‎detection‏ ‎capabilities‏ ‎of ‎malware ‎detection‏ ‎systems, ‎MalPurifier‏ ‎aims ‎to ‎provide ‎better‏ ‎security‏ ‎for ‎Android‏ ‎devices.

📌 Research ‎Contribution:‏ ‎The ‎paper ‎contributes ‎to ‎the‏ ‎field‏ ‎by ‎addressing‏ ‎the ‎gap‏ ‎in ‎robust ‎malware ‎detection ‎solutions‏ ‎that‏ ‎can‏ ‎withstand ‎adversarial‏ ‎attacks.

Benefits

📌 High ‎Accuracy: MalPurifier‏ ‎demonstrates ‎high‏ ‎effectiveness,‏ ‎achieving ‎accuracies‏ ‎over ‎90,91% ‎against ‎37 ‎different‏ ‎evasion ‎attacks.‏ ‎This‏ ‎indicates ‎a ‎robust‏ ‎performance ‎in‏ ‎detecting ‎adversarially ‎perturbed ‎malware‏ ‎samples.

📌 Scalability:‏ ‎The ‎method‏ ‎is ‎easily‏ ‎scalable ‎to ‎different ‎detection ‎models,‏ ‎offering‏ ‎flexibility ‎and‏ ‎robustness ‎in‏ ‎its ‎implementation ‎without ‎requiring ‎significant‏ ‎modifications.

📌 Lightweight‏ ‎and‏ ‎Flexible: ‎The‏ ‎use ‎of‏ ‎a ‎plug-and-play‏ ‎Denoising‏ ‎AutoEncoder ‎(DAE)‏ ‎model ‎allows ‎for ‎a ‎lightweight‏ ‎and ‎flexible‏ ‎approach‏ ‎to ‎purifying ‎adversarial‏ ‎malware. ‎This‏ ‎ensures ‎that ‎the ‎method‏ ‎can‏ ‎be ‎integrated‏ ‎into ‎existing‏ ‎systems ‎with ‎minimal ‎overhead.

📌 Comprehensive ‎Defense:‏ ‎By‏ ‎focusing ‎on‏ ‎adversarial ‎purification,‏ ‎MalPurifier ‎addresses ‎a ‎critical ‎vulnerability‏ ‎in‏ ‎ML-based‏ ‎malware ‎detection‏ ‎systems, ‎enhancing‏ ‎their ‎overall‏ ‎security‏ ‎and ‎robustness‏ ‎against ‎sophisticated ‎evasion ‎techniques.

Limitations

📌 Generalization ‎to‏ ‎Other ‎Platforms: The‏ ‎current‏ ‎implementation ‎and ‎evaluation‏ ‎are ‎focused‏ ‎solely ‎on ‎the ‎Android‏ ‎ecosystem.‏ ‎The ‎effectiveness‏ ‎of ‎MalPurifier‏ ‎on ‎other ‎platforms, ‎such ‎as‏ ‎iOS‏ ‎or ‎Windows,‏ ‎remains ‎untested‏ ‎and ‎uncertain.

📌 Scalability ‎Concerns: While ‎the ‎paper‏ ‎claims‏ ‎scalability,‏ ‎the ‎actual‏ ‎performance ‎and‏ ‎efficiency ‎of‏ ‎MalPurifier‏ ‎in ‎large-scale,‏ ‎real-time ‎detection ‎scenarios ‎have ‎not‏ ‎been ‎thoroughly‏ ‎evaluated.‏ ‎This ‎raises ‎questions‏ ‎about ‎its‏ ‎practical ‎applicability ‎in ‎high-volume‏ ‎environments.

📌 Computational‏ ‎Overhead: ‎The‏ ‎purification ‎process‏ ‎introduces ‎additional ‎computational ‎overhead. ‎Although‏ ‎described‏ ‎as ‎lightweight,‏ ‎the ‎impact‏ ‎on ‎system ‎performance, ‎especially ‎in‏ ‎resource-constrained‏ ‎environments,‏ ‎needs ‎further‏ ‎investigation.

📌 Adversarial ‎Adaptation: Attackers‏ ‎may ‎develop‏ ‎new‏ ‎strategies ‎to‏ ‎adapt ‎to ‎the ‎purification ‎process,‏ ‎potentially ‎circumventing‏ ‎the‏ ‎defenses ‎provided ‎by‏ ‎MalPurifier. ‎Continuous‏ ‎adaptation ‎and ‎improvement ‎of‏ ‎the‏ ‎purification ‎techniques‏ ‎are ‎necessary‏ ‎to ‎stay ‎ahead ‎of ‎evolving‏ ‎threats.

📌 Evaluation‏ ‎Metrics: ‎The‏ ‎evaluation ‎primarily‏ ‎focuses ‎on ‎detection ‎accuracy ‎and‏ ‎robustness‏ ‎against‏ ‎evasion ‎attacks.‏ ‎Other ‎important‏ ‎metrics, ‎such‏ ‎as‏ ‎energy ‎consumption,‏ ‎user ‎experience, ‎and ‎long-term ‎efficacy,‏ ‎are ‎not‏ ‎addressed,‏ ‎limiting ‎the ‎comprehensiveness‏ ‎of ‎the‏ ‎assessment.

📌 Integration ‎with ‎Existing ‎Systems: The‏ ‎paper‏ ‎does ‎not‏ ‎extensively ‎discuss‏ ‎the ‎integration ‎of ‎MalPurifier ‎with‏ ‎existing‏ ‎malware ‎detection‏ ‎systems ‎and‏ ‎the ‎potential ‎impact ‎on ‎their‏ ‎performance.‏ ‎Seamless‏ ‎integration ‎strategies‏ ‎and ‎combined‏ ‎performance ‎evaluations‏ ‎are‏ ‎needed

Impact ‎on‏ ‎Technology

📌 Advancement ‎in ‎Malware ‎Detection: MalPurifier ‎represents‏ ‎a ‎significant‏ ‎technological‏ ‎advancement ‎in ‎the‏ ‎field ‎of‏ ‎malware ‎detection. ‎By ‎leveraging‏ ‎adversarial‏ ‎purification ‎techniques,‏ ‎it ‎enhances‏ ‎the ‎robustness ‎of ‎Android ‎malware‏ ‎detection‏ ‎systems ‎against‏ ‎evasion ‎attacks.‏ ‎This ‎innovation ‎can ‎lead ‎to‏ ‎the‏ ‎development‏ ‎of ‎more‏ ‎secure ‎and‏ ‎reliable ‎malware‏ ‎detection‏ ‎tools.

📌 Adversarial ‎Defense‏ ‎Mechanisms: ‎The ‎paper ‎contributes ‎to‏ ‎the ‎broader‏ ‎field‏ ‎of ‎adversarial ‎machine‏ ‎learning ‎by‏ ‎demonstrating ‎the ‎effectiveness ‎of‏ ‎adversarial‏ ‎purification. ‎This‏ ‎technique ‎can‏ ‎be ‎adapted ‎and ‎applied ‎to‏ ‎other‏ ‎areas ‎of‏ ‎cybersecurity, ‎such‏ ‎as ‎network ‎intrusion ‎detection ‎and‏ ‎endpoint‏ ‎security,‏ ‎thereby ‎improving‏ ‎the ‎overall‏ ‎resilience ‎of‏ ‎these‏ ‎systems ‎against‏ ‎sophisticated ‎attacks.

📌 Machine ‎Learning ‎Applications: The ‎use‏ ‎of ‎Denoising‏ ‎AutoEncoders‏ ‎(DAEs) ‎and ‎Generative‏ ‎Adversarial ‎Networks‏ ‎(GANs) ‎in ‎MalPurifier ‎showcases‏ ‎the‏ ‎potential ‎of‏ ‎advanced ‎machine‏ ‎learning ‎models ‎in ‎cybersecurity ‎applications.‏ ‎This‏ ‎can ‎inspire‏ ‎further ‎research‏ ‎and ‎development ‎in ‎applying ‎these‏ ‎models‏ ‎to‏ ‎other ‎security‏ ‎challenges, ‎such‏ ‎as ‎phishing‏ ‎detection‏ ‎and ‎fraud‏ ‎prevention.

Impact ‎on ‎Industry

📌 Enhanced ‎Security ‎for‏ ‎Mobile ‎Devices: Industries‏ ‎that‏ ‎rely ‎heavily ‎on‏ ‎mobile ‎devices,‏ ‎such ‎as ‎healthcare, ‎finance,‏ ‎and‏ ‎retail, ‎can‏ ‎benefit ‎from‏ ‎the ‎enhanced ‎security ‎provided ‎by‏ ‎MalPurifier.‏ ‎By ‎improving‏ ‎the ‎detection‏ ‎of ‎Android ‎malware, ‎these ‎industries‏ ‎can‏ ‎better‏ ‎protect ‎sensitive‏ ‎data ‎and‏ ‎maintain ‎the‏ ‎integrity‏ ‎of ‎their‏ ‎mobile ‎applications.

📌 Reduction ‎in ‎Cybersecurity ‎Incidents: The‏ ‎implementation ‎of‏ ‎robust‏ ‎malware ‎detection ‎systems‏ ‎like ‎MalPurifier‏ ‎can ‎lead ‎to ‎a‏ ‎reduction‏ ‎in ‎cybersecurity‏ ‎incidents, ‎such‏ ‎as ‎data ‎breaches ‎and ‎ransomware‏ ‎attacks.‏ ‎This ‎can‏ ‎result ‎in‏ ‎significant ‎cost ‎savings ‎for ‎businesses‏ ‎and‏ ‎reduce‏ ‎the ‎potential‏ ‎for ‎reputational‏ ‎damage.

📌 Compliance ‎and‏ ‎Regulatory‏ ‎Benefits: Enhanced ‎malware‏ ‎detection ‎capabilities ‎can ‎help ‎organizations‏ ‎comply ‎with‏ ‎regulatory‏ ‎requirements ‎related ‎to‏ ‎data ‎protection‏ ‎and ‎cybersecurity. ‎For ‎example,‏ ‎industries‏ ‎subject ‎to‏ ‎regulations ‎like‏ ‎GDPR ‎or ‎HIPAA ‎can ‎leverage‏ ‎MalPurifier‏ ‎to ‎ensure‏ ‎they ‎meet‏ ‎stringent ‎security ‎standards.

📌 Innovation ‎in ‎Cybersecurity‏ ‎Products: Cybersecurity‏ ‎companies‏ ‎can ‎incorporate‏ ‎the ‎techniques‏ ‎presented ‎in‏ ‎the‏ ‎paper ‎into‏ ‎their ‎products, ‎leading ‎to ‎the‏ ‎development ‎of‏ ‎next-generation‏ ‎security ‎solutions. ‎This‏ ‎can ‎provide‏ ‎a ‎competitive ‎edge ‎in‏ ‎the‏ ‎market ‎and‏ ‎drive ‎innovation‏ ‎in ‎the ‎cybersecurity ‎industry.

📌 Cross-Industry ‎Applications:‏ ‎While‏ ‎the ‎paper‏ ‎focuses ‎on‏ ‎Android ‎malware ‎detection, ‎the ‎underlying‏ ‎principles‏ ‎of‏ ‎adversarial ‎purification‏ ‎can ‎be‏ ‎applied ‎across‏ ‎various‏ ‎industries. ‎Sectors‏ ‎such ‎as ‎manufacturing, ‎public ‎administration,‏ ‎and ‎transportation,‏ ‎which‏ ‎are ‎also ‎affected‏ ‎by ‎malware,‏ ‎can ‎adapt ‎these ‎techniques‏ ‎to‏ ‎enhance ‎their‏ ‎cybersecurity ‎measures.



Читать: 2+ мин
logo SmartЖурналист

Замена Android продолжается! Теперь на очереди Huawei P20, Honor 10 и 9X

Компания ‎Huawei‏ ‎продолжает ‎распространение ‎фирменной ‎финальной ‎версии‏ ‎HarmonyOS ‎2.0,‏ ‎правда‏ ‎по ‎большей ‎части‏ ‎на ‎территории‏ ‎Китая. ‎Новая ‎ОС ‎полностью‏ ‎заменяет‏ ‎и ‎интерфейса‏ ‎EMUI, ‎и‏ ‎ОС ‎Android. ‎Следовательно, ‎пользователей ‎ждет‏ ‎полностью‏ ‎новая ‎операционная‏ ‎система.

И ‎что‏ ‎много ‎устройств ‎обновились?

Как ‎минимум ‎Huawei‏ ‎выпустила‏ ‎финальную‏ ‎версию ‎HarmonyOS‏ ‎2.0 ‎для‏ ‎семи ‎моделей‏ ‎своих‏ ‎смартфонов: ‎nova‏ ‎5i, ‎nova ‎4e, ‎Honor ‎30S,‏ ‎Honor ‎30‏ ‎Lite,‏ ‎Honor ‎X10, ‎Honor‏ ‎X10 ‎Max‏ ‎и ‎Honor ‎Play4. ‎

А‏ ‎что‏ ‎тогда ‎касается‏ ‎остальных?

Паралельно ‎проходит‏ ‎открытое ‎бета-тестирование ‎HarmonyOS ‎2.0 ‎для‏ ‎еще‏ ‎15 ‎моделей:‏ ‎Huawei ‎P20,‏ ‎P20 ‎Pro, ‎Mate ‎10, ‎Mate‏ ‎10‏ ‎Pro,‏ ‎Mate ‎10‏ ‎Porsche ‎Design,‏ ‎Mate ‎RS‏ ‎Porsche‏ ‎Design, ‎nova4,‏ ‎Enjoy ‎10S, ‎Enjoy ‎10 ‎Plus,‏ ‎Honor ‎9X,‏ ‎Honor‏ ‎9X ‎Pro, ‎Honor‏ ‎20S, ‎Honor‏ ‎10, ‎Honor ‎V10 ‎и‏ ‎Honor‏ ‎Play4T ‎Pro.‏ ‎Следовательно, ‎вышеперечисленные‏ ‎смартфоны ‎следующие ‎в ‎очереди ‎на‏ ‎получение‏ ‎финальной ‎версии‏ ‎HarmonyOS ‎2.0.

Самое‏ ‎любопытное, ‎что ‎компания ‎набирает ‎добровольцев‏ ‎для‏ ‎закрытого‏ ‎бета-тестирования ‎HarmonyOS‏ ‎2.0 ‎для‏ ‎более ‎старых‏ ‎моделей.‏ ‎В ‎список‏ ‎вошли ‎не ‎только ‎смартфоны, ‎но‏ ‎и ‎планшеты‏ ‎-‏ ‎Huawei ‎P10, ‎P10‏ ‎Plus, ‎Mate‏ ‎9, ‎Mate ‎9 ‎Pro,‏ ‎Mate‏ ‎9 ‎Porsche‏ ‎Design, ‎nova‏ ‎3, ‎Enjoy ‎9 ‎Plus, ‎MediaPad‏ ‎M5‏ ‎10.8, ‎MediaPad‏ ‎M5 ‎Pro‏ ‎10.8, ‎MediaPad ‎M5 ‎8.4.

Зачем ‎обновлять‏ ‎настолько‏ ‎старые‏ ‎модели?! ‎

Есть‏ ‎несколько ‎причин.‏ ‎Во-первых, ‎компания‏ ‎полностью‏ ‎перейдет ‎на‏ ‎фирменную ‎ОС, ‎откажется ‎от ‎Android‏ ‎и ‎станет‏ ‎более‏ ‎независимой. ‎Второй ‎вариант‏ ‎менее ‎вероятен,‏ ‎возможно, ‎Huawei ‎хочет ‎составить‏ ‎более‏ ‎жесткую ‎конкуренцию‏ ‎Apple, ‎увеличивая‏ ‎период ‎обслуживания.

Напишите ‎в ‎комментариях, ‎что‏ ‎Вы‏ ‎думаете ‎о‏ ‎новой ‎ОС‏ ‎и ‎смартфонах ‎Huawei. ‎Кроме ‎того,‏ ‎буду‏ ‎благодарен‏ ‎за ‎подписку‏ ‎на ‎новый‏ ‎Instagram канала ‎SmartЖурналист, где‏ ‎публикуется‏ ‎информация ‎о‏ ‎статьях ‎и ‎обзорах. ‎Спасибо ‎за‏ ‎внимание!

Что думаете о таком телевизоре?

Обновления проекта

Статистика

Фильтры

Подарить подписку

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

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

Будет создан код, который позволит адресату получить сумму на баланс.

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

Добавить карту
0/2048