Что скрывают программы от отладчика? |
Здорово, когда программы разрешают себя отлаживать: какие бы тайны ни скрывали, выдадут. Честным программам скрывать нечего, но встречаются и вредные: такие программы мешают себя изучать, а то и вовсе отказываются работать.
Отладчик поможет изучить зашифрованный код. Программа расшифровывает код перед выполнением: проще остановить программу отладчиком и исследовать, чем расшифровывать код самостоятельно. Программа сопротивляется отладке, когда хочет этому помешать.
Посмотрим, как справиться с противодействием отладке на примере 1337ReverseEngineer's The Junkrat https://crackmes.one/crackme/62dc0ecd33c5d44a934e9922 .
Посмотрим, что тамhttps://habr.com/ru/post/713446/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713446
Метки: Информационная безопасность Assembler Отладка Реверс-инжиниринг crackme debug reverse |
Авторизация OAuth 2.0 от Google, небольшое упущение его разработчиков и Python |
С большинством сервисов Google можно взаимодействовать через открытый API (Application programming interface). Чтобы использовать возможности взаимодействия по максимуму, требуется пройти полную авторизацию (OAuth 2.0). Но в отличие от подобных процедур авторизации, скажем, в API ВК, с Google всё несколько сложнее, особенно учитывая небольшое упущение его разработчиков. В самой документации API Google, как будто, не вполне достаточно информации для успешной полной авторизации. Обобщение моего опыта и составило основу изложения шести шагов успешной полной авторизации.
Читать далееhttps://habr.com/ru/post/713442/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713442
Метки: google api oauth 2.0 OAuth client ID google-api-python-client API Explorer authorization code out-of-band oob error |
DDoS-атаки «для самых маленьких» — ч.2 |
Этот пост - продолжение первой части, в которой рассказывалось о типах DDoS-атак (почитать можно на Хабре тут). В этой части поговорим, как все же защищаться от них и как выбирать решение по защите от атак.
Читать длиннопост -->https://habr.com/ru/post/709294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709294
Метки: Информационная безопасность ddos-атака ddos-защита |
Как быстро избавиться от «токсичного» партнёра по бизнесу? Жёстко, но технологично |
Бывает немало ситуаций, когда бизнес-партнёры в самом начале предприятия воодушевлены и находятся в максимальном доверии друг другу. Но, как это нередко бывает, отношения со временем "дают трещину" и между партнёрами возникают непримиримые разногласия. В таких ситуациях становится невозможно вести общий бизнес и кто-то желательно быстро должен покинуть компанию, оставшись "при своих". О том, как это грамотно и быстро сделать -- эта статья.
Да, да, «традиционные» юристы, отвечая на этот вопрос как вывести "надоевшего" партнёра из бизнеса, сразу приводят статью 10 Федерального закона «Об обществах с ограниченной ответственностью», в которой говорится, что участники общества, доли которых в совокупности составляют не менее чем десять процентов уставного капитала общества, вправе требовать в судебном порядке исключения из общества участника, который грубо нарушает свои обязанности либо своими действиями (бездействием) делает невозможной деятельность общества или существенно её затрудняет.
Всё это, к сожалению, довольно скучно и долго.
Читать далееhttps://habr.com/ru/post/713440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713440
Метки: Читальный зал бизнес партнёрство конфликт корпоративный конфликт развод опцион юридическое оформление юрист |
Как быстро избавиться от партнёра по бизнесу? |
Бывает немало ситуаций, когда бизнес-партнёры в самом начале предприятия воодушевлены и находятся в максимальном доверии друг другу. Но, как это нередко бывает, отношения со временем "дают трещину" и между партнёрами возникают непримиримые разногласия. В таких ситуациях становится невозможно вести общий бизнес и кто-то желательно быстро должен покинуть компанию, оставшись "при своих". О том, как это грамотно и быстро сделать -- эта статья.
Да, да, «традиционные» юристы, отвечая на этот вопрос как вывести "надоевшего" партнёра из бизнеса, сразу приводят статью 10 Федерального закона «Об обществах с ограниченной ответственностью», в которой говорится, что участники общества, доли которых в совокупности составляют не менее чем десять процентов уставного капитала общества, вправе требовать в судебном порядке исключения из общества участника, который грубо нарушает свои обязанности либо своими действиями (бездействием) делает невозможной деятельность общества или существенно её затрудняет.
Всё это, к сожалению, довольно скучно и долго.
Во-первых, нужно доказать, что партнёр грубо нарушает свои обязанности, либо своими действиями (бездействием) делает невозможной деятельность компании или существенно её нарушает; а, во-вторых, даже если это так, то много времени и денег придётся потратить на всё это судебное дело. Скажу стразу и честно -- я не сторонник длительных и мучительных процедур, тем более скучных.
По мне так, проблему избавления от надаевшего (токсичного) партнёра в бизнесе можно решить гораздо быстрее, эффективнее и веселее, используя прогрессивный арсенал современных юридических средств.
Читать далееhttps://habr.com/ru/post/713440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713440
|
[Перевод] TLS 1.3, только игрушечный |
Привет! Недавно я думала о том, насколько интересно изучать компьютерные сети, создавая рабочие версии реальных сетевых протоколов.
Мне пришло в голову, почему бы после создания своей версии протоколов traceroute, TCP и DNS не воплотить в жизнь TLS? Могу ли я сделать вариант TLS и больше узнать о его работе?
Я спросила в Twitter, сложно ли это, мне [помогли] и посоветовали, с чего начать, и я решила попробовать.
Читать дальше →https://habr.com/ru/post/713392/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713392
Метки: программирование протоколы примеры информационная безопасность криптография go шифрование игрушечное tls упрощённое skillfactory блог компании skillfactory |
Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ |
Это первая статья из цикла о том, как создать свой собственный ООП язык программирования с использованием LLVM.
В данной статье мы начнем с введения в серию и начнем реализацию с написания лексического и синтаксического анализаторов для подмножества языка, который будет полностью реализован в заключительных частях серии.
Читать далееhttps://habr.com/ru/post/713434/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713434
Метки: Open source компиляторы Программирование llvm c++ |
Прошивка и отладка STM32 в VSCode под Windows |
На хабре уже есть немало информации об отладке МК в VSCode на Linux, также было написано как настроить тулчейн для работы под Windows в QT Creator, Eclipse, etc.
Пришло и моё время написать похожую, но для VS Code и под Widnows.
Инициализация проекта будет проводиться с помощью STM32CubeMX. Сборкой будет управлять CMake с тулчейном stm32-cmake. В качестве компилятора используется ARM GNU Toolchain. Тестовым стендом является NUCLEO-F446ZE.
Читать далееhttps://habr.com/ru/post/713432/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713432
Метки: Отладка Программирование микроконтроллеров vscode windows openocd stm32 st-utility cmake scoop пакетный менеджер |
[Перевод] Разбираем Теорию Игр с python-библиотеками nashpy и axelrod |
Пожалуй, самый простой и понятный разбор основ Теории игр, из всех, которые я встречал, с демонстрацией результатов нескольких наиболее популярных игр на питоновских библиотеках nashpy и axelrod.
Это перевод сразу двух статей Mythili Krishnan , аналитика с medium.com
Дочитавших до конца и желающих быстро испытать пару стратегий, ждет небольшой бонус...
+ поучаствуйте в опросе, что вы вообще думаете о теории игр?
Читать далееhttps://habr.com/ru/post/713120/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713120
Метки: Python Разработка игр Математика Логические игры Теория игр равновесие открытые библиотеки питон занимательно |
[recovery mode] 10 советов по оптимизации приложения NodeJS |
Давайте рассмотрим список основных советов по оптимизации приложений NodeJS, статья больше служит полезным справочником чем полноценным практическим пособием.
Node.js — это мощная и универсальная платформа, которая широко используется для создания высокопроизводительных приложений, интенсивно использующих данные. Однако, как и в случае с любой другой технологией, существуют способы оптимизации...
Читать далееhttps://habr.com/ru/post/713428/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713428
Метки: node.js node nodejs оптимизация npm |
План алгоритмического собеседования: как впечатлить интервьюера и получить работу мечты |
При поиске работы программистам часто приходится сталкиваться с алгоритмическим интервью. По моему опыту общения с людьми из индустрии ИТ я заметил, что многие считают, что алгоритмическая секция бинарна: либо алгоритм написан корректно за отведенное время, либо нет. На самом деле всё немного сложнее и во время интервью собеседующий обращает внимание на многие другие аспекты.
Я за свою карьеру имел возможность быть по обе стороны баррикад. С одной стороны я провёл сотни алгоритмических интервью в компаниях, где работал. С другой стороны сам успешно проходил такие интервью и получал оффер в Google, Facebook, Amazon, Uber, Yandex и Mail.Ru.
В этой статье я хочу поделиться с вами как можно структурировать эту секцию, расскажу на что стоит обратить внимание на каждом шаге, как получить дополнительные очки в глазах интервьюера и в целом просто не провалить всё собеседование на ровном месте.
Читать далееhttps://habr.com/ru/post/713404/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713404
Метки: программирование Алгоритмы Карьера в IT-индустрии интервью алгоритмическое собеседование собеседование в it |
Масштабирование NodeJS приложений, теория и практика |
Масштабирование приложения Node.js может быть сложной задачей, но с правильными методологиями это можно сделать эффективно и результативно. В этой статье мы обсудим несколько методов масштабирования приложений Node.js, включая горизонтальное масштабирование, вертикальное масштабирование и балансировку нагрузки. Посмотрим практические примеры.
Читать далееhttps://habr.com/ru/post/713420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713420
Метки: javascript оптимизация api nginx node.js кластеризация nodejs балансировщик кэширование запросов воркеры горизонтальное масштабирование pm2 обратный прокси вертикальное масштабирование |
Крипота: как истории ужаса стали частью интернет-культуры |
https://habr.com/ru/post/713396/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713396
Ракета с руками |
https://habr.com/ru/post/713140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713140
Слив исходников Яндекса, как самый большой толчок русского ИТ |
Постараюсь без долгих рассуждений, сразу к делу. Привет, я mobilz, и в своё время я уже "сливал" некоторые исходники Яндекса в том числе. Предварительно, конечно, предупредив их. К текущим событиям я не имею отношения, но у меня есть мысли, которыми я хочу поделиться.
Во-первых, это звиздец. Это не первый слив, но, наверно, самый крупный. Если бы такое произошло с моими проектами, я бы сел в углу, обняв колени, и долго плакал.
Во-вторых, это лучшее, что произойдёт с русским ИТ в этом году. Такого роста, как в этом году, мы не увидим ещё долго.
https://habr.com/ru/post/713402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713402
Метки: Информационная безопасность яндекс взлом утечка |
Раскатка k8s 1.26 ansible+jenkins |
Приветствую всех! Недавнее масштабное обновление github (когда там часами не работало ничто) побудило меня поделиться своим опытом автоматизации установки k8s на bare metal.
Итак. Задача: развернуть кластер kubernetes последней на данный момент версии 1.26 средствами CI/CD за минимальное время (на моем оборудовании около 3 минут), и вообще, начать с этого построение своих инструментов управления кластером.
Для этого потребуется от 3 серверов под управлением ubuntu, чтобы прошли тесты sonobuoy conformance (адаптация под rhel потребует небольших доработок).
Выработанный процесс больше подойдет для разворачивания тестовой среды, именно для этого акцент сделан на скорости, исключен любой шаг, без которого все и так полностью будет функционировать. Для production кластера, как минимум, придется добавить дополнительные отдельные etcd узлы, данный процесс за рамками этой статьи. Однако, etcd узлы на мастер нодах созданы будут в рассматриваемом процессе.
О роли ansible inventory.
[masters]
k8s
[master]
k8s
[etcd]
k8s
[workers]
r01
r02
[jenkins]
k8s
[grafana]
k8s
Давайте сделаем его простым, очень простым. Чтобы это осуществить, настройте dhcp службу вручную или с помощью API своего маршрутизатора. Будет нелишним настроить домен маршрутизатора, просто укажите любой идентификатор, который будет добавлен к именам ваших узлов. Вам потребуется добавить mac адреса сетевых интерфейсов своих узлов в список соответствия IP адресам в вашей подсети. Иными словами, составьте план статических адресов для своих узлов кластера.
itoracl.github.io/k8shttps://habr.com/ru/post/713398/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713398
Метки: Настройка Linux Kubernetes kubernetes cluster |
Boson — разработка СУБД «с нуля» (часть II) |
В первой части статьи мы обсуждали разработку самого нижнего слоя СУБД Boson - CachedFileIO. Как упоминалось, статистика такого явления как Locality of Reference говорит о том, что в реальных приложениях ~95% запросов к данным локализованы в 10-15% базы данных. При этом среднее соотношение чтения/записи - 70%/30%. Это делает эффективным использование кэша (cache) работающего на основе алгоритма Least Recently Used (LRU). Реализовав его, мы получили 260%-600% прироста скорости чтения при 87%-97% cache hits.
Следующим после кэша слоем СУБД Boson является хранилище записей RecordFileIO. Это уже первый прообраз базы данных, который начинает приносить прикладную пользу. Сформулируем верхнеуровневую спецификацию требований:
Читать далееhttps://habr.com/ru/post/712896/?utm_source=habrahabr&utm_medium=rss&utm_campaign=712896
Метки: c++ Системное программирование алгоритмы Хранение данных двусвязный список хобби записи в базе базы данных хранилище |
И смартфоны тоже: падение рынка худшее за много лет. В чем причина? |
https://habr.com/ru/post/711810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711810
Метки: Блог компании Selectel Исследования и прогнозы в IT Производство и разработка электроники смартфоны исследования рынок |
Retry or No? |
В этой статье разберем вариант реализации функционала перезапроса сообщений из семейства resilience шаблонов. Мы поговорим о retry. Точнее обсудим:
1. Что такое устойчивость и какое влияние на нее имеет retry?
2. Анализируем, где применять retry;
3. Реализуем retry;
4. Пишем unit-тесты с wiremock;
5.Делаем starter;
Читатьhttps://habr.com/ru/post/712964/?utm_source=habrahabr&utm_medium=rss&utm_campaign=712964
Метки: java spring rest pattern starter resilience maven lombok проектирование и рефакторинг wiremock тестирование it-систем feign распределённые системы блог компании альфастрахование |
Настраиваем Clion для разработки под Flipper Zero |
Как я настроил отладку приложений Flipper Zero в Clion.
Читать далееhttps://habr.com/ru/post/713382/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713382
Метки: Visual Studio Отладка flipperzero clion flipper zero Wi-Fi Debugger Module fap fbt stm32 embedded |