пятница, 17 июня 2011 г.

О расцвечивании исходников

   Выложил вчера исходники и понял - чего-то не хватает, а не хватает подсветки кода! Решать проблему буду с помощью полюбившегося "Питона".

Продолжение следует...


Update on 29-09-11
Жаль не было времени писать((
Правда полностью отпала идея писать highlighter, так что решил пользоваться http://quickhighlighter.com/, но у него нет поддержки кириллических символов, так что иногда использую http://highlight.hohli.com/.

четверг, 16 июня 2011 г.

Бот для админа

   С наступлением лета пришла пора выездов на природу, дачу, отдых и т.д.
   Встала проблемам как же управлять сервером или другим удаленным компьютером находясь в отрыве от цивилизации ;)
   Для решения этой проблемы я решил создать Jabber-бота на прекрасном языке Python. Для упрощения написания использую библиотеку XMPPPY В процессе понял, что хочется добавить еще некоторый функционал, в следствии чего реализовал систему плагинов для легкой расширяемости ;)
   Самая интересная часть - реализация поддержки плагинов

среда, 8 июня 2011 г.

Options compilations for optimizations for VC 10


SEH & VEH in win 7

   Решил продолжить исследования работоспособности антиотладочных приемов на платформе Windows 7.
   В своих исследованиях я как всегда буду опираться на статьи Криса Касперского, в данном случае "Трассировка — в погоне на TF или SEH на виражах" и "cкрытая установка SEH-обработчиков" из небезызвестного журнала, а так же на цикл статей Мэтта Питрека "Win32™ SEH изнутри" и "Новая векторная обработка исключений в Windows XP"

"Трассировка и как её избежать" -> особенности сборки приложений компилятором VC 10.

   Что такое трассировка и с чем её едят Вы можете узнать и из великого_и_ужасного. Основой для моих изысканий была статья Криса Касперского "Трассировка или игры в прятки" в журнале "Хакер". Все описываемые в статье техники отслеживания трассировки прекрасно работают на Windows 7. В ходе тестирования примеры для Win 7 пришлось пересобирать, т.к. собранные для Win XP, не запускались(( Опции сборки для всех примеров одинаковы.
   Первоначальные ключи компилятора: /c /Ox /Os /G6. Начнем с того что новый компилятор не поддерживает ключи /G{3|4|5|6|7|8}, поддерживаются только ключи /G{1|2} для платформы Itanium 1|2. Больше вопросов у компилятора не возникло. (Опции компиляции в итоге: /c /Ox /O.
   Перейдем к линкеру. Изначальные опции линкования: /ALIGN:16 /DRIVER /FIXED /SUBSYSTEM:CONSOLE KERNEL32.LIB USER32.lib. При попытке сборки линкер наконец начал собирать драйвер, а не обыкновенный PE (см. ключ /DRIVER). Убираем это ключ. Линкер выдает "Warning LNK4108 : параметр /ALIGN указан без параметра /DRIVER; образ нельзя запустить". При этом пример собирается и нормально запускается. Вот такие чудеса;)
   В ходе экспериментов замечено, что OllyDBG2.0 на PUSHFD  в любом виде не ведется, что конечно не может не радовать!