Рубрика «Программирование» - 381

CPU Design: Эзотерический язык LMCode - 1
Часть I
Часть II
Часть III
Часть IV

Эта статья посвящена созданию интерпретатора некого эзотерического языка LMCode, в основе которого лежит архитектура Little Man Computer. О Little Man Computer можно прочитать в предыдущих статьях.

  • Пусть команде INP соответствует ,
  • команде OUT соответствует .
  • команде ADD соответствует +
  • команде SUB соответствует —
  • команде STA соответствует ~
  • команде LDA соответствует ^

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

На ассемблере LMC эта программа будет выглядеть так (начальной ячейкой пусть будет 20)

 INP
 STA 20
 ADD 20 
 OUT

Читать полностью »

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год

Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3Читать полностью »

Не так давно компания STM выпустила на рынок очень мощную, по меркам микроконтроллеров, линейку кристаллов STM32H7. Что меня в ней привлекло:

  • повышенная частота ядра до 400 МГц
  • увеличенный объем ОЗУ, до 1 МБ
  • 16 разрядный АЦП
  • pin-to-pin совместимость с серий F7

Отлично подумал я, запаял на плату кристалл STM32H743IIT6 вместо STM32F746IGT6 и начал новый проект в SW4STM32.
Читать полностью »

Приветствую вас, коллеги!

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

Первая мысль была — пойти по уже проторенному пути: написать набор соответствующих функций на С, точнее, адаптировать уже готовый — то, что я писал когда-то для Harbour и C++, сделать привязку к нему с помощью cgo (C API для Golang) и дружелюбную обертку. Я даже начал это делать, получил первое окошко, но как представил, сколько впереди еще работы, отдельно для Windows, отдельно для Linux, работы чисто технической, поскольку я это уже проходил, энтузиазм несколько поостыл.

И тогда пришла другая идея.Читать полностью »

System.IO.Pipelines — это новая библиотека, упрощающая организацию кода в .NET. Трудно обеспечить высокую производительность и точность, если приходится иметь дело со сложным кодом. Задача System.IO.Pipelines — упростить код. Подробнее под катом!

System.IO.Pipelines: высокоэффективный IO в .NET - 1Читать полностью »

Робомобили без водителей развозят пиццу. Такси без водителей развозят людей. Фуры без водителей развозят многотонные грузы. Если разобрать все эти эффектные проекты, мы придем к разным типовым задачам, важной из которых является поиск и оптимизация маршрутов. Такие задачи решаются с помощью теории графов. Тема эта непростая,  изучается, в основном, уже в университете или, как минимум, в старших профильных классах. Но в этом посте я покажу, как с помощью LEGO EV3 освоить теорию графов уже в средней школе. Причем без зубрежки, а на увлекательном, прикладном уровне.

Разрабатываем беспилотный транспорт в средней школе с LEGO EV3 - 1
Автомобильный конвейер на основе EV3 от Danny’s LAB. Реально собирает LEGO-машинки. Но речь немного не о нем.
Читать полностью »

В программе курса Разработчик Java довольно много тем,посвященных внутренностям работы JVM. Мы разбираемся в механизмах работы коллекций, байт-кода, сборщика мусора и т.д.
Сегодня предлагаем Вашему внимаю перевод довольно интересной статьи о thread dump-е. Что это такое, как его получить и как использовать.

Хотите узнать, как анализировать thread dump (дамп потоков)? Заходите под кат, чтобы узнать больше о том как в Java получить thread dump и что с ним потом делать.

Читать полностью »

DevOops — это конференция, посвященная исключительно вопросам DevOps. Она прошла на прошлой неделе и хочется поделиться впечатлениями.

Многие смотрели онлайн-интервью в перерыве между докладами, и я был их ведущим. Как всё это выглядит изнутри — будет под катом. Произошло так много всего, график настолько плотный, что даже сделать фотографию удавалось лишь изредка. Например, вот это снято на RX100 дрожащими руками с открытия конференции:

Как делаются интервью между докладами и небольшой отчет о DevOops - 1

Горизонт, естественно, завален. В фотоаппарате есть возможность включить горизонт, но это сложновато выполнить, когда на фотографию есть всего несколько секунд.

Итак, как выглядит жизнь ведущего онлайн-интервью во время конференции?

Читать полностью »

«Победа искусственного интеллекта над футбольными экспертами» – таким мог стать заголовок этой статьи про результаты футбольного соревнования. Мог бы, но, увы, не стал.

Во время Чемпионата мира по футболу у нас в компании "НОРБИТ" проходил конкурс на лучший прогноз матчей по футболу. Я слишком поверхностно разбираюсь в футболе, чтобы на что-то претендовать, но желание принять участие в конкурсе все-таки победило мою лень. Под катом – история о том, как благодаря машинному обучению мне удалось добиться неплохих результатов среди знатоков футбольных команд. Правда, сорвать куш мне не удалось, зато открыл для себя новый увлекательный мир Data Science.

Может ли искусственный интеллект оставить букмекеров без работы? - 1

Читать полностью »

Конференция BLACK HAT USA. Как Голливудский хакер использует камеры наблюдения. Часть 1

Мы можем также использовать эту ошибку для получения или замены зашифрованного пароля администратора, который хранится в /etc/privpasswd.

Конференция BLACK HAT USA. Как Голливудский хакер использует камеры наблюдения. Часть 2 - 1

Мы можем вытянуть содержимое из этого файла. Как видите, в нём находится имя пользователя root и зашифрованный пароль.

Конференция BLACK HAT USA. Как Голливудский хакер использует камеры наблюдения. Часть 2 - 2

На данный момент у нас есть 2 варианта: можно попробовать расшифровать пароль с помощью такого инструмента, как John the Ripper:

Конференция BLACK HAT USA. Как Голливудский хакер использует камеры наблюдения. Часть 2 - 3

Если это не сработает, черт с ним – у нас есть root, и мы просто перезапишем этот файл. В любом случае мы получаем доступ к «админке», и так же, как и в случае с предыдущей камерой, снова будем иметь права как администратора, так и root-пользователя.

Конференция BLACK HAT USA. Как Голливудский хакер использует камеры наблюдения. Часть 2 - 4

Эти уязвимости имеют место в большинстве камер IQ InVision, включая 3 и 7 серии, серию Sentinel, Alliance-Pro, Alliance-MX и Alliance-Mini. Я не стану перечислять все модели, иначе останусь тут навсегда, весь перечень этих камер имеется в интернете в списке Shodan Dork. Печально то, что, как известно, камеры этого производителя широко используются в школах, полицейских участках, банках, казино, финансовых и консалтинговых компаниях, службе DHL и так далее.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js