Search
Write a publication
Pull to refresh
3
0.2

Пользователь

Send message

Анализ приложения защищенного виртуальной машиной

Reading time52 min
Views45K
В данной статье будет рассмотрено построение защиты приложения с использованием различных программных «трюков» таких как: сброс точки входа в ноль, шифрование тела файла и декриптор накрытый мусорным полиморфом, сокрытие логики исполнения алгоритма приложения в теле виртуальной машины.

К сожалению, статья будет достаточно тяжелая для обычного прикладного программиста, не интересующегося тематикой защиты ПО, но тут уж ничего не поделать.

Для более или менее адекватного восприятия статьи потребуется минимальные знания ассемблера (его будет много) а так-же навыков работы с отладчиком.

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

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

В качестве реципиента, по совету одного достаточно компетентного товарища, я выбрал немножко старый (но не потерявший актуальности, в силу качества исполнения) keygenme от небезызвестного Ms-Rem.

Вот первоначальная ссылка, где он появился: http://exelab.ru/f/index.php?action=vthread&forum=1&topic=4732
А потом он попал вот сюда: http://www.crackmes.de/users/ms_rem/keygenme_by_ms_rem/
Где данному keygenme был выставлена сложность 8 из 10 (*VERY VERY* hard).
Хотя, если честно, это слегка завышенная оценка — я бы поставил в районе 5-6 баллов.

Пожалуй, начнем.
Читать дальше →

Дэниел Сиберг: Как перестать воспринимать смартфон как часть тела

Reading time8 min
Views20K


В кратком дайджесте по следам первого Idea Camp мы пообещали подробнее рассказать о выступлениях наших уважаемых гостей, Дэниела Сиберга и Тима Олсена. Сегодня мы начинаем выполнять своё обещание и с удовольствием предлагаем вашему вниманию конспект выступления Сиберга — футуролога и эксперта в области информационных технологий, автора книги «Digital Diet».
Читать дальше →

Один крутой Gist: whiteboardCleaner

Reading time1 min
Views30K
Доброго времени суток уважаемые хабравчане. На просторах интернета мне повстречался один миниатюрный и очень интересный Bash скрипт. С помощью ImageMagick он потрясающим образом обрабатывает фотографии белой учебной доски, очищая «содержимое» от всего лишнего:

#!/bin/bash
convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2


До:


image

После:


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

Алгоритм Энигмы

Reading time5 min
Views160K
        В данном сообществе я нашел много статей про известную шифровальную машинку «Enigma», но нигде из них не описывался подробный алгоритм ее работы. Наверняка многие скажут, что это не нуждается в афишировании, — я же надеюсь, что кому-нибудь да будет полезно об этом узнать.
Читать дальше →

Как я использовал BitTorrent Sync между офисами в РФ и Китае

Reading time6 min
Views55K
Давно не видел статей о BitTorrentSync, и очень удивляюсь: ведь это такой полезный инструмент. Буквально на днях вышла новая версия*, и я решил рассказать, как применил это решение на работе.



Начало

Однажды в нашей компании наступил момент, когда встала необходимость обмениваться довольно тяжёлыми файлами — макетами продукции и упаковки (100-500 мегабайт) между офисами в Москве, Екатеринбурге и офисом в провинции Чжэцзян, КНР. Сложность была в катастрофически низкой скорости и надёжности связи РФ — Китай.

Когда я обратил внимание на проблему, царил полный разброд и шатание:
Читать дальше →

Занимательная геодезия

Reading time9 min
Views105K
Всем привет!
Сегодня я расскажу тебе, %USERNAME%, о башмаках и сургуче, капусте, королях координатах, проекциях, геодезических системах и совсем чуть-чуть о веб-картографии. Устраивайся поудобнее.

Как говорил ещё Артур Кларк, любая достаточно развитая технология неотличима от магии. Так и в веб-картографии — я думаю, все давно привыкли пользоваться географическими картами, но далеко не каждый представляет себе, как это всё работает.

