Привет, я Андрей 👋
Я начал программировать в конце 90-х на ассемблере для DOS, когда вирусы писали для интереса, а антивирусы — чтобы их ловить.
Как и у многих гиков 90-х в России у меня была своя BBS и свой «левонет». Я умел программировать и писал мелкие утилиты для BBS и FTN сетей, что бы автоматизировать сисопскую рутину.
С 2004 года профессионально занимаюсь автоматизацией и 1С, но системное мышление и любовь к low-level остались.
- Снимаю платформенные ограничения. Например, снял лимит в 7 аналитик БИТ Финанс и 5 аналитик в 1С:Управлении холдингом 1.3. Теперь бюджетная модель может включать любое их количество.
- Оптимизирую запросы и настраиваю MS SQL Server
- Строю витрины данных для управленческой отчётности
- Разработал аналог Microsoft Project Server на 1С (внедрён в двух оборонных предприятиях, 50+ сотрудников)
- Архитектор блока Бюджетирование на проекте группы компаний «Т Плюс», получившем премию "«1С:Проект года»* (номинация «ТЭК»). Подробное описание eawards.1c.ru
Мои старые проекты — лучшее доказательство того, что я понимаю, как работают компьютеры на самом деле.
Антивирус, который я написал с нуля на ассемблере (FASM) в 2004 году. Он компилируется до сих пор. Возможности:
- Дизассемблер x86 (~100 инструкций, включая MMX и FPU)
- Эмулятор кода с виртуальным стеком и регистрами, который позволяет детектировать один из самых сложных полиморфных вирусов своего времени Wni32\Driller (он же Tuareg)
- Детектирование вирусов по сигнатурам с масками (
?) - Лечение эпидемичных вирусов: Parite, Funlove, Marburg, Krized
- Эмуляция 31 API Windows (GetTickCount, GetCommandLineA, IsBadReadPtr…)
Компилятор собственного скриптового языка для автоматизации BBS (доска объявлений, популярная в 90-х).
Что внутри:
- Лексический и синтаксический анализатор
- Поддержка типов: integer, real, string, define (указатели на поля пользовательской структуры)
- Управляющие конструкции: if, for, go to, call/ret
- Функции: работа с файлами, строками, датами, CRC32
Весь код на C под DOS. С помощью MSL я хотел сократить SysOp'скую рутину для себя и своих друзей. В итоге проект стал для меня «гимнастикой для ума» и источником практики по проектированию языков и компиляторов.
Я публиковался на тематических ресурсах WASM.ru и UinC.ru (одном из главных андеграундных ресурсов по reverse engineering и защите информации). Статьи UinC можно почитать в моем блоге: https://andrei-ag.github.io/