Как стать автором
Обновить
83
0
Павел Васильев @LuigiVampa

Разработчик / специалист по ИБ

Отправить сообщение

Как я сократил время загрузки GTA Online на 70%

Время на прочтение7 мин
Количество просмотров80K
GTA Online. Многопользовательская игра, печально известная медленной загрузкой. Недавно я вернулся, чтобы завершить несколько ограблений — и был потрясён, что она загружается настолько же медленно, как и в день своего выпуска, 7 лет назад.

Пришло время докопаться до сути.

Разведка


Сначала я хотел проверить, вдруг кто-то уже решил проблему. Но нашёл только рассказы о великой сложности игры, из-за чего она так долго загружается, истории о том, что сетевая p2p-архитектура — мусор (хотя это не так), некоторые сложные способы загрузки в сюжетный режим, а потом в одиночную сессию, и ещё пару модов, чтобы скипнуть видео с логотипом R* во время загрузки. Ещё немного почитав форумы, я узнал, что можно сэкономить колоссальные 10-30 секунд, если использовать все эти способы вместе!
Читать дальше →
Всего голосов 113: ↑108 и ↓5+136
Комментарии51

Безопасность встраиваемых систем Linux

Время на прочтение24 мин
Количество просмотров16K
Embedded Linux security

Весь наш мир построен на противоположностях. Если вы создаете свое устройство и продаете его, то всегда найдется тот, кто захочет его взломать. Цели у злоумышленника буду самыми разными, от попыток сделать клон устройства (привет Китаю) до шантажа конечных потребителей, что весьма ухудшит вашу репутацию с точки зрения изготовления надежных устройств. И чем популярнее система на основе которой построено устройство, тем интереснее она злоумышленнику. В последнее время активно развивается сегмент одноплатных компьютеров, таких как Raspberry Pi, и множества других. Linux системы по распространенности использования во встраиваемых систем, вышли на первые места. Большая функциональность устройств, например наличие разных беспроводных интерфейсов коммуникаций, в совокупности с большими возможностями ОС Linux, привела к серьезной необходимости организации защиты устройства. Некоторые думают, что достаточно отключить учетную запись root и установить надежный пароль, но на самом деле это только малая часть того, что следует сделать. Какие технологии и концепции используются для снижения рисков и реализации более безопасного устройства работающего на Linux узнаете под катом.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+40
Комментарии19

Все новинки Android 12. Обзор для разработчиков

Время на прочтение14 мин
Количество просмотров23K

Прошло Google I/O и мы узнали абсолютно всё про новую версию Android. Основной упор в релизе был сделан на усиление безопасности ОС и приватности данных, а также провели редизайн системы. Очень хорошо поработали с поддержкой новых современных стандартов Media, причём минимизировали объем боли, которую будут испытывать флагманские устройства из-за старых или бюджетных смартфонов. App Widgets воскресили и сделали улучшения, которые просили еще с первой версии Android.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии10

Ломаем Android. Как глубока кроличья нора?

Время на прочтение22 мин
Количество просмотров111K

image


Мой первый Android телефон Galaxy Note N7000 был приобретен сразу после анонса в октябре 2011 года. Благодаря одному немецкому умельцу под ником bauner, у меня была возможность использовать последнюю версию CyanogenMod (ныне LineageOS). До тех пор, пока полтора года назад телефон не умер от китайской автомобильной зарядки.


Замену искал долго и остановился на Kyocera (да, они и телефоны выпускают) KC-S701. Он отличается брутальным внешним видом и отсутствием сенсорных кнопок. О root доступе к телефону я тогда даже и не задумывался, полагая, что нынче каждый телефон тем или иным способом имеет возможность получения root. И найдется умелец, который сможет под него портировать CyanogenMod. Я ошибался.


