Уроки программирования на ассемблере.
Здесь я
публикую различные статьи по
программированию, как мои, так и других
авторов, так или
иначе связанные с языком ассемблера. Представленные в
данном разделе материалы являются
объектами авторского права. Для
опубликования их в печати или Интернете
необходимо согласие автора.
Пользуясь случаем
приглашаю всех желающих к публикации своих
статей по ассемблерной тематике на моем
сайте.
Почему следует изучать язык ассемблера?
· Язык ассемблера будет существовать, пока будут существовать процессоры. Это не преходяще и не подвержено моде.
· Владение языком ассемблера дает ощущение полного обладания компьютером, власти над ним.
· С помощью ассемблера можно создавать самый компактный и быстрый код. Ни один компилятор языков высокого уровня не может давать таких результатов. Многие модули операционных систем или даже операционные системы целиком было написано на языке ассемблера.
· Часто язык ассемблера оказывается единственным языком, с помощью которого можно писать драйверы для операционных систем.
· Зная ассемблер, вы сможете анализировать и исправлять код программы, глубже понимать работу компиляторов и операционных систем.
Уроки
программирования под Windows на Ассемблере.
Пирогов В.Ю.
Урок
1. Зачем
нам ассемблер.
Урок
2. Что есть консоль.
Урок
3. Продолжим о консоли.
Урок
4. Еще о консольных приложениях. На
подступах к приложению GUI.
Ассемблер MASM32.
Программирование.
Пирогов В.Ю.
Введение в
язык ассемблера. Глава 1.
Регистры и память.
Введение в язык ассемблера.
Глава 2. Стек.
Введение в язык ассемблера.
Глава 3. Справочник по программной
архитектуре процессора.
Введение в язык ассемблера.
Глава 4. Строковые функции.
Маленькое исследование о выполнении
ассемблерного кода в стеке.
Статья об использовании "ловушек" на ассемблере. (New!)
Основы
ассемблера.
Форматы
данных.
Примеры не больших
программ.
Статья о
макросах.
Статья о BCD-инструкциях.
Статья о вычислении CRC на ассемблере.
Курс системного программирования.
Статьи о устройстве разных ОС.
Не большая статья о
распределении памяти Windows 9.x. Автор мне не
известен.
Распределение
памяти в операционной системе MS DOS. Автор
также не мне не известен.
Статья о написании
виртуальных драйверов. Автор К.Г.Финогенов.
Вторая статья о написании
виртуальных драйверов. Автор К.Г.Финогенов.
Еще одна статья о написании
драйверов WDM на языке ассемблера. Автор мне неизвестен.
Выдержка из моей
будущей книги Ассемблер для Windows 2003 о FAT32.
Владислав Пирогов.
Выдержка из моей
будущей книги Ассемблер для Windows 2003 о NTFS. Владислав
Пирогов.
Написание антивирусного монитора с использованием языка
ассемблера.
Написание загрузочного сектора
Статьи о защищенном режиме процессора Intel.
Статья о
защищенном режиме. Автор Robert Collins.
Статья на английском языке.
О нулевом кольце защиты из
Дельфи.
Программирование под Win32 на ассемблер и не только.
Создание
окна на ассемблере.
Параметры Winmain.
В статье объясняется функция WinMain и ее
параметры.
Вызов функций API на
ассемблере.
Сообщение
MessageBox на ассемблере.
Работа с
файлами.
Программирование
на ассемблере игр под Win32. (Ч.1)
Статья
не столько об играх сколько об ассемблере.
Автор мне неизвестен.
Программирование
на ассемблере игр под Win32. (Ч.2)
FAQ по API функциям. Примеры
приведены на Си. Много познавательной
информации, рекомендую.
Статья о многопоточности.
Примеры на Си, но для ассемблерщика это не
помеха.
Нити и волокна в Windows.
Программирование
сокетов под Win32. Статья на английском
языке.
Как получить список
открытых файлов на Windows 9.x.
Корректное
завершение программы в Windows.
Запрет на запуск второй
копии программы.
Программное управление почтой
и кое-что о почтовых вирусах.
О функциях с
префиксом SH.
Секреты и структуры
Windows 95.
Создание панели инструментов
на ассемблере под Windows.
Создание
самомодифицирующегося кода под Windows.
О программировании в Windows XP.
Об отладчике SoftIce из первых рук.
Инсталлятор на ассемблере
Толковая статья о потоках в
Windows
Отладка, дизассемблирование, исследование программного кода.
Статьи данного раздела помогут Вам сделать первые шаги в деле исследования программ. А! - скажете Вы, - речь идет о взломе програмного обеспечения. Видите ли, человек так устроен, что любой инструмент и любое знание может обратить как на пользу, так и во вред себе подобным. И ничего здесь не сделать. А изучать все таки надо.
Идентификация функций, аргументов и переменных.
Райдер. Перевод Sergey R.
Как ломать программы под
Windows. Весьма интересная статья об
исследовании программ.
Учебник крекера. Часть 1.
Учебник крекера. Часть 2.
FAQ по исследованию
программ.
Внутренности IDA PRO
4.15.
Написание
самомодифирующегося кода под Windows.
Как узнать пароль после
загрузки.
Статья
об антиотладочных возможностях Win32.
Пример простого исследования
программы и ее модификации.
Статья о дизассемблировании COM-программы.
Статья об оптимизации программ
на ассемблере.
Пример исправления
программы DrWeb версии от 2000 г.
Дизассемблирование с
помощью HEX-редакторов.
Разные статьи, разных авторов.
Стоит заняться ассемблером!
Автор мне неизвестен.
Что лучше - ассемблер или Си?
Работа с коммуникационными портами
(COM и LPT) в программах для Win32. Автор: Олег
Титов. Интересующимся также порекомендовал
бы книгу Дж. Рихтера и Дж. Кларка.
Программирование серверных приложений для
Microsoft Windows 2000.
Уменьшение ассемблерного
кода.
Программирование CMOS.
Оптимизация программ
на ассемблере с
помощью команд MMX.
Еще одна статья о CMOS.
Статья о последовательном
порте.
Работа с параллельным портом в Windows
Статьи по криптографии
Статья по
криптографии и безопасности Bruce Schneier в
переводе Василия Кондрашова.
Еще одна статья Андрея Беляева
по началам криптографии.
О железе
Староватая,
но пространная статья о модемах.
Подробная статья о
последовательном асинхронном интерфейсе
(8250).
Статья о шинах.
Сборники.
Справочник по
сообщениям Windows.
Справочник по функциям
API.
Часто
задаваемые вопросы по ассемблеру.
Сборник 1.
Часто
задаваемые вопросы по ассемблеру.
Сборник 2.
Беллетристика.
Воспоминания.
Отрывки из ненаписанной книги.
Притчи о компьютерных
жителях. Помню, читали эти истории в
начале 90-х взахлеб. Лично у меня создается впечатление, что все
представленные здесь притчи скоро придется снабжать пространными комментариями.
Молодым компьютерщикам они уже абсолютно не понятны.
ДАО программиста. Советую
прочесть.
Как начинался интернет в
городе Шадринске. От Михаила Шохирева.
Почему я не собираюсь переходить на Linux.
Почему я не собираюсь переходить на Linux 2.
(New!)
Молодым любителям ассемблера. Послание старых мастеров.
© Copyright Пирогов В.Ю.