пятница, 26 ноября 2010 г.

ICQMenace v2.0 Beta

ICQMenace - программа для исследования протокола, написана coban2k. Последняя версия от coban2k - 0.8 от 2003 года. Программа замечательная, поэтому я ее доработал под свои нужды. Теперь в программе 2 независимых движка сбора информации:

Инжектирование через Sniffer.dll.

Метод был хорош раньше, теперь он почти не работает. Виста и выше блокируют перехват, а антивирусы повально считают библиотеку трояном. Поэтому В программу добавлен новый движок захвата данных - Debug Gate. Старый движок на Sniffer.dll остался, но по-умолчанию отключен (для работы с ним положите в папку Sniffer.dll от старой версии).

вторник, 16 ноября 2010 г.

[DC] Перенос и портирование приложений в Delphi и С++(Qt)

Эта заметка открывает серию постов [DC] - Delphi And C++. В [DC] я буду сравнивать Delphi и С++(Qt). Синтаксис, типы данных, алгоритмы, классы, паттерны, gui, все что можно сравнить в рамках здравого смысла.

Мне не раз встречались задачи по переносу приложений или кусков кода с С/C++ на Delphi. Обратное встречается реже, но тоже не исключено. Проблему переноса кода с одного языка на другой можно решать по-разному. Можно переписать "в лоб". Можно портировать, изменив архитектуру проекта или заменив языковые средства, на более подходящие/удобные/любимые в новой среде.

четверг, 11 ноября 2010 г.

QCocoaApplication

Чем мне нравиться Qt, так это возможностью создавать приложения с использованием родных платформозависимых компонентов. В приложении к Mac-у, это использование родных графических фреймворков Cocoa и Carbon. Впрочем любые другие фреймворки не проблема. В стандартной поставке Qt есть демо Demos/macmainwindow, в котором демонстрируется использование родных элементов управления Cocoa через QMacCocoaViewContainer и Carbon через HI API. На самом деле работа с Cocoa/Carbon это лишь частный случай смешения кода на Objective-C++ и Qt.

вторник, 9 ноября 2010 г.

Что такое KEXT?

Kext - это сокращение от kernel extension (расширение ядра) , разновидность пакета (bundle), содержащего исполняемый код (один или ни одного файла), ресурсы и плагины (плагины, тоже в формате bundle). C точки зрения файловой организации кекст это папка с расширением .kext, в которой лежит особым образом оформленный файл свойств пакета (./Contents/Info.plist), исполняемый файл расширения ядра (./Contents/MacOS/), ресурсы (./Contents/Resources/) и плагины (./Contents/Plugins/). Обычно Finder не показывает содержимое пакетов при навигации по папкам (исключение составляют frameworks). Для просмотра содержимого кекстов в контекстном меню файла необходимо выбрать пункт Show Package Contents (Показать содержимое пакета), после чего Finder покажет содержимое папки в новом окне.

Почему Delphi?

На Delphi я пишу почти 8 лет. Начиналось все с Turbo Pascal 7.0 в школе. Потом первое знакомство с Delphi 7.0. В свободное время, как и большинство самоучек, занимался формоклепательтсвом и изучением внутренностей VCL. Лишь спустя 2 года пришло понимание Delphi как целостной системы, органичного симбиоза мощной среды разработки и простого языка программирования. А с ним и осознание того, что мои знания лишь вершина огромного айсберга возможностей, которые нужно изучить, что бы грамотно и эффективно создавать приложения в этой “экосистеме”.

Почему Mac?

Просто нравится. Я не фанат техники Apple, не гоняюсь за новинками, не впутываюсь в их микро-мир Тунца и АппСторов, который с каждой минутой норовит стать макро. А “большие кошки” мне нравятся. MacOS X - вот он *nix с человеческим лицом. Безусловно, он не идеален, местами он очень “Think Different ™”, в нем есть не логичные вещи (с точки зрения пользователя Windows), а порой и реально неудобные. Но все это скорее капризы недавнего свитчера с богатым прошлым на “окнах”, все таки 10 лет “вредной привычки” дают о себе знать.