За полтора года было выпущено всего одно обновление — фикс падения ядра от специально сформированного ping пакета. А Android KitKat уже год назад был не первой свежести. Root доступ на этот телефон так никто и не получил, и никакой информации о нем не было. Отмечу, что тоже самое железо используется в американской версии телефона Kyocera Brigadier E6782, в котором по-умолчанию активизирован режим fastboot и нет ограничения на запуск неподписанных ядер (именно запуск, а не прошивку, и только при использовании непропатченного bootloader'а, CVE-2014-4325) и присутствует возможность загружаться в эти режимы путём зажатия кнопок телефона. Стараниями Verizon (а может Kyocera?) версия Android на Brigadier была обновлена до Lollipop.


Итак, я решил разобраться с процессом получения root на Android самостоятельно.

Читать дальше →
Всего голосов 113: ↑110 и ↓3+107
Комментарии46

Преобразуем проект на Python в исполняемый файл .EXE

Время на прочтение3 мин
Количество просмотров377K

С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python.

В этой статье я расскажу, как преобразовать проект на Python в исполняемый файл. Решение будет работать вне зависимости от количества файлов .py в приложении. Стоит учесть, что Auto PY to EXE работает только с Python 3.5 или выше.
Читать дальше →
Всего голосов 37: ↑22 и ↓15+15
Комментарии12

Не начинайте учиться кодингу с Python, начните с языка C

Время на прочтение4 мин
Количество просмотров60K


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

Python — язык программирования по умолчанию для «самой сексуальной профессии 21-го века». Да, громкие слова о данных по-прежнему сохраняют за data science репутацию «сексуальной работы», хотя современные обстоятельства уже не полностью поддерживают это утверждение. Языку Python удалось добиться того, что он позволяет решать большинство проблем data science.

Кроме того, Python также популярен в блокчейне, DevOps и кибербезопасности.

Ажиотаж вокруг Python постоянно растёт. Этот язык используется как средство кодинга в бесчисленном количестве онлайн-курсов и учебных программ.

Несмотря на всё это и вопреки всей привлекательности Python, он не подходит для начинающих в программировании. Лучшим вариантом является C.

В этой статье я расскажу о том, почему в качестве опорной точки вместо Python следует использовать C.
Читать дальше →
Всего голосов 69: ↑42 и ↓27+29
Комментарии338

Пиринговые мессенджеры — враг государства?

Время на прочтение7 мин
Количество просмотров81K


В случае полного отключения интернета одна из главных проблем — общение с товарищами и родственниками. Опыт Гонконга показывает, что для этого хорошо подходят децентрализованные P2P-мессенджеры, которые работают без интернета, используя mesh-сеть по протоколам Wi-Fi Direct, Bluetooth, Apple Multipeer Connectivity Framework, ANT+, LoRa и др.

Для эффективной коммуникации приложение нужно скачать максимальному количеству человек до начала блокады интернета. Иначе придётся искать файлы после блокады. Человек с нужными файлами станет настоящим авторитетом в офисе или в классе (как это было в Беларуси в августе 2020 года — за файлами Psiphon люди реально приезжали из других микрорайонов города).

Вообще, вся история сетей wireless mesh намекает на то, что эта технология крайне не нравится правоохранительным органам.
Всего голосов 86: ↑79 и ↓7+104
Комментарии213

Почему шифрование DNS не всегда эффективно — обсуждаем экспертные мнения на этот счет

Время на прочтение3 мин
Количество просмотров10K

Новые протоколы DNS-over-HTTPS и DNS-over-TLS стали настоящим яблоком раздора в ИТ-сообществе. Шифрование DNS-запросов внедряет во все большее число браузеров, но среди экспертов есть и те, кто критикует этот подход. Они считают, что новые протоколы не оказывают положительного влияния на степень защищенности и в лучшем случае «бесполезны».

Разберем несколько наиболее популярных аргументов по этому вопросу.

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии36

Об алгоритме взлома WPA-PSK

Время на прочтение8 мин
Количество просмотров153K
Доброго времени суток, уважаемое Хабросообщество!
В данном топике хотелось бы рассмотреть некоторые тонкие вопросы, связанные с атаками на сети Wi-Fi в режиме разделяемого ключа WPA-PSK (если говорить более просто — WPA-PSK — режим без выделенного сервера аутентификации, который используют большинство пользователей Wi-Fi, например, при создании подключения по сети типа компьютер-компьютер).

К чему все это?


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

Недавняя статья на Хабре, посвященная одной из таких программ, упоминающая в себе использование радужных таблиц (возможно ли это?) для ускорения атаки, и подтолкнула меня к написанию данного топика. Надеюсь информация окажется полезной, так как аналогов в сети я не встречал ни на отечественном, ни на вражеских языках.
Читать дальше →
Всего голосов 86: ↑83 и ↓3+80
Комментарии28

Жизнь без AppStore и Google Play: работаем с Huawei Mobile Services и AppGallery

Время на прочтение9 мин
Количество просмотров30K

С конца 2019 Huawei поставляет Android-смартфоны без сервисов Google, в том числе без привычного всем магазина приложений Google Play. В качестве альтернативы китайская компания предлагает собственные разработки — Huawei Mobile Services (HMS), а также магазин AppGallery. В этом тексте мы расскажем, как с этим жить и работать.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Как использовать облачную ферму устройств Huawei для тестирования и отладки в Android Studio

Время на прочтение2 мин
Количество просмотров6.9K

Как ни странно, мало кто знает о том, что у Huawei есть ферма устройств в облаке, которую можно использовать для отладки и тестирования. И речь идет не об отладке через веб-интерфейс, что является более-менее известной фичёй консоли разработчика Huawei и нередко используется разработчиками. Мы же поговорим об отладке непосредственно из студии, с возможностью пользоваться ADB.

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

Следующим шагом открываем студию и устанавливаем плагин HMS Toolkit из магазин плагинов в самой студии (File -> Settings -> Plugins).

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

Инструменты для очистки своей цифровой истории в интернете

Время на прочтение8 мин
Количество просмотров65K

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

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

С этим сложно бороться, но можно. Например, попытаемся удалить массивы данных, которые накопились в различных интернет-сервисах. Зачистим свою интернет-историю по полной программе.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+31
Комментарии51

Услуга за услугу. Как русские учёные впряглись за Пастера в споре с антипрививочниками

Время на прочтение11 мин
Количество просмотров24K


В 2020 у нас появился новый повод гордиться Россией — вакцина от коронавируса, разработанная центром имени Н.Ф. Гамалеи.

Я расскажу о событиях 135-летней давности. О приключениях молодого доктора Гамалеи в Париже и о том, как в мире победили вирус бешенства.


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

Если вас укусила подозрительная собака (или милый уличный котёнок) — обратитесь в травмпункт. В детстве нас пугали 40 уколами в живот, но современные вакцины требуют 3-6 уколов в плечо, пережить можно. Можете конечно ничего не делать, ведь не от каждого укуса получают заражение (вероятность 30% в случае собак). Но это как играть в русскую рулетку с двумя патронами в револьвере — оно вам надо?

Карикатура 1826 года: бешеный пес на улицах Лондона. Покусанная женщина скорее всего уже не жилец:


Читать дальше →
Всего голосов 94: ↑88 и ↓6+109
Комментарии50

Altium 365 — как GitHub, но для разработки железа. Как мы делаем Flipper Zero

Время на прочтение5 мин
Количество просмотров19K

Над железом Flipper Zero работают одновременно несколько инженеров. Коллективная работа над железным проектом — это боль. У программистов есть крутые системы контроля версий и модные сервисы вроде GitHub, но бинарные файлы печатной платы и схем нельзя так просто засунуть в Git. Мы долго и мучительно искали решение этой проблемы и наконец нашли.

Altium 365 — это система контроля версий с веб-интерфейсом для работы над железными проектами. Мы смогли перенести привычный воркфлоу GitHub на железную разработку. В посте я расскажу про наш опыт использования Altium 365 на примере реальной задачи в нашем проекте Flipper Zero.

Читать далее
Всего голосов 40: ↑37 и ↓3+48
Комментарии77

[Личный опыт] Жизнь за Великой китайской стеной: как в Китае дела с IT, цензурой и интеграцией в общество

Время на прочтение10 мин
Количество просмотров41K

Китай — один из мировых лидеров IT-рынка, который по многим параметрам теснит США и Европу. При этом историй о релокейте в Штаты или Европу тысячи, а в Китай инженеры почему-то практически никогда не едут.


Чтобы разобраться, почему так происходит, мы пообщались с Русланом — iOS-разработчиком, который два года жил и работал в Шанхае. Он расскажет, как здесь вообще работается и живется иностранцу, и почему Китай практически полностью закрыт для зарубежных инженеров.




Читать дальше →
Всего голосов 55: ↑51 и ↓4+70
Комментарии91

Rust включили в список основных языков для разработки платформы Android

Время на прочтение3 мин
Количество просмотров14K

На днях компания Google сделала важный шаг, объявив о включении языка программирования Rust в число языков, которые допускаются для разработки платформы Android. Да, еще в 2019 году компилятор Rust включили в дерево исходных текстов Android, но это была экспериментальная поддержка.

Сейчас в Android планируется добавить первые компоненты на Rust, это будут новые реализации механизма межпроцессного взаимодействия Binder и Bluetooth-стека. Все это хорошо, но зачем весь этот сыр-бор с включением Rust?
Читать дальше →
Всего голосов 61: ↑61 и ↓0+61
Комментарии19

Советы по работе с Gradle для Android-разработчиков

Время на прочтение15 мин
Количество просмотров33K

Всем привет! Я пишу приложения под Android, в мире которого система сборки Gradle является стандартом де-факто. Я решил поделиться некоторыми советами по работе с системой с теми, у кого нет чёткого понимания, как правильно структурировать свои проекты и писать build-скрипты.


Всего голосов 15: ↑14 и ↓1+14
Комментарии6

Как наши побили рекорд Intel: за кулисами масштабного шоу дронов

Время на прочтение9 мин
Количество просмотров25K

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

Тогда они побили рекорд компании Intel и вошли в Книгу рекордов России со зрелищной программой в честь 75-летия Победы, в которой задействовали почти 2200 квадрокоптеров собственной разработки.

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

Читать далее
Всего голосов 55: ↑52 и ↓3+64
Комментарии42

Что делать, если украли смартфон

Время на прочтение10 мин
Количество просмотров173K
image


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

У меня на днях украли смартфон — профессиональный вор-велосипедист на скорости выхватил из рук прямо в центре города и был таков. Это может случиться с кем угодно и в любой стране мира. Я, в силу профессиональной деформации вокруг IT, данных, приватности и безопасности, к ситуации был морально готов и знал, что делать. Друзья, с которым поделился историей посоветовали написать памятку, которую может использовать каждый человек, даже далекий от айти. Этот текст — эта самая памятка. Смартфон она вам не вернет. Но, если кому-то поможет снизить ущерб и сэкономит седых волос — значит, не зря потратил время на написание, а вы — на прочтение.

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →
Всего голосов 133: ↑123 и ↓10+147
Комментарии486

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

Время на прочтение13 мин
Количество просмотров35K

Главная сложность в разработке приложения – накодить его функционал. Например, сделать редактирование текста для приложения-блокнота. Так я полагал, когда был моложе и наивнее.

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

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

Читать далее
Всего голосов 48: ↑47 и ↓1+56
Комментарии20

Информация

В рейтинге
4 252-й
Зарегистрирован
Активность