
Быстрый поиск
Введите фрагмент названия статьи для поиска

Использование иконок разных размеров в ресурсах
12.02.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Большим плюсом Flat Assembler является то, что при разработке создается минимальное количество файлов. Описания ресурсов хранятся прямо в исходнике ASM, что тоже очень удобно. Например, в официальной документации и исходниках описание главной иконки в ресурсах исполняемого файла выглядит примерно так:Code (Assembler) : Убрать нумерацию
- section '.rsrc' resource data readable
- directory RT_ICON, icons,\
- RT_GROUP_ICON, group_icons
- resource icons,\
- 1, LANG_NEUTRAL, icon_data
- resource group_icons,\
- 1, LANG_NEUTRAL, main_icon
- ; Описание одиночной иконки
- icon main_icon, icon_data, 'main_icon.ico'
Code (Assembler) : Убрать нумерацию
- section '.rsrc' resource data readable
- directory RT_ICON, icons,\
- RT_GROUP_ICON, group_icons
- resource icons,\
- 1, LANG_NEUTRAL, icon_data1,\
- 2, LANG_NEUTRAL, icon_data2,\
- 3, LANG_NEUTRAL, icon_data3
- resource group_icons,\
- 1, LANG_NEUTRAL, main_icon
- ; Описание иконок разных размеров, объединенных в одну
- icon main_icon,\
- icon_data1, 'icon_16x16_32bit.ico',\
- icon_data2, 'icon_32x32_32bit.ico',\
- icon_data3, 'icon_48x48_32bit.ico'
Читать статью целиком »
Просмотров: 7420 | Комментариев: 5

Готовим домашнюю шаурму
10.02.2009 | Категория: А еще я туда ем! | Автор: ManHunter

Готовим домашнюю шаурму
Очень люблю это блюдо, особенно правильно приготовленное. То недоразумение, которое продается в ларьках на вокзале, не имеет никакого отношения к шаурме. Поэтому сегодня я буду готовить домашнюю шаурму по оригинальному рецепту, которому меня научили на Кавказе. Итак, точим ножик и вперед!
Читать статью целиком »
Просмотров: 221467 | Комментариев: 169

Программное выключение монитора
08.02.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Выключить монитор из программы можно, но только если он совместим со стандартом EnergyStar. Об этом можно не беспокоиться, все современные мониторы удовлетворяют этому условию. Беспокоиться надо о другом. По непонятной причине с сайта на сайт упорно копируют один и тот же код на разных языках программирования, который якобы должен выключить монитор. Вот его вариант на Ассемблере:Code (Assembler) : Убрать нумерацию
- ; ВНИМАНИЕ! Это НЕПРАВИЛЬНЫЙ код!!!
- invoke GetDesktopWindow
- invoke SendMessage, eax, WM_SYSCOMMAND, SC_MONITORPOWER, 0
Но хватит о грустном. Правильный код программного выключения монитора будет таким:
Code (Assembler) : Убрать нумерацию
- ;-------------------------------------------------
- ; Правильный код выключения монитора
- ;-------------------------------------------------
- ; В FASM не определена константа HWND_BROADCAST, сделаем это самостоятельно
- HWND_BROADCAST = 0FFFFh
- ; Выключить монитор
- invoke SendMessage, HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2
Читать статью целиком »
Просмотров: 14007 | Комментариев: 20

Парсер REFERER'ов с поисковых систем
04.02.2009 | Категория: Web-мастеру и не только | Автор: ManHunter
Обработка заголовка HTTP referer является одной из важных задач при раскрутке сайта и сборе статистики. По нему можно определить, какие ресурсы ссылаются на ваш сайт. Но особую ценность представляют данные посещений с поисковых систем, так как эта информация позволяет наиболее четко определить, по каким ключевым словам ваш сайт может быть найден, а также проанализировать эффективность поисковой оптимизации вашего ресурса. Если вы пользуетесь сторонними счетчиками посещений, то эту информацию они обычно предоставляют сами. В некоторых случаях такие данные предоставляют серверные системы статистики типа Webalizer. Я принципиально не пользуюсь ни тем, ни другим, обрабатываю все данные самостоятельно. Для этого была написана функция обработки рефереров, которую я использую в своих проектах. Данные поискового запроса обычно передаются методом GET и содержатся в строке браузера, но основная проблема в том, что кодировка этих данных может быть разной даже в пределах одной и той же поисковой системы. Как выяснилось, не везде доступна штатная функция PHP is_unicode(), поэтому для подстраховки пришлось написать свою. Проверка выполняется согласно правилам формирования Юникода.Code (PHP) : Убрать нумерацию
- // Функция проверки является ли переменная строкой в Юникоде
- // Если штатная функция не определена, то применить нашу
- if (!function_exists('is_unicode')) {
- function is_unicode($str) {
- for ($i=0; $i<strlen($str); $i++) {
- // Если символ с кодом больше 191, то возможно это юникод
- if (ord($str[$i])>191) {
- // Следующий символ должен быть в интервале
- // 10000000b ... 10111111b (128...191)
- if (ord($str[($i+1)])<128 || ord($str[($i+1)])>191) {
- // Условие не выполнено, значит это не юникод
- return false;
- }
- else {
- // Пропускаем один байт, т.к. он является частью символа
- $i++;
- }
- }
- }
- // Проверка пройдена, это юникод
- return true;
- }
- }
Читать статью целиком »
Просмотров: 17039 | Комментариев: 27

Программы для создания патчей и лоадеров
02.02.2009 | Категория: Темная сторона Силы | Автор: ManHunter
Итак, защита успешно сломана, коммерческая программа перестала требовать денег и зарегистрирована на ваше имя. Теперь надо обязательно поделиться результатами своих трудов со всем миром! Для релиза вам может понадобиться патч, вносящий нужные изменения в файлы. Если есть время и желание, то можно написать свой, а можно воспользоваться готовыми программами для создания патчей и лоадеров. Рассмотрим некоторые из них.
Скриншот программы diablo2oo2's Universal Patcher
diablo2oo2's Universal Patcher. Бесспорный лидер среди программ для создания патчей. Написан полностью на Ассемблере, последняя версия на сегодняшний день 2.18, а промежуточные бета-версии можно время от времени проверять по прямой ссылке. Позволяет делать если не все, то очень многое: статичные и универсальные патчи, самообучающиеся лоадеры, inline-патчи для упакованных файлов, патчи реестра, запись на диск прикрепленных к патчу файлов и еще многое другое. В умелых руках dUP2 будет очень мощным инструментом. Создаваемые патчи можно дополнять трекерной музыкой в формате xm, mod, it, s3m, mtm, umx, v2m, ahx и sid, оформлять собственными скинами, в том числе и нестандартной формы, устанавливать прозрачность окна и менять главную иконку патча. Интерфейс и документация на английском языке. Отечественными умельцами для патчера написан русификатор, но в официальном комплекте его, к сожалению, нет.
Читать статью целиком »
Просмотров: 51712 | Комментариев: 103