Вот, казалось бы, простая вещь — географические координаты. Широта и долгота, что может быть проще. А вот представьте, что вы очутились на необитаемом острове. Смартфон утонул, а других средств связи у вас нет. Остаётся только написать письмо с просьбой о помощи и по старинке выбросить его в море в запечатанной бутылке.

Вот только незадача — вы совершенно не знаете, где находится ваш необитаемый остров, а без указания координат никто вас не найдёт, даже если выловит ваше письмо. Что делать? Как определить координаты без GPS?

Об этом и о многом другом - подробнее под катом

Осваиваем Python. Унция ноль. Введение.

Reading time4 min
Views127K

Предыстория



Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.
Читать дальше →

Развитие накопителей

Reading time3 min
Views29K

У нас в планах есть рассказ о перспективных и интересных накопителях будущего, поэтому краткий обзор и немного систематизации будут полезны. Системы хранения — это отдельная область, которая вторична относительно носителей, поэтому её сейчас затрагивать не будем. Сильно в прошлое тоже нет необходимости, обойдемся SATA/SAS временами, новейшей историей, ближайшим будущим и красивыми картинками с цифрами.
Читать дальше →

«Безнадежный» проект или 8 «уроков палкой»

Reading time7 min
Views23K
Не бывает безнадежных проектов. Бывают плохие проектные менеджеры, к коим себя в случае этого проекта я могу отнести. Излишняя самоуверенность бывает вредна, а для успеха проекта очень часто нужно заботиться «о политике», а не только о технике. Статья написана сугубо по своим личным ошибкам, соответственно больше дискуссионная, чем информационная.


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

Простой wifi бот для мониторинга помещений или «кухонное» роботостроение

Reading time7 min
Views264K

Вступление.


Сегодня у каждого из нас дома присутствует выделенная линия с весьма «толстым» каналом. Так же у большинства есть wifi роутер, и опять таки большинство из нас не заботится о его отключении когда уходим из дома. И действительно зачем? Протоколы защиты wifi весьма надежны, потребление роутера ничтожно. Следовательно ваш дом часто или всегда on-line. Но что это нам дает? Торентокачалки, личные разнообразные сервера и т.д.

Особо продвинутые из нас имеют умный дом с разнообразными «плюшками» и дистанционным мониторингом посредством интернета. Это правильное, но дорогое решение. Но все это есть смысл устанавливать только в своем жилье. В случае со съемным это абсурд.

Тем не менее обострения паранойи, гиперответственность или схожие факторы (вспомним классическую ситуацию – «А выключил ли я утюг?») создают нам определенный дискомфорт когда мы оставляем свое жилище. Особенно на длительный срок. Возникает вопрос – как так получается что квартира все время on-line, а я ничего не вижу и не контролирую. Странно.

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

Памятка по составлению ИТ-бюджета

Reading time4 min
Views64K

Лучше один раз день потерять, а потом за 5 минут все согласовать




Формирование бюджета и обоснование затрат на ИТ — достаточно простая процедура, которая позволяет руководству компании увидеть выгоды инвестирования в технологии, а техническим специалистам разделять ответственность за состояние ИТ-инфраструктуры с руководством.

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

Планирование бюджета на ИТ можно разделить на три этапа:
Читать дальше →

Samba4 в роли AD + файловый сервер

Reading time5 min
Views158K
    В этой статье я рассмотрю по шагам подготовку к использованию Samba4 в роли контроллера домена вкупе с дополнительным файловым сервером так же на базе Samba4. Что в итоге мы получим? Два настроенных сервера с samba4, первый в роли domain controller, второй в роли member server с файлами пользователей. Функционирования этой связки я добивался около месяца, за сим, не поделится конечным рецептом просто не имею права…



    Немного предыстории: в компании используется файловый сервер на базе samba3.6 с LDAP Backend, который содержит список всех пользователей и групп с правами доступа. Права доступа на каталоги выставляются с помощью xattr_acl (Extended file attributes), в LDAP хранится список пользователей с соответствием группам доступа. Собственно требуется переехать с этой инфраструктуры на samba4…
Читать дальше →

