Динамическая инструментация — не просто, а тривиально*: пишем yet another инструментацию для American Fuzzy Lop

Автор: admin от Вчера, 19:00, посмотрело: 21

Динамическая инструментация — не просто, а тривиально*: пишем yet another инструментацию для American Fuzzy Lop(*) На самом деле, не совсем.

Наверное, многие слышали про Valgrind — отладчик, который может сказать, где в вашей нативной программе утечка памяти, где ветвление зависит от неинициализированной переменной и многое другое (а ведь кроме memcheck, у него есть и другие режимы работы). Внутри себя эта чудо-программа перемалывает нативный код в некий промежуточный байткод, инструментирует его и генерирует новый машинный код — уже с run-time проверками. Но есть проблема: Valgrind не умеет работать под Windows. Когда мне это понадобилось, поиски привели меня к аналогичной утилите под названием DrMemory, также с ней в комплекте был аналог strace. Но речь не столько о них, сколько о библиотеке динамической инструментации, на базе которой они построены, DynamoRIO. В какой-то момент я заинтересовался этой библиотекой с точки зрения написания собственной инструментации, начал искать документацию, набрёл на большое количество примеров и был поражён тем, что простенькую, но законченную инструментацию вроде подсчёта инструкций вызова можно написать буквально в 237 строк сишного кода, 32 из которых — лицензия, а 8 — описание. Нет, это, конечно не "пишем убийцу Valgrind в 30 строк кода на javascript", но сильно проще, чем то, что можно представить для подобной задачи.



В качестве примера давайте напишем уже четвёртую реализацию инструментации для фаззера American Fuzzy Lop, о котором недавно уже писали на Хабре.

->

Категория: Программирование, Системное администрирование

 

3D Блокчейн. Доказательство на лицо (PoF)

Автор: admin от Вчера, 19:00, посмотрело: 19

3D Блокчейн. Доказательство на лицо (PoF) Моя склонность — всё подвергать сомнению и блокчейн[1] не оказался исключением. Давайте взглянем на Цикл зрелости технологии (Gartner Hype Cycles). Где по Вашему находится Блокчейн? Естественно каждый для себя определит своё нахождение на том или ином цикле, которое свойственно проекту на каком-то из стадий разработки. Кто-то во всю развивает бизнес приложение и видит будущие горизонты, а кто-то только начинает знакомство. Но если взглянуть шире? Блокчейн неоспоримо засел в мысли и показал большой потенциал по трансформации многих сегментов взаимоотношения людей. Но у меня остаётся доля сомнения в отношении некоторых текущих принципов его работы. В итоге, я вижу эту стадию где-то на уровне пика завышенных ожиданий (Peak of inflated expectations) — общественный ажиотаж с чрезмерным энтузиазмом и нереалистичными ожиданиями. Что означает, впереди ещё ждать такие циклы как: Избавление от иллюзий, Преодоление недостатков, Плато продуктивности.



Поэтому, если Вам интересна критика и предположение иного подхода в определении консенсуса, то добро пожаловать под кат.
->

Категория: Информационная безопасность, Криптография

 

Продолжаем изучать Tizen: C# компоненты оказались высокого качества

Автор: admin от Вчера, 12:25, посмотрело: 21

Продолжаем изучать Tizen: C# компоненты оказались высокого качества

Сегодня я вновь возвращаюсь к проекту Tizen. В своей недавней заметке «Эксперимент по поиску ошибок в коде C# компонентов Tizen» в нашем блоге я провел поверхностный анализ и пришел к выводу, что имеет смысл проверить весь код C# компонентов этого проекта на наличие ошибок при помощи анализатора PVS-Studio и написать про это статью. Не откладывая в долгий ящик, я проделал эту работу и хочу поделиться с вами её результатами. Сразу скажу, что на C# коде анализатор PVS-Studio показал себя слабо. Однако обо всём по порядку: давайте посмотрим, что смог найти анализатор, а затем займёмся статистикой и подведём итоги.
->

Категория: Программирование, Веб-разработка

 

Официально представляем dapp — DevOps-утилиту для сопровождения CI/CD

Автор: admin от Вчера, 11:10, посмотрело: 19

Читатели этого блога, а также посетители последних HighLoad++ и РИТ++ с большой вероятностью уже слышали про нашу утилиту для DevOps-инженеров dapp, но теперь мы решили официально и окончательно представить её «большому миру». Формальное право на то нам даёт тот факт, что мы работаем с dapp для решения задач в production уже больше года, поэтому считаем, что технология созрела для более массового использования.



Официально представляем dapp — DevOps-утилиту для сопровождения CI/CD


Итак, dapp — написанный на Ruby инструмент, созданный в компании «Флант» как Open Source-проект для реализации и сопровождения процессов CI/CD. Что он позволяет? ->

Категория: Программирование, Системное администрирование

 

Яндекс открывает технологию машинного обучения CatBoost

Автор: admin от 18-07-2017, 12:30, посмотрело: 15

Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



Яндекс открывает технологию машинного обучения CatBoost


CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.


->

Категория: Компании » Яндекс

 

SDN с платформой Red Hat OpenStack: интеграция с OpenDaylight

Автор: admin от 18-07-2017, 09:25, посмотрело: 17

OpenDaylight — проект с открытым исходным кодом под эгидой Linux Foundation, направленный на содействие внедрению и развитию программно-определяемых сетей (SDN) путем создания общей отраслевой платформы. Red Hat — платиновый член-учредитель сообщества OpenDaylight, в деятельности которого участвуют как отдельные специалисты, так и крупные сетевые компании. OpenDaylight стимулирует инновации и разработку самых разных вариантов использования.



SDN с платформой Red Hat OpenStack: интеграция с OpenDaylight ->

Категория: Веб-разработка, Linux

 

«Ваш следующий шаг к блокчейну»: релиз платформы Exonum от Bitfury Group

Автор: admin от 17-07-2017, 11:25, посмотрело: 23

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



Технологию планируют применять для утверждения результатов выборов и защиты авторских прав создателей контента в цифровом пространстве. Exonum поможет «перевести» системы предоставления государственных услуг на Украине в блокчейн-среду. И платформа уже используется в Грузии, где на базе Exonum реализована регистрация прав собственности.



«Ваш следующий шаг к блокчейну»: релиз платформы Exonum от Bitfury Group ->

Категория: Программирование, Веб-разработка

 

Поговорим о микрооптимизациях на примере кода Tizen

Автор: admin от 17-07-2017, 10:30, посмотрело: 34

Поговорим о микрооптимизациях на примере кода Tizen


Как правило, при обсуждении диагностических возможностей PVS-Studio за кадром остаются рекомендации, выдаваемые анализатором по поводу микрооптимизаций Си и Cи++ кода. Конечно, микрооптимизации не так важны, как диагностики выявляющие ошибки, но про них тоже интересно поговорить.
->

Категория: Программирование » Веб-разработка

 

Прокачиваем NES Classic Mini — продолжение

Автор: admin от 16-07-2017, 11:40, посмотрело: 27

В феврале я писал статью о том, как русские энтузиасты «взламывали» консоль NES Classic Mini, как мы занимались её реверс-инжинирингом, и как я писал приложение для того, чтобы каждый мог легко закачать в неё свои игры буквально в пару кликов.



Прокачиваем NES Classic Mini — продолжение



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



Как обычно, под катом моё повествование и в современной видеоформе, и в виде традиционной статьи.
->

Категория: Операционные системы » Linux

 

Google Developer Days приходит в Европу

Автор: admin от 13-07-2017, 16:00, посмотрело: 28

Google Developer Days приходит в Европу



Нам в Google очень нравится встречаться и общаться с разработчиками. Это помогает нам лучше понимать ваши потребности и улучшать наши продукты, чтобы они подходили для самых разных регионов, где вы работаете. Мероприятия для разработчиков — отличный способ сделать это. Именно поэтому мы проводим различные мероприятия, где мы можем общаться напрямую с разработчиками. Сегодня мы запустили специальный сайт и открываем регистрацию для европейской части нашей глобальной серии мероприятий для разработчиков – Google Developers Days (GDD).

->

Категория: Веб-разработка, Game Development, Google, Android, iOS

 
Назад Вперед