» Материалы за Апрель 2015 года » Страница 8

 

Особенности внедрения DLL и установки хуков в Modern-приложениях Windows 8/10

Автор: admin от 28-04-2015, 12:25, посмотрело: 622

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

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

Категория: Программирование, Системное администрирование, Веб-разработка, Информационная безопасность, Windows

 

Car Hacking: так ли безопасны системы безопасности автомобиля?

Автор: admin от 28-04-2015, 12:12, посмотрело: 840

Car Hacking: так ли безопасны системы безопасности автомобиля?

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

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

 

Пытаемся сделать мониторинг по SNMP действительно простым

Автор: admin от 28-04-2015, 11:54, посмотрело: 2361

Уже немало написано о том, что в названии Simple Network Management Protocol слово Simple можно смело писать в кавычках. Протокол SNMP является достаточно простым с точки зрения создания SNMP-агентов, однако на стороне управляющего ПО (SNMP manager) грамотная обработка сложных по структуре данных обычно является нетривиальной задачей.

Пытаемся сделать мониторинг по SNMP действительно простым


Мы попытались упростить процесс настройки сбора данных и событий SNMP и позволить пользователям во время этого процесса:


  • Никогда не заглядывать внутрь MIB-файлов

  • Не знать, что такое OID-ы и никогда не оперировать с ними

  • Не пользоваться отдельной SNMP-утилитой для предварительного просмотра данных во время настройки


Как мы это делали и что из этого получилось

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

 

vCloud Director для самых маленьких (часть 1): настройка сети

Автор: admin от 28-04-2015, 11:50, посмотрело: 881

Сегодня расскажем о том, с чего начать работу в панели управления vCloud Director 5.5, которая используется в облачном сервисе Cloudlite.ru, и заодно поучимся настраивать сеть.

vCloud Director — это платформа для управления виртуальной инфраструктурой по модели IaaS. Для тех, кто раньше не сталкивался с «промышленными» вариантами панелей, может показаться сложной. Но первое впечатление обманчиво: как только «испуг» от богатого функционала пройдет, вы оцените ее возможности и ту, свободу в настройках, которую дает vCloud Director. А именно панель позволяет:
• создавать виртуальные машины и управлять ими;
• осуществлять их миграцию из другого облака;
• устанавливать любые виртуальные машины с ОС из имеющихся шаблонов и загружать ovf шаблоны самостоятельно;
• гибко управлять правами доступа к пулу виртуальных ресурсов;
• создавать внутренние и маршрутизируемые (с выходом в Интернет) и изолированные сети;
• настраивать гибкие правила Firewall и создавать VPN-соединения;
• настраивать балансировку нагрузки между виртуальными машинами и многое другое.

Начнем с самых азов, поэтому администраторы 80 lvl могут понаблюдать в стороне, как орлята учатся летать :)
vCloud Director для самых маленьких (часть 1): настройка сети

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

 

Разбор задач 2-го квалификационного раунда Russian Code Cup 2015

Автор: admin от 28-04-2015, 11:50, посмотрело: 292

Разбор задач 2-го квалификационного раунда Russian Code Cup 2015

В субботу 25 апреля прошел второй квалификационный раунд Russian Code Cup 2015. 3516 программистов решали задачи в течение двух часов, из них хотя бы одно правильное решение прислали 458 участников.

Первым за 4 минуты и 9 секунд решил задачу A (Турникеты в метро) Машарабов Александр (map). Задачу B (Игра) за 8:48 решил Дубленных Денис (Stigius), задачу C (Палочки и шарниры) за 18:08 решил Нигматуллин Нияз (niyaz.nigmatullin). Задачу D (Числа Фибоначчи) за 1 час 5 минут и 21 секунду решил Лунев Антон (Anton_Lunyov). А последнюю задачу E (Телепорты) за 1 час 44 минуты и 55 секунд решил Кунявский Павел (PavelKunyavskiy), который занял 1 место в рейтинге по итогам раунда. Последняя успешная попытка совершена Альбертом Саакяном за 4 секунды до конца соревнования. Все пять задач сдал только Павел Куявский.

Всего участники отправили на проверку 4287 решений, на С++ их было 3145, на Java — 613. Отметим, что из 2166 решений, сданных на GNU C++, 1218 решений использует С++ 11 стандарта, а остальные все еще не применяют новые возможности языка. Правильных решений на этот раз всего 913, из них на С++ — 726, на Java — 141.