Готовимся к пятнице: светящиеся напитки из бара TRON: Наследие

Reading time1 min
Views165K
Те, кто видел фильм «TRON: наследие» наверняка хорошо помнят сцену в баре с Daft Punk в роли диджеев и волшебным освещением, где даже напитки светятся.

Некоторые хабраюзеры знают мое увлечение всяческими «светяшками». Одна из первых тем. Сегодня делюсь с вами результатами простого рецепта приготовления безопасных и «ленивых» светящихся коктейлей.

Мало кто знает о специфическом свойстве витаминов группы «B» — способности светиться в ультрафиолетовых лучах. Именно его мы и будем использовать для создания светящихся напитков. Вещества, которые отвечают за свечение – это рибофлавин (B2) и хинин (содержится в тонике и многих других сильногазированных напитках).

Всего 4 ингредиента отделяют нас от готового напитка.
Читать дальше →

Микровыпуск СДСМ. Подготовка лаборатории для мультикаст в GNS3

Reading time3 min
Views16K
В этой короткой заметке я хочу рассказать о том, как подготовить тестовый стенд для работы с мультикастом.
Для меня самого эта задача была очень актуальной при подготовке девятого выпуска Сетей Для Самых Маленьких.
Хочется ведь не просто увидеть циферки в консоли, а посмотреть видео.

В качестве эмулятора мы будем использовать GNS.

Поясняющее наглядное видео.



Для примера мы возьмём вот такую сеть:



Здесь R1 олицетворяет собой IP-сеть, редуцированную до одного узла — это в общем-то не имеет значения.
Главный вопрос: что будет на месте мультикастового сервера и клиента.
Читать дальше →

Документирование в разработке ПО

Reading time5 min
Views149K

INTRO


Добрый день, уважаемое сообщество.
Позвольте представиться. Я бизнес-аналитик, уже десять лет работаю в области разработки заказного программного обеспечения, в последнее время совмещаю роли аналитика и руководителя проектов.

Одним из болезненных вопросов в разработке ПО всегда был и остаётся процесс документирования этой самой разработки. Вам доводилось приходить на проект, который делают уже пару лет, но, при этом, вы никак не можете с ним разобраться, потому что из документов есть одно техническое задание, да и то написано в самом начале и не отражает и половины функционала системы? Мне доводилось. И это, честно говоря, очень печальное и байтораздирающее зрелище.
Поэтому на всех своих проектах я стараюсь изначально построить процесс так, чтобы неопознанного и неописанного функционала не было, все члены команды вовремя получали актуальную информацию и вообще был мир во всём

Итак, для начала отвечу на главный вопрос: для чего всё это нужно.
Есть несколько причин.
Читать дальше →

bb-mobile VOIIS GPS: телефон с большими кнопками, контролем здоровья и удаленным управлением

Reading time6 min
Views20K
Лично мне никогда особо не нравилась классическая концепция «бабушкофона», получившая определенное распространение на российском рынке. Да, у таких аппаратов большие кнопки и крупные шрифты, что хорошо. А вот все остальные функции в них, кажется, реализуются для галочки. Радио без гарнитуры? Да, оно работает. Но встроенная в корпус антенна настолько слаба, что толком принимать FM-сигнал она не может, и поэтому вместо музыки из динамика доносится в основном шуршание.

SOS-функциональность? Да, телефон может звонить и отправлять СМС на заданные тревожные номера по нажатию на соответствующую кнопку (обычно она находится сзади). Но дальше-то что? Человек узнает, что с его пожилым родственником что-то случилось. Но и только: где он, что он – далеко не факт, что вся эта важнейшая информация дойдет до получателя. Потому что этот самый пожилой родственник должен передать ее «адресату» голосом, а если у него, например, случился инсульт, то сделать он этого наверняка не сможет. Все это напоминает мою школу, где к началу одного учебного года в кабинете физики установили краны на каждой парте. Типа для экспериментов. Но трубы к ним подвести «забыли», и в течение следующих трех лет учебы этими кранами мы не воспользовались ни разу. То же самое и с «бабушкофонами»: начинание здравое и правильное, но для победного конца его почему-то не доводят.

Ниже я расскажу о телефоне bb-mobile VOIIS GPS, в котором все как раз сделано как надо. И я бы не стал называть его «бабушкофоном» в привычном понимании – ему лучше подходит определение «медфон», так как он среди прочего позволяет удаленно контролировать параметры состояния здоровья пользователя. Это может пригодиться не только пожилому человеку, но и, например, ребенку. Я вот, помнится, в 12 лет поехал в детский «оздоровительный» лагерь. Слово «оздоровительный» я сознательно взял в кавычки, так как из-за дикой антисанитарии и плохого питания я «поймал» там какой-то интересный вирус, приведший к высокой температуре и проблемам с желудком. Градусник мне заботливые родители дали с собой, и я даже пару раз использовал его по назначению. Но в 12 лет не задумываешься о том, что 38 градусов – это как-то слишком много. Главное – солнце, море, песок… Вот я и заболел тогда хорошенько. А был бы у меня в кармане bb-mobile VOIIS GPS, а в голове – правильный инструктаж от родителей, то они бы, узнав о проблемах с температурой, забрали меня бы из этого заведения в течение считанных часов.


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

Мониторинг событий информационной безопасности с помощью ZABBIX

Reading time9 min
Views175K
image

Некоторое время поработав с Zabbix, я подумал, почему бы не попробовать использовать его в качестве решения для мониторинга событий информационной безопасности. Как известно, в ИТ инфраструктуре предприятия множество самых разных систем, генерирующих такой поток событий информационной безопасности, что просмотреть их все просто невозможно. Сейчас в нашей корпоративной системе мониторинга сотни сервисов, которые мы наблюдаем с большой степенью детализации. В данной статье, я рассматриваю особенности использования Zabbix в качестве решения по мониторингу событий ИБ.
Читать дальше →

Поднимаем контроллер домена на Ubuntu Server

Reading time6 min
Views252K
Этот вариант может быть полезен для небольших организаций с компьютерами под управлением Windows.
Нет необходимости приобретать недешевую Windows Server для организации AD и CAL лицензии для доступа к контроллеру домена.
В конечном итоге имеем плюшки AD: групповые политики, разграничение прав доступа к ресурсам и т.д.
Читать дальше →

Bitcoin: Децентрализованная электронная денежная система

Reading time12 min
Views47K
Предлагаю вниманию сообщества вольный перевод оригинальной статьи Сатоси Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System».

От переводчика:
Я не являюсь профессиональным переводчиком и плохо разбираюсь в криптографии, но вот недавно заинтересовался технологией Биткоин и захотел начать изучение с первооснов. Беглый поиск по интернету не дал мне перевода основополагающей статьи Сатоси Накамото и я решил попробовать перевести ее сам.
Вскоре после того как перевод был начат я понял, что английский язык, скорее всего, не является родным для автора статьи поскольку иногда было крайне трудно понять — что автор подразумевает и зачем в одном предложении так много частиц «and». Однако большинство трудностей удалось преодолеть и я решил представить сей конечный продукт публике.

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

Инструменты разработчика или Почему вы не используете X? Часть 1

Reading time7 min
Views56K


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

Это не правильно!

Сейчас в распоряжении программиста, пишет он на Python, C++, Haskell или Ruby, есть огромное количество различных инструментов, которые он может использовать в повседневной разработке.

Компиляторы, интерпретаторы, отладчики, профилировщики, генераторы документации, системы контроля версий, текстовые редакторы, автоматизаторы сборки, статические анализаторы, эмуляторы и виртуальные машины — все это в нашем распоряжении!

Однако, как оказывается множество разработчиков просто не знают, какие мощные инструменты они могут использовать.

Если вам интересно, как улучшить свою продуктивность, начать писать программы лучше, да и просто почитать что-то интересное — добро пожаловать под кат!
Читать дальше →

Information

Rating
3,932-nd
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Разработчик Directum RX
Lead
From 350,000 ₽
.NET Core
PostgreSQL
DevOps
Reverse development
C#