Blog. Just Blog

Быстрый поиск

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

Построение карты памяти процесса

02.04.2010 | Категория: Образ мышления: Assembler | Автор: ManHunter

Построение карты памяти процесса

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

Читать статью целиком »
Просмотров: 9270 | Комментариев: 8

Проверка и обнаружение зависших приложений

27.10.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Иногда для работы требуется определение зависших приложений, окна которых не отвечают на сообщения. Для этого есть два способа. Первый - официально документированный, через функцию SendMessageTimeOut. Особенность ее работы заключается в том, что после отправки сообщения окну она ждет ответ заданное время, и, если ответа от приложения не последовало, то возвращает FALSE. Вот пример использования функции. Нужные константы, как обычно, в FASM не определены, пришлось брать их из других источников.
  1.         ...
  2.         ; Определить таймаут 50 миллисекунд
  3.         TIMEOUT = 50
  4.         ; Определить константу SMTO_ABORTIFHUNG
  5.         SMTO_ABORTIFHUNG = 2
  6.         ; hwnd - хэндл проверяемого окна
  7.         invoke  SendMessageTimeout,[hwnd],NULL,0,0,SMTO_ABORTIFHUNG,TIMEOUT,NULL
  8.         ; Если вернулся 0, то приложение "висит"
  9.         or      eax,eax
  10.         jz      app_hung_up
  11.         ...
Минус использования этой функции в том, что при частой проверке большого количества окон зависших приложений, каждый раз будет отрабатываться таймаут для каждого такого окна, что суммарно может дать снижение производительности вашего приложения. Но повторюсь, Microsoft официально рекомендует к использованию именно эту функцию.

Читать статью целиком »
Просмотров: 8641 | Комментариев: 2

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

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, оформлять собственными скинами, в том числе и нестандартной формы, устанавливать прозрачность окна и менять главную иконку патча. Интерфейс и документация на английском языке. Отечественными умельцами для патчера написан русификатор, но в официальном комплекте его, к сожалению, нет.

Читать статью целиком »
Просмотров: 58797 | Комментариев: 114

Запрет запуска нескольких копий программы

25.12.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter

Запрет запуска нескольких копий программы

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

Читать статью целиком »
Просмотров: 16546 | Комментариев: 7

Повышение привилегий процесса

09.09.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter

Повышение привилегий процесса

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

Читать статью целиком »
Просмотров: 9043 | Комментариев: 7

01 02 03 04 05 next
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2026
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 3 (0.0025 сек.) / Память: 4.5 Mb
Наверх