Категория: Программирование

 

Принципы работы IQueryable и LINQ-провайдеров данных

Автор: admin от 28-04-2015, 11:37, посмотрело: 735

Средства LINQ позволяют .Net-разработчикам единообразно работать как с коллекциями объектов в памяти, так и с объектами, хранящимися в базе данных или ином удаленном источнике. Например, для запроса десяти красных яблок из списка в памяти и из БД средствами Entity Framework мы можем использовать абсолютно идентичный код:

List<Apple> appleList; 
DbSet<Apple> appleDbSet;
var applesFromList = appleList.Where(apple => apple.Color == “red”).Take(10);
var applesFromDb = appleDbSet.Where(apple => apple.Color == “red”).Take(10);

Однако, выполняются эти запросы по-разному. В первом случае при перечислении результата с помощью foreach яблоки будут отфильтрованы с помощью заданного предиката, после чего будут взяты первые 10 из них. Во втором случае синтаксическое дерево с выражением запроса будет передано специальному LINQ-провайдеру, который транслирует его в SQL-запрос к базе данных и выполнит, после чего сформирует для 10 найденных записей объекты С# и вернет их. Обеспечить такое поведение позволяет интерфейс IQueryable, предназначенный для создания LINQ-провайдеров к внешним источникам данных. Ниже мы попробуем разобраться с принципами организации и использования этого интерфейса.

Категория: Программирование

 

Интересные заметки по C# и CLR

Автор: admin от 28-04-2015, 11:33, посмотрело: 584

Интересные заметки по C# и CLR

Изучая язык программирования C#, я сталкивался с особенностями как самого языка, так и его средой исполнения, *некоторые из которых, с позволения сказать, «широко известны в узких кругах». Собирая таковые день за днем в своей копилке, что бы когда-нибудь повторить, чего честно сказать еще ни разу не делал до этого момента, пришла идея поделиться ими.

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

Категория: Программирование

 

Драйвер-паки и их индексы

Автор: admin от 28-04-2015, 11:17, посмотрело: 529

Раз уж в нашем предыдущем посте мы пригласили всех желающих поучаствовать в добровольной помощи в разработке очередных версий DRP, сегодня пришла пора рассказать о том, как именно мы создаем немаловажную вещь при работе с большими архивами драйверов (необходимые сис. админам и другим профессионалам, занимающимся «серийной» настройкой компьютеров) — индексы.

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

Драйвер-паки и их индексы

Герои Silicon Valley работают над оптимизацией собственных алгоритмов

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

 

Native Script. Один код для всех платформ

Автор: admin от 28-04-2015, 10:54, посмотрело: 482

Native Script. Один код для всех платформ

Native script (NS) – это библиотека, позволяющая делать кросс-платформенные приложения, используя XML, CSS, javascript. Native script решает ту же задачу, что и уже всем известный phonegap (создание кросс-платформенных приложений), но подходы у них разные. Phonegap использует движок браузера, чтобы отобразить ваш UI (фактически вы получаете веб-страницу), Native script использует нативный рендеринг, использует элементы нативного UI. Следующее важное отличие: чтобы получить доступ к камере, gps и так далее в phonegap необходимо устанавливать плагины, в то время как NS дает доступ из коробки.

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

 

BalanceBall. Самобалансирующая платформа от А до Я

Автор: admin от 28-04-2015, 10:49, посмотрело: 844

Я студент Физтеха, факультета радиотехники и кибернетики, и как положено всем второкурсникам, в весеннем семестре надо сделать проект по информатике и микроконтроллерам. Я решил убить двух зайцев одним выстрелом и объединил два проекта в один.

Долго выбирал тему проекта. Из идей была игра, похожая на Guitar Hero, но контроллером были твои руки, настукивающие барабанные биты по столу. Также задумывался над созданием светодиодной матрицы, управляемой по Bluetooth с компьютера, со своим простеньким скриптовым языком для написания анимаций. Задумки были интересными, но я все равно казались чем-то не тем. Потом я случайно наткнулся на это видео и сразу загорелся идеей реализовать что-то подобное. Вот что у меня вышло в итоге:



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

Категория: Железо » Сделай Сам