Как стать автором
Обновить
-4
Dmitry @Zoimread⁠-⁠only

Финтех Full Stack C# developer

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

Вычислите длину окружности

Время на прочтение6 мин
Количество просмотров90K
«Пожалуйста, напишите на C++ функцию, которая получает диаметр круга как float и возвращает длину окружности как float».

Звучит как задание на первой неделе курса по C++. Но это только на первый взгляд. Сложности возникают уже на первых этапах решения задачи. Предлагаю рассмотреть несколько подходов.

Студент: Как вам такой вариант?

#include <math.h>
float CalcCircumference1(float d)
{
    return d * M_PI;
}

Преподаватель: Да, этот код может нормально откомпилироваться. А может и нет.
Читать дальше →

Эксплуатируем root-уязвимость в роутерах Asus

Время на прочтение28 мин
Количество просмотров109K
В начале 2015 года компания Asus исправила критичнейшую уязвимость в своих роутерах. «Дыра» была в службе по имени infosvr, использующейся утилитами Asus для облегчения настройки роутера путём его автоматического обнаружения в локальной сети. Уязвимость позволяла выполнять любые команды с правами root (ведь infosvr тоже root), что давало злоумышленнику полный контроль над системой.

Но Asus выпустила исправленные прошивки. Теперь это всё в прошлом. Или нет? Хм… А как часто обыватели обновляют прошивки на своих роутерах?



Прошу под кат за подробностями, историей обнаружения, исследованиями, инструкциями и… эксплоитами.
Читать дальше →

Обход блокировки запрещенного сайта вебмастером без настроек и ПО на стороне клиента

Время на прочтение3 мин
Количество просмотров92K
Увидел я как-то IPv6 Teredo пиров в µTorrent под Windows, которые качали куски с довольно приличной скоростью, и тут меня осенило…

Что такое Teredo?

Teredo — технология туннелирования IPv6 через IPv4 UDP-пакеты. Она задумывалась как переходная технология, которая работает за NAT, и, в общем, более-менее выполняет возложенные на нее обязанности. Teredo позволяет получить доступ в IPv6-интернет через публичные Teredo-серверы. Интересно то, что в Windows 7, 8 и 8.1 Teredo настроен и включен по умолчанию, прямо из коробки, и использует сервер Teredo от Microsoft (teredo.ipv6.microsoft.com).

Зачем это нам?

Веб-сайты, определенные ссылки которых по тем или иным причинам оказались в реестре запрещенных сайтов, могут организовать доступ с использованием Teredo, что позволит вернуть доступ к сайту примерно 80-85% пользователям современных версий Windows без дополнительных настроек и ПО! Доступ через Teredo позволяет обойти все протестированные DPI-решения, применяемые провайдерами. Роскомнадзор не только не может внести такие страницы в реестр, но и не может получить к ним доступ (вероятно, Teredo у них не работает):
Скрытый текст
Здравствуйте
Благодарим Вас за активную гражданскую позицию, однако сообщаем, что Ваша заявка была отклонена по следующим возможным причинам:
— на момент проведения проверки экспертами, указанный в Вашем обращении адрес http://[2001:0:9d38:6ab8:30c4:d940:9469:f43e]/ был не доступен;
— указанный в Вашем обращение адрес http://[2001:0:9d38:6ab8:30c4:d940:9469:f43e]/ указан неверно, либо идет перенаправление на другой адрес;
— указанный в Вашем обращение адрес http://[2001:0:9d38:6ab8:30c4:d940:9469:f43e]/ требует обязательной регистрации/авторизации.
С уважением,
ФЕДЕРАЛЬНАЯ СЛУЖБА ПО НАДЗОРУ В СФЕРЕ СВЯЗИ, ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И МАССОВЫХ КОММУНИКАЦИЙ.
К тому же, у Роскомнадзора нет полномочий блокировать страницы, которые перенаправляют на другие страницы, и кнопка «Актуальный Навальный» тому подтверждение.

Особенности сервера Teredo от Microsoft

Для доступа в «обычный» IPv6, в Teredo используются Relay-серверы, которые имеют полный IPv6-доступ и работают как прокси-серверы. В свою очередь, relay-серверы Teredo от Microsoft не позволяют получить доступ в «обычный» IPv6 или к другим Teredo-серверам, разрешая только связность Teredo-клиентов, настроенных на сервер Microsoft, и образуя такую большую закрытую сеть из Windows-компьютеров.
Читать дальше →

Обход проактивной защиты Agnitum Outpost Security Suite в 2 строчки

Время на прочтение2 мин
Количество просмотров37K
Ранее я уже заявлял об этом и даже делился видео-демонстрацией, но не раскрывая подробности. К сожалению, Разработчик забил болт так и не отреагировал на моё письмо о проблеме (моё обращение было зарегистрировано 2.10.2012 под номером sb-ru-02-121000048-t). Поэтому я решил показать все технические подробности. Приводимая далее видео демонстрация была впервые показана на ZeroNights 2012 в рамках zeroday show.

Предыстория


Подобные уязвимости часто находятся случайным образом. Мой случай — не исключение. Как-то раз в 12 часов ночи, в полнолуние поставил себе Outpost Security Suite и настроил проактивку на максимальный режим. При этом режиме даже вставленная новая флешка в систему не примонтируется, пока не разрешить несколько действий во всплывающих окнах антивируса. Однажды при вставке новой флешки как обычно появилось всплывающее окно от антивируса, но я не давал согласия на установку. А привычным образом заблокировал компьютер (клавиш Win+L), покинув его на несколько минут. Каково же было моё удивление, когда вернувшись я выяснил, что флешка-таки примонтировалась в систему! Вот тут и началось самое интересное…
Читать дальше →

Mikrotik: скрипт переключения на резервный канал интернета

Время на прочтение10 мин
Количество просмотров59K
Хочу поделиться своим скриптом для перехода на резервный интернет, когда основной пропадает, и возврату на основной, как только он вновь заработает. Сразу скажу, каналы доступны по-одному, никакого load-balance тут не будет. Оба канала — PPP соединения (в моем случае один проводной, второй — 3G свисток). Скрипт сделан специально как наиболее гибкое средство мониторинга, так как другие варианты, в частности check-gateway, не совсем корректны для меня.
Читать дальше →

Когда this == null: невыдуманная история из мира CLR

Время на прочтение5 мин
Количество просмотров33K
Довелось как-то раз отлаживать вот такой код на C#, который «на ровном месте» падал с NullReferenceException:

	public class Tester {
		public string Property { get; set; }
		public void Foo() {
			this.Property = "Some string"; // NullReferenceException
		}
	}

Да, вот на этой самой строчке с присвоением свойства падал NullReferenceException. Что за дела, думаю — неужели рантайм перестал проверять наличие экземпляра перед вызовом экземплярных методов?

Как оказалось — в некотором роде да, перестал. Правда, и компилятор оказался не тем, за кого себя выдаёт, да и проверки вовсе не гарантированы рантаймом… Подробнее — под катом.
Читать дальше →

Скоро любой желающий сможет сделать свои глаза голубыми

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

Кто-то считает это пустой тратой 5000 $, но процедура поможет людям с гетерохромией


Косметическая процедура, которая заключается в удалении лазером пигмента радужной оболочки глаза, становится ещё ближе. CNN сообщает, что были проведены тесты этой операции в Латинской Америке, но до одобрения в США ещё далеко.

С некоторой точки зрения все глаза являются голубыми: под карим или любым другим пигментом всегда скрывается голубая радужная оболочка. Западная цивилизация считает голубой цвет глаз привлекательным, но им обладает лишь шестая часть населения. Цвет от рождения нельзя было сменить ни скальпелем, ни инъекцией из медицинской иглы, ни любым другим инструментом, и недовольным своими природными данными приходилось довольствоваться линзами. Но примерно в ноябре 2011 года в новостных лентах начала распространяться информация о калифорнийской компании Strōma Medical и её основателе Грегге Гомере. Доктор биологических наук предложил удалять пигмент лазером, после чего в течение двух недель глаза приобретали голубой оттенок.
Читать дальше →

Был получен несанкционированный доступ к более чем 20 000 камерам видео-наблюдения Москвы (теперь вы тоже)

Время на прочтение5 мин
Количество просмотров253K
Привет, Хабрахабр! Наверняка многие из вас помнят легендарный пост «Были получены исходники 3300 глобальных интернет-проектов», который долгое время был первым в рейтинге всех публикаций на сайте. Несмотря на схожий заголовок у моего поста, не претендую на первое место, но считаю, что вам стоит обратить внимание.


Читать дальше →

Хабраэффект для 130 000 камер Москвы

Время на прочтение2 мин
Количество просмотров134K
Привет, Хабр! Спасибо за неожиданно теплый приём. Высокий рейтинг нашей первой публикации и бурное обсуждение в комментариях окончательно убедили нас в том, что вы довольно отзывчивая аудитория и из этой затеи обязательно выйдет что-то полезное. Сегодня расскажем подробнее о том, как вы можете помочь городу стать лучше.


Читать дальше →

Hotpatch. Патчим память ядра Windows

Время на прочтение6 мин
Количество просмотров23K
В версии Windows Server 2003 SP1 была представлена технология, называемая «хотпатчингом». То есть обновление системы «на лету», без необходимости ее перезагрузки. Технология позволяет устанавливать патчи на отдельные функции (как пользовательские, так и режима ядра). В версии 8.1 возможность установки хотпатчей была ликвидирована. Примечательно, что использовать данную возможность можно из user-mode'a даже в случае kernel-mode патчей.
Читать дальше →

Гальванизация трупа: как удалось оживить битый HDD для хранения чего-нибудь ненужного

Время на прочтение5 мин
Количество просмотров139K
Попался мне недавно битый внешний жесткий диск… Ну как попался? Сам купил по дешевке.

Диск как диск: железная коробочка, внутри — USB2SATA контроллер и ноутбучный диск фирмы Samsung на 1 Тб.. По описанию продавца выходило, что глючит именно USB-контроллер. Сначала, мол, и пишет, и читает хорошо, а потом постепенно начинает тормозить и вообще отваливается. Явление для внешних дисков без дополнительного питания довольно частое, так что я ему, конечно, поверил. Ну а что — дешево же.

Итак, радостно разбираю коробочку, достаю оттуда диск и втыкаю в проверенный временем и невзгодами адаптер. Диск включился, завелся, определился, и даже подмонтировался в линуксе. На диске обнаружилась файловая система NTFS и с десяток фильмов. Нет, не про эротические приключения, а совсем даже наоборот: «Левиафаны» всякие. Казалось бы — ура! Но нет, все только начиналось.
Читать дальше →

Меняем почтовые индексы на адреса из трех слов с помощью реверсивного геокодирования

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


what3words прекрасно подходит для обозначения точного местоположения. Эта система координат помогает найти любой квадрат 3 x 3 метра на планете. Если вы раньше не слышали о координатах из трех слов, вы можете узнать подробности о сервисе из нашей приветственной публикации. Однако при всех положительных качествах what3words мы можем применять эту технологию далеко не во всех случаях. К примеру, для работы с почтовыми отправлениями нам приходится указывать почтовый адрес, даже несмотря на то, что с помощью адресов what3words курьер легко сможет доставить отправление прямо до двери. Было бы удобно, если бы прямо на странице веб-сайта адрес what3words мог преобразоваться в почтовый адрес, и разумеется, это возможно.
Читать дальше →

?.: когда свойства в C# могут быть равны null

Время на прочтение3 мин
Количество просмотров27K
Чем больше я пишу на C# 6, тем больше убеждаюсь в том, насколько оператор ?. (null coalescing operator) помогает писать чистый простой и понятный код. Сегодня я покажу 4 ситуации, в которых он может быть очень полезен.

Большая вложенность

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

var location = default(string);
if (vendor != null)
{
    if (vendor.ContactPerson != null)
    {
        if (vendor.ContactPerson.HomeAddress != null)
        {
            location = vendor.ContactPerson.HomeAddress.LineOne;
        }
    }
}

Но теперь у нас есть C# 6, с ним код можно привести на намного более читаемому виду:

var location = vendor?.ContactPerson?.HomeAddress?.LineOne;

Оператор ?. сделает так, что как только в одном из свойств цепочки окажется null, дальнейшее вычисление выражения производится не будет. Посмотрим ещё несколько примеров.
Читать дальше →

Добавление Wi-Fi к различным устройствам

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

Предисловие


Один мой хороший товарищ занимается автоматизацией зданий. И вот как-то за кружкой пива пожаловался он мне на один из объектов, который находится у него в эксплуатации. «Головой» всей тамошней автоматики является ПЛК 100 известного отечественного производителя ОВЕН. Работает он автономно, без постороннего вмешательства, но раз в месяц необходимо с него снимать логи и контролировать общую исправность всей автоматики в здании. Проблема в том, что в шкафу, в котором расположен ПЛК, по каким-то причинам не провели Ethernet от местной сетки. Дотянуть провод, по неким организационным причинам не представляется возможным. И вешать GSM модем нельзя, т.к. шкаф находится в подвале, где нету сети. При этом до шкафа с ПЛК добивает местная Wi-Fi сеть, однако у ПЛК 100 нет Wi-Fi.
И вот приходится каждый месяц ездить на объект с ноутбуком, включаться переходником USB-RS232 в прибор и снимать логи. В результате, я пообещал «допилить» ПЛК, добавив в него Wi-Fi.
Читать дальше →

Обналичиваем Bitcoin по хорошему курсу в Таиланде

Время на прочтение3 мин
Количество просмотров36K
Пост не рекламы сервиса, но радости за постепенную интеграцию криптовалют в жизнь. Недавно я задался вопросом, можно ли в Таиланде вывести биткойны в наличные быстро и удобно. И нашёлся сервис, который делает это по хорошим курсам и в течение буквально пары часов, а получить наличку можно в любом банкомате голубого банка без всякой карты, просто по коду. Делюсь с вами инструкцией-фотоотчётом.


Читать дальше →

Улей с вытекающим мёдом собрал 2 млн долларов

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

Краудфандинговая кампания только началась, но финансирование уже выполнено на 3000 %


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

И это неудивительно: извлечение мёда из ульев — это самая трудоёмкая и времязатратная работа в пчеловодстве. Традиционно эта операция состоит из множества шагов, основными являются открытие улья, удаление пчёл, распечатывание сот с мёдом и работа центрифуги аппарата медогонки. Также возможны стекание мёда без всякой помощи и после этого тепловое воздействие. А австралийский проект Flow предлагает решение, при котором для извлечения мёда не нужно открывать улей и тревожить пчёл — нужна лишь ёмкость, в которую будет стекать готовый продукт.
Читать дальше →

В Великобритании запретили «сексуально оскорбительную» рекламу смартфона

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


Бюро рекламных стандартов Великобритании наложило запрет на телевизионный ролик компании Kazam, которая рекламировала «самый тонкий» смартфон, используя при этом неподобающие визуальные образы.
Читать дальше →

Удаляем сертификаты зловредной adware от Lenovo

Время на прочтение2 мин
Количество просмотров23K
Недавно было обнародовано вопиющее поведение компании Lenovo, предустанавливающей на свои ноутбуки рекламное ПО. Оно не только вставляет рекламу в страницы, но и внедряет в систему SSL-сертификат, позволяющий сканировать зашифрованный трафик. Конечно же, этот сертификат был взломан и теперь безопасность всех пользователей ноубуков Lenovo под угрозой.
Читать дальше →

Что именно происходит, когда пользователь набирает в адресной строке google.com? Часть 1

Время на прочтение7 мин
Количество просмотров141K
Перевод первой части материала с github, обстоятельно объясняющего работу интернета: что именно происходит, когда пользователь набирает в адресной строке google.com?

Кнопка «ввод» возвращается в исходное положение


Для начала отсчёта выберем момент, когда кнопка «ввод» утоплена. В этот момент замыкается контур, отвечающий за эту кнопку. Небольшой ток проходит по логическим контурам клавиатуры. Они сканируют состояние всех переключателей, гасят паразитные электрические импульсы, и преобразовывают нажатие в код клавиши 13. Контроллер кодирует код для передачи в компьютер. Теперь это почти всегда делается через USB или Bluetooth, а раньше в процессе участвовали PS/2 или ADB.
Читать дальше →

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Время на прочтение12 мин
Количество просмотров463K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность