• HackerSIM: разбор полетов



      В последнее время на Хабре и Гиктаймс появилось много статей (1, 2, 3, 4, 5, 6, 7) о SIM-карте, наделенной невиданными и неслыханными возможностями, что вызвало озабоченность и заинтересованность в различных кругах. Появилось множество скепсиса и споров, а затем различных теорий, порой потрясающих своей фантастичностью. Попробуем приоткрыть завесу тайны с технической стороны. Естественно, эти тесты не были бы возможны без данной SIM-карты, которую нам любезно предоставил MagisterLudi.

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

      Начнем по порядку.
      Читать дальше →
    • Видеозахват на все случаи жизни

        Привет, Geektimes. Сегодня поговорим о достаточно простой теме, которая, всё же, иногда создаёт некоторые проблемы как программного, так и аппаратного характера. Речь идёт о записи видео с экрана…



        Существует довольно много способов, от бесплатных и простых до платных и мудрёных. От таких где можно не вставать со стула до таких, когда надо купить оборудования на пол килобакса. У каждого есть плюсы и минусы и об этом сегодня и поговорим.
        Читать дальше →
      • Основы многопоточности в .NET Framework



          Многопоточность — одна из самых сложных тем в программировании, с ней постоянно возникает масса проблем. Без четкого понимания внутренних механизмов будет очень трудно предсказать результат работы приложения, использующего несколько потоков. Мы не будем здесь дублировать массу теоретической информации, которой очень много в сети и умных книгах. Вместо этого сконцентрируемся на конкретных и наиболее важных проблемах, на которые нужно обращать особое внимание и обязательно помнить о них в процессе разработки.
          Читать дальше →
        • Видеозаписи и обзор конференции LVEE-2014

            В прошлом году в белорусских лесах под Гродно прошла конференция LVEE-2014, краткий отчет о которой был на хабре. Я снимал-монтировал видео, и хотя я опубликовал его еще прошлой осенью, только сейчас дошли руки кратко описать собственно сами доклады. На хабре еще ни разу не было публикации видео и обзоров докладов с этой конференции, надеюсь будет интересно. Паруминутный ролик о LVEE-2014 для общего впечатления:



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

            Читать дальше →
            • +18
            • 4,2k
            • 2
          • Курсы этичного хакинга и тестирования на проникновение: обновленная программа

              Если вы увлекаетесь информационной безопасностью и хотите усовершенствовать свои навыки в короткое время, то содержание статьи, скорее всего, покажется вам достаточно интересным. Статья носит обзорный характер обновленных программ обучения в области практической ИБ от PENTESTIT.

              Разрабатывая уникальные по своему формату и методике обучения курсы: «Zero Security: A» и «Корпоративные лаборатории», мы стараемся сделать курсы не только эффективными, но и удобными. Основное отличие программ обучения заключается в том, что первая рассчитана на базовую подготовку в области этичного хакинга, а вторая — на профессиональную подготовку не только этичного хакинга, но и построения эффективных систем ИБ. В любом случае, даже опытные специалисты, посетившие первую программу, открывают для себя что-то новое, не говоря уже о «Корпоративных лабораториях», включающих материал, по уровню сравнимый с докладами на профессиональных хакерских конференциях. Кроме этого, каждый набор пополняется новым материалом, что позволяет передать специалистам, проходящим обучения, наиболее актуальную на момент обучения информацию.

              Уникальность программ обучения заключается в симбиозе формата обучения (полностью дистанционное, не требующее отрыва от работы и учебы), качества материала и специализированных ресурсов, на которых производится обучение.


              Читать дальше →
              • +21
              • 16,6k
              • 6
            • Лучшие доклады .NEXT 2014 Moscow (видео внутри). Часть 1: Места с 6 по 10

                Обратный отсчет перед очередной конференцией .NEXT давно запущен. Пришло время рассказать о тех докладах, которые были на декабрьской конференцией в Москве. Причем рассказывать будем сразу о лучших из них, чтобы не тратить ваше время. Методика выбора лучших описана подробно в предыдущем посте.



                Сегодня я расскажу о местах во второй половине первой десятки. Как всегда, в обратном порядке.
                Читать дальше →
                • +19
                • 17,3k
                • 2
              • Сравнение сервисов приема интернет-платежей для ИП

                  Ранее я опубликовал две статьи (1, 2) о способах приема платежей на сайте. В предыдущих статьях было одно условие — подключение к платежным системам производилось как физическое лицо. Теперь я решил выйти из сумрака делать все максимально честно, и хочу рассказать о способах подключения к платежным системам в качестве ИП и легального вывода заработанного на расчетный счет в банке.

                  К сожалению, процесс подключения к платежным системам в качестве ИП всегда омрачен тем фактом, что для вывода денег (а иногда и просто для того, чтобы зайти в личный кабинет) нужно подписать договор и подождать, пока он дойдет в бумажном виде до платежной системы, поэтому в этой статье в большинстве случаев я буду описывать только теоретическую и информационную части сотрудничества с платежными системами и агрегаторами.

                  В общем случае, чтобы подключить прием платежей, нужно обменяться договором с платежной системой, так что на быстрое подключение рассчитывать не приходиться. Плюс — этот договор должны вручную обработать, так что если не учитывать время, затраченное на пересылку документов Почтой России, то подключение занимает от трех дней. Пакет документов у всех примерно одинаковый, но иногда может потребоваться заверенная у нотариуса копия какого-то документа или, например, свежая выписка из ЕГРИПа.

                  Итак, герои сегодняшнего обзора: WebMoney, Яндекс.Касса, PayPal, Единая Касса (Wallet One), RBKMoney, PayMaster, РобоКасса, QIWI
                  Читать дальше →
                • Детальный анализ Хабрахабра с помощью языка Wolfram Language (Mathematica)


                    Скачать пост в виде документа Mathematica, который содержит весь код использованный в статье, вместе с дополнительными файлами, можно здесь (архив, ~147 МБ).

                    Анализ социальных сетей и всевозможных медиа-ресурсов является сейчас довольно популярным направлением и тем удивительнее для меня было обнаружить, что на Хабрахабре, по сути, нет статей, которые содержали бы анализ большого количества информации (постов, ключевых слов, комментариев и пр.), накопленного на нем за довольно большой период работы.

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

                    В посте будут рассматриваться статьи, относящиеся к хабам, всего в анализе участвовало 62000 статей из 264 хабов. Статьи, написанные только для корпоративных блогов компаний в посте не рассматривались, а также не рассматривались посты, не попавшие в группу «интересные».

                    Ввиду того, что база данных, построенная в посте, формировалась за некоторое время до публикации, а именно 26 апреля 2015 г., посты, опубликованные на Хабрахабре после этой даты (а также, возможно, новые хабы) в данном посте не рассматривались.

                    Оглавление


                    Импорт списка хабов
                    Импорт ссылок на все статьи Хабрахабра
                    Импорт всех статей Хабрахабра
                    Функции извлечения конкретнных данных из символьного XML представления поста
                    Создание базы данных постов Хабрахабра с помощью Dataset
                    Результаты обработки данных
                    Краткий анализ хабов
                    Граф связей хабов на Хабрахабре
                    Количество статей в зависимости от времени
                    Количество изображений (видео), используемых в постах в зависимости от времени
                    Облака ключевых слов Хабрахабра и отдельных хабов
                    Сайты, на которые ссылаются в статьях на Хабрахабре
                    Коды, которые приводят в статьях на Хабрахабре
                    Частота встречи слов
                    Рейтинг и числа просмотров постов, а также вероятность достижения их определенных значений
                    Зависимость рейтинга и числа просмотров поста от времени публикации
                    Зависимость рейтинга поста от его объема
                    Заключение
                    Читать дальше →
                  • CLRium #2. Большой семинар по .NET в Питере

                      Вы успеваете отслеживать все свежее, что происходит в мире .NET в последнее время? Выход своей мини-IDE под Linux и MAC OS? Забор исходников от referencesource в проект Mono 4? Более ранний релиз C# 6 под mono, чем под .NET в Windows? Даже гуру .NET не успевают все узнать, чего уж говорить про разработчиков, у которых помимо работы есть множество семейных проблем? Как раз чтобы решить все проблемы такого рода, придуманы конференции и семинары. И в особенности — семинары, где в отличии от конференций упор сделан — на код и практику.

                      В Москве семинар собрал 380 разработчиков всех уровней познания платформы .NET, на котором были не только граждане РФ, но также присутствовали гости из Штатов, Германии, Чехии, Украины и Белоруссии.

                      Приглашаем на семинар по платформе .NET в Санкт-Петербурге, который пройдет уже совсем скоро — 29-30 мая. Подробности:
                      Читать дальше →
                      • +11
                      • 3,2k
                      • 6
                    • Релиз Mono 4.0 с импортом кода из referencesource.microsoft.com и corefx


                        — Сделали поддержку C# 6 по-умолчанию
                        — Потюнили в плане улучшения производительности GC и рантайм
                        — Ускорили операции с float на 30-40%
                        — Добавили поддержку PowerPC64 LE
                        — И, самое главное импортировали очень большой кусок BCL из .NET Framework.
                        Список импортированного кода
                      • Храним 300 миллионов объектов в CLR процессе

                          Камень преткновения — GC


                          Все managed языки такие как Java или C# имеют один существенный недостаток — безусловное автоматическое управление паматью. Казалось бы, именно это и является преимуществом managed языков. Помните, как мы барахтались с dandling-указателями, не понимая, куда утекают драгоценные 10KB в час, заставляя рестартать наш любимый сервер раз в сутки? Конечно, Java и C# (и иже с ними) на первый взгляд разруливают ситуацию в 99% случаев.

                          Так-то оно так, только вот есть одна проблемка: как быть с большим кол-вом объектов, ведь в том же .Net никакой магии нет. CLR должен сканировать огромный set объектов и их взаимных ссылок. Это проблема частично решается путём введения поколений. Исходя из того, что большинство объектов живёт недолго, мы высвобождаем их быстрее и поэтому не надо каждый раз ходить по всем объектам хипа.

                          Но проблема всё равно есть в тех случаях, когда объекты должны жить долго. Например, кэш. В нём должны находиться миллионы объектов. Особенно, учитывая возрастание объемов оперативки на типичном современном серваке. Получается, что в кэше потенциально можно хранить сотни миллионов бизнес-объектов (например, Person с дюжиной полей) на машине с 64GB памяти.

                          Однако на практике это сделать не удаётся. Как только мы добавляем первые 10 миллионов объектов и они “устаревают” из первого поколения во второе, то очередной полный GC-scan “завешивает” процесс на 8-12 секунд, причём эта пауза неизбежна, т.е. мы уже находимся в режиме background server GC и это только время “stop-the-world”. Это приводит к тому, что серверная апликуха просто “умирает” на 10 секунд. Более того, предсказать момент “клинической смерти” практически невозможно.
                          Что же делать? Не хранить много объектов долго?

                          Зачем


                          Но мне НУЖНО хранить очень много объектов долго в конкретной задаче. Вот например, я храню network из 200 миллионов улиц и их взаимосвязей. После загрузки из flat файла моё приложение должно просчитать коэффициенты вероятностей. Это занимает время. Поэтому я это делаю сразу по мере загрузки данных с диска в память. После этого мне нужно иметь object-graph, который уже прекалькулирован и готов “к труду и обороне”. Короче, мне нужно хранить резидентно около 48GB данных в течении нескольких недель при этом отвечаю на сотни запросов в секунду.

                          Вот другая задача. Кэширование социальных данных, которых скапливаются сотни миллионов за 2-3 недели, а обслуживать необходимо десятки тысяч read-запросов в секунду.
                          Читать дальше →
                        • Особенности внедрения DLL и установки хуков в Modern-приложениях Windows 8/10

                          • Tutorial
                          Для чего вообще нужно внедрять свои DLL-ки в чужие процессы и устанавливать там хуки? Для того, чтобы понять какие функции будет вызывать это приложение, с какими параметрами и что эти функции вернут. Таким образом мы можем понять внутреннюю логику работы этого приложения, узнать к каким файлам оно пытается получить доступ, какие данные пересылает по сети, мы можем добавить в него логирование, профилирование, отладить баг, получить из приложения некоторые данные или наоборот — добавить в его интерфейс что-нибудь нужное нам. Хуки использует известная утилита Spy++ для работы с окнами приложений, DirectX-отладчики вроде RenderDoc, некоторые утилиты от SysInternals, программы типа ApiMonitor и т.д.

                          Некоторое время назад я писал вводные статьи об использовании хуков на примерах библиотек Microsoft Detours и madCodeHook (если вы совсем не знакомы с хуками — это то, с чего можно начать). Описанных там техник достаточно для работы с обычными приложениями, но время не стоит на месте и вот сегодня у нас уже есть Metro Modern-приложения, входящие в комплект Windows 8 и Windows 10, а также распространяющиеся через Microsoft Store программы сторонних производителей. К примеру, новый браузер Spartan — это Modern-приложение. Внедрение DLL в эти процессы имеет свои особенности и на первый взгляд может даже показаться невозможным, но это не так. В этой статье я расскажу, как мы можем залезть внутрь Modern-приложения и установить в нём хуки в своих коварных целях.
                          Читать дальше →
                          • +22
                          • 13,3k
                          • 1
                        • Как мы начали создавать конференции

                            Всем привет! «Мы» — это только я — создаю конференции для .Net разработчиков. Начинал с того, что в прошлом году собрал 200 человек в сумме по Москве, Питеру, Екатеринбургу. В этом году ожидается до 700 человек. И, как говорится, это только начало. О том, как я начинал в прошлом году, и с каким количеством косяков повстречался, я и хочу поведать.

                            Когда создавалась встреча в Москве, я столкнулся с целым ворохом сложностей. Необходимо не только привлечь людей другого города, да еще и на площадку другого города. При этом в связи с спонтанностью решения и отсутствием четкого понимания, взлетит или нет, не было даже юридического лица (сейчас уже есть). Оххх… Однако, по порядку… Начиная с подготовки к встрече.

                            Перед тем, как начать


                            Во-первых необходимо собрать максимум информации, которая будет уникальной и по которой будет не найти ничего в интернете. Это будет крайне желательно, поскольку именно за нее люди готовы заплатить деньги. У меня в качестве этой информации были примеры «как снять дамп с виртуальной памяти всех .Net объектов», а также «клонирование потока с сохранением места исполнения кода и замыканием всех переменных». В этом примере рассказывается о манипуляциях со стеком и TEB.
                            Читать дальше →
                          • Как правильно оформить поставку программного обеспечения

                            • Tutorial
                            Вопрос выбора договорной схемы распространения программного обеспечения далеко не праздный, поскольку прямо связан с налоговыми последствиями. Данная заметка поможет вам быстро разобраться в особенностях договоров, применяемых для дистрибуции ПО, и сделать осознанный выбор.
                            Читать дальше →
                          • Открой Open Source 2ГИС

                              Open Source 2ГИС
                              2ГИС выпускает справочники и карты городов с 1999 года. За это время мы прошли большой технологический путь — от одного ПК-приложения с данными для Новосибирска до API карт и справочника, десктопных приложений на Windows, Ubuntu и OS X, мобильных приложений на Android, iOS, Windows Phone и Blackberry с данными по 270 городам мира.

                              Часто мы решаем задачи, для которых нет готовых инструментов. Или они есть, но не покрывают всех потребностей. Поэтому мы сами пишем для себя фреймворки и библиотеки, большая часть которых связана с автоматизацией тестирования, сборкой и ускорением разработки.

                              Этими инструментами с удовольствием делимся на Гитхабе, а для удобства сделали ещё и Open Source раздел на 2ГИС.Технологиях. Чтобы вы разобрались, что есть что, мы расскажем о наших флагманских инструментах с открытым кодом.
                              Читать дальше →
                            • Делаем скриншоты правильно: практические советы

                              • Tutorial
                              Устройство для снимка экрана на первых компьютерах (Command-Shift-3)
                              Устройство для снимка экрана на первых компьютерах (Command-Shift-3)

                              Если вы когда-либо делали хелп или мануал для своего приложения, наверняка вы отметили, как неожиданно много времени и сил занимает создание скриншотов.

                              Ведь кажется, что скриншот — это “секунда работы, Alt+PrintScreen и Ctrl+V!”. Некоторые клиенты удивляются, когда слышат, что скриншот в мануале может стоить и $2 и даже $5.

                              В этой статье я расскажу, как правильно делать скриншоты, почему это не просто “два клика” и какие подводные камни встречаются на пути неопытного скриншотера. Рассматривайте ее как чеклист или список практических советов для тех, кто документирует ПО. Надеюсь, это поможет вам избежать разочарований и порадовать юзеров красочными понятными картинками.
                              Читать дальше →
                            • Командно-ориентированная навигация в xaml-приложениях

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

                                Навигация между представлениями (экранами) в xaml-ориентированных приложениях довольно важная и интересная задача. Особенно это касается её реализации в рамках паттерна MVVM. В идеале вью-модели не должны содержать никаких прямых ссылок на представления, чтобы быть кросс-платформенными и сохранялась возможность повторного их использования в нескольких проектах. Сегодня мы узнаем, как этого достичь.

                                Читать дальше →
                              • Под капотом образовательного проекта Хекслет

                                  Привет, Хабр!



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

                                  Напомню, Хекслет — это платформа для создания практических уроков по программированию в настоящей среде разработки. Под настоящей средой разработки мы подразумеваем полноценную машину, подключенную к сети. Эта важная деталь отличает Хекслет от других образовательных проектов (например, Codecademy или CodeSchool) — у нас нет симуляторов, все по-настоящему. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. В целом, если это запускается на Unix-машине — этому можно обучать на Хекслете. При этом, понимая это или нет, пользователи используют Test-Driven Development (TDD), потому что их решения проверяются юнит-тестами.

                                  В этом посте я расскажу про архитектуру платформы Хекслет и инструменты, которые мы используем. О том, как на этой платформе создавать практически уроки — в следующей статье.
                                  Читать дальше →
                                • Как создавалась одна из самых эмоциональных сцен «The Last of Us»

                                    image
                                    Скриншот из игры

                                    Серьезно нашумевший в 2013 году проект «The Last of Us» по праву считается одной из жемчужин среди игр для PlayStation 3, а после и PlayStation 4. Студия-разработчик Naughty Dog, известная среди игроков благодаря таким франшизам как Crash Bandicoot и Uncharted, всегда очень внимательно подходит к работе, в особенности учитывая то, что уже много лет их главный хлеб — это эксклюзивы для японских консолей. Можно долго спорить о предпочтениях, но большинство геймеров сходятся в одном: The Last of Us получила более сотни призов в номинации «Игра Года» по версиям различных издательств по всему миру не просто так. Одной из самых сильных сторон проекта называлась история, что неудивительно, ведь награду гильдии сценаристов США кому попало не дают. А сцена встречи с жирафами в постапокалиптическом мире, как это не дико звучит, сыграла в описании этой истории и придании ей эмоционального окраса не последнюю роль. Предлагаю Вам познакомиться с воспоминаниями Джона Суини, одного из художников студии Naughty Dog.

                                    Публикация содержит сюжетные спойлеры. Если вы: 1. Геймер, ценящий сюжет. 2. Все еще не играли в The Last of Us. 3. Не смотрели прохождение или трехчасовой игрофильм на YouTube, то вам стоит воздержаться от прочтения и познакомиться с историей главных героев самостоятельно.
                                    Читать дальше →