Blog. Just Blog

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

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

GIF-анимация на Ассемблере

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

GIF-анимация на Ассемблере

Выводить статическое изображение на форму мы уже научились, причем разными способами, теперь давайте попробуем вывести анимированный GIF-файл. Для этого даже не понадобится углубляться в дебри формата, будем работать с высокоуровневыми функциями GDI+.

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

Таймер в консольном приложении

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

Таймер в консольном приложении

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

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

Обработка событий в консоли

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

Обработка событий в консоли

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

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

Использование TEB для антиотладки

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

Использование TEB для антиотладки

Структура TEB (Thread Environment Block), как и PEB (Process Environment Block), при грамотном использовании позволяет получить огромное количество полезной информации. Сегодня расскажу еще об одном малоизвестном антиотладочном трюке. Он основан на том, что при нормальном запуске приложения в поле StaticUnicodeBuffer структуры TEB не содержится ничего, а при запуске под отладчиком там обязательно оказывается название той или иной динамической библиотеки, используемой приложением.

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

Удобная компиляция DLL в FASM

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

Удобная компиляция DLL в FASM

Поделюсь маленьким лайфхаком, как можно удобно компилировать DLL в FASM. Предположим, что в вашем проекте должен быть исполняемый файл и динамическая библиотека. Вроде бы ничего сложного, принципиальная разница в заголовках исходников:
  1. ; Файл будет скомпилирован в DLL
  2. format PE GUI 4.0 DLL
  1. ; Файл будет скомпилирован в EXE
  2. format PE GUI 4.0
А как быть, если нужно, чтобы в проекте были одновременно program.exe и program.dll? Держать два исходника с одинаковым именем невозможно (всякие экзотические случаи окружения не рассматриваем); переименовывать каждый раз после сборки что-то-там.dll в program.dll лениво; собирать файлы из разных папок неудобно; если поменять расширение со стандартного ".asm" на кастомное, то слетит ассоциация и иконка файла в Проводнике; оставлять разные имена можно, но не выполняется начальное условие задачи. Я понимаю, что весь смысл Ассемблера заключается в непрерывном преодолении и подобные мелочи настоящего джедая не остановят. Но если есть возможность хоть немного облегчить работу программиста, то почему бы этого не сделать.

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

01 ... 07 08 09 10 11 12 13 ... 64
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2023
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 3 (0.0129 сек.) / Память: 4.5 Mb
Наверх