Pull to refresh
1
0
Nexion @nexion

User

Send message

Введение в ELF-файлы в Linux: понимание и анализ

Reading time11 min
Views90K
Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внутрь. И таким же оказывается ELF, Executable and Linkable Format. Формат файлов, который используется повсеместно, но мало кто его понимает. Это краткое руководство поможет вам достичь понимания.



Прочтя это руководство, вы изучите:

  • Зачем нужен формат ELF и для каких типов файлов он используется
  • Структуру файла ELF и детали его формата
  • Как читать и анализировать бинарное содержимое файла ELF
  • Какие инструменты используются для анализа бинарных файлов
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments15

Какого цвета ваша функция?

Reading time13 min
Views25K

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


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


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


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

Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments38

Начинающим Java программистам

Reading time2 min
Views1.2M
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.

Читать дальше →
Total votes 120: ↑113 and ↓7+106
Comments58

Ethereum-блокчейн и его использование на практике

Reading time12 min
Views36K
imageПривет, Хабр! На связи Wirex, финтех стартап, предоставляющий услуги платежей и денежных переводов с использованием blockchain, минимизируя банковское посредничество. И мы продолжаем цикл статей, посвященных Ethereum и связанным с ним проектам. В предыдущих выпусках мы рассказали о том, как Ethereum вышел на передовую мира блокчейн, а также о том, как устроена децентрализованная автономная организация The DAO(которая, кстати, в прошедшую пятницу была взломана и теперь будет закрыта с возвратом средств инвесторам). Сегодня поговорим о практическом применении Эфириума. Но для начала несколько слов о блокчейне в общем и о том, как Ethereum позволил блокчейну из распределенной базы транзакций превратиться в часть вычислительной одноранговой сети общего назначения. Как нам кажется, довольно неплохо этот процесс описывал основатель Plex.ai Терек Джуди в блоге Microsoft.

В 2009 году произошел запуск Биткойн, базы данных, работа которой основана на новой структуре данных, получившей название «блокчейн».

Блокчейн — это логически связанная последовательность информационных блоков, каждый из которых содержит данные о группе транзакций и ссылку на предыдущий блок. Это позволяет связать воедино все когда-либо выполненные транзакции. Структура копируется на все узлы (компьютеры) системы, что позволяет каждому участнику иметь достоверную информацию обо всех транзакциях без какой-либо необходимости получать ее из централизованного источника.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments25

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time9 min
Views86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Total votes 158: ↑149 and ↓9+140
Comments15

Вышел Zabbix 3.0

Reading time7 min
Views107K
Долгожданная версия открытой системы мониторинга Zabbix обещает нам целый ворох новых возможностей, вставая на путь визуального обновления.
Сегодня хочу поделиться с вами тем, что принес релиз, и чем можно начать пользоваться уже сегодня, скачав новую версию с сайта. Мы также будем рады пригласить всех желающих на Zabbix Meetup в Москве, подробности о котором вы найдете в конце статьи.


Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments85

Полноценный REST API для перфекционистов за 5 минут

Reading time15 min
Views229K


Привет, Хабр! Меня зовут Владимир, мне 28 лет и я наркоман наркоман. Мой наркотик – простота. На простоту я подсел из-за своего перфекционизма, которым меня наградили при рождении.

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

Мир вокруг не идеален, сложную вещь сделать простой – невероятно сложно, поэтому всё чрезмерно усложнено. Людям нравится чувствовать себя профессионалами, поэтому они оперируют сложными терминами, когда в этом нет необходимости, так они ощущают свою значимость и заполняют пустоту, которая образовалась из-за страха потерянного времени.
Читать дальше →
Total votes 49: ↑41 and ↓8+33
Comments78

Почему ваш любимый мессенджер должен умереть

Reading time18 min
Views328K
image
Кладбище мессенджеров, на котором обязательно должны оказаться Skype, Viber, WhatsApp, Hangouts, ooVoo, Apple iMessage, Telegram, Line, Facebook messenger и еще сотни мессенджеров, которым только предстоит выйти в ближайшее время.

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

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

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

image

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


Читать дальше →
Total votes 260: ↑230 and ↓30+200
Comments357

Мифы о /dev/urandom

Reading time14 min
Views49K
image

Наверняка многие из вас неоднократно сталкивались с мифами о /dev/urandom и /dev/random. Может быть, в некоторые из них вы даже верите. В этом посте мы сорвём покровы со всех этих мифов и разберём настоящие сильные и слабые стороны этих генераторов случайных чисел.
Читать дальше →
Total votes 73: ↑61 and ↓12+49
Comments8

Трюки, облегчающие жизнь в zsh

Reading time11 min
Views25K
Zsh — одна из лучших командных оболочек, обладающая впечатляющим набором возможностей. Однако, из‐за большого количества возможностей нет ничего удивительного в том, что некоторые из них проходят мимо внимания или возможность их применения для решения повседневных задач неочевидна. В этой статье будут рассмотрены как несколько «встроенных» возможностей zsh, так и примеры непростого кода, облегчающие жизнь.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments8

Редактирование образа Raspberry Pi с помощью qemu-user-static (Ubuntu 14.04)

Reading time5 min
Views18K
image

Иногда необходимо редактирование стандартных загрузочных образов, а также конфигурирование систем с последующим тиражированием на большое количество плат Raspberry Pi. Для решения подобных задач удобно использовать пакеты qemu-user-static и binfmt-support.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments3

Порог беспошлинной интернет-торговли может быть отменен. Или нет?

Reading time3 min
Views12K


Очередной приступ активности в сфере упорядочивания зарубежных интернет-покупок случился внезапно — 23 ноября рабочая группа совета ЕЭК (Евразийской экономической комиссии) начала обсуждение нового проекта о снижении порога беспошлинной интернет-торговли с нынешних 1000 до 150 евро в месяц.
Подробности
Total votes 11: ↑10 and ↓1+9
Comments8

ModPOS – троян к распродаже

Reading time4 min
Views6.2K
Приветствуем наших читателей на страницах блога iCover! Как известно, объемы продаж, совершаемых в дни масштабных акций ритейлерами возрастают на порядки. И именно в эти дни хакерам выпадает прекрасная возможность апробировать в самых что ни на есть “полевых” условиях перспективные виды кибервооружений, созданные для активного перераспределения денежных потоков. Именно о таком зловреде – новом трояне ModPOS, а точнее его самой последней версии виртуозно заточенной под ритейлеров США и Восточной Европы рассказала группа вирусных аналитиков iSight Partners . И этот зверь, уважаемые читатели, стоит того, чтобы узнать о нем «заблаговременно».


Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments1

Первые шаги с Java 9 и проект Jigsaw – часть первая

Reading time10 min
Views56K
Доброе утро, Хабр!

Еще со времен книги "Java. Новое поколение разработки" мы следим за развитием давно анонсированных новых возможностей этого языка, объединенных под общим названием "Project Jigsaw". Сегодня предлагаем перевод статьи от 24 ноября, вселяющей достаточную уверенность, что в версии Java 9 Jigsaw все-таки состоится.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments8

Turris Omnia — мощный, открытый и безопасный домашний роутер

Reading time2 min
Views33K
Turris Omnia

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

Чешские ребята из CZ.NIC, что подарили миру замечательный демон маршрутизации BIRD, который используется, в том числе, в Московской точке обмена трафиком MSK-IX, DNS-сервер Knot DNS, продвигали DNSSEC с момента его появления и одними из первых запустили интернационализованные доменные имена, решили, что пора всему этому положить конец — нужно сделать достаточно мощный домашний роутер, который бы не захлебывался от гигабитного трафика, с большим количеством ROM и RAM, чтобы на нем можно было запускать все необходимое ПО, в том числе и LXC и Docker-контейнеры с полноценными ОС, который придерживался бы принципов Open Source и Open Hardware и обновлялся автоматически, без участия человека, как только разработчики закрывают уязвимости. Более того, авторы поддерживают honeypot, который симулирует роутеры с уязвимостями, на своих серверах, чтобы отслеживать последние угрозы.


замечательное видео, доходчиво объясняющее все преимущества устройства
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments56

Android. Автозапуск приложения при загрузке: теория и практика

Reading time7 min
Views95K
Простой поиск на stackoverflow.com показывает, что тема получения сообщения ACTION_BOOT_COMPLETED остается актуальной и по сей день. Как видно, многие новички сталкиваются с проблемой: они не получают в своих приложениях сообщение ACTION_BOOT_COMPLETED. В этой статья я попробую резюмировать данные из официальной документации, опыт многих разработчиков из stackoverflow.com, а также свой опыт. Итак, как же победить этого «коварного врага» под названием «ACTION_BOOT_COMPLETED»?
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments7

Новый Samsung 950 Pro PCIe SSD: всё, что надо знать

Reading time6 min
Views94K
Компания Samsung Electronics объявила о запуске первого твердотельного накопителя Samsung серии 950 PRO форм-фактора М.2 с масштабируемым контроллером NVM Express (Non – Volatile Memory Express). Разберёмся, почему Samsung переходит к новому форм-фактору и контроллеру, а также чем это хорошо для пользователя.

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments43

Обработка ошибок в Rust

Reading time32 min
Views39K

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



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



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


Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments73

Ускоряем код на Android'е

Reading time4 min
Views16K
Продолжу начатую в моей предыдущей статье работу по оптимизации алгоритма. Вкратце расскажу, что было сделано. Были взяты готовые java исходники и каскадная модель одной из реализаций алгоритма Виола-Джонса. Данный алгоритм используется для поиска объектов на фотографии, в частности для поиска лиц. Тестирование проводил на своем телефоне, по результатам было получено, что изначальный код на java работал 54 секунды на фотографии размером 300 на 400. Это было слишком медленно, переписанный мною код на C++ показал результат в 14 секунд. В комментариях было предложено догнать java-реализацию до C++ следующим образом: отпрофилировать и найти узкие места, и заменить двумерный массив на одномерный. Также у меня в планах было распараллелить алгоритм на C++. Все было сделано и исследовано, результаты ниже.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments6

Spring + Hibernate для новичков

Reading time5 min
Views69K

Вместо дисклеймера


На Хабре уже есть множество статей на тему работы с Hibernate, однако, как мне показалось, все они довольно сложные для новичков. Эта статья направлена на разъяснение основ работы с ORM и будет полезна в первую очередь тем, кто только начинает разрабатывать собственные приложения и имеет мало опыта работы с базами данных в общем, и с инструментами, вроде Hibernate, в частности. Матерые разработчики вряд ли найдут в статье для себя что-то новенькое; всех остальных прошу под кат.
Читать дальше →
Total votes 14: ↑6 and ↓8-2
Comments9

Information

Rating
Does not participate
Date of birth
Registered
Activity