Skip to content

andrei-ag/andrei-ag.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Привет, я Андрей 👋

Я начал программировать в конце 90-х на ассемблере для DOS, когда вирусы писали для интереса, а антивирусы — чтобы их ловить.
Как и у многих гиков 90-х в России у меня была своя BBS и свой «левонет». Я умел программировать и писал мелкие утилиты для BBS и FTN сетей, что бы автоматизировать сисопскую рутину.
С 2004 года профессионально занимаюсь автоматизацией и 1С, но системное мышление и любовь к low-level остались.


🔧 Что я делаю лучше всего

⚡ Производительность 1С и SQL

  • Снимаю платформенные ограничения. Например, снял лимит в 7 аналитик БИТ Финанс и 5 аналитик в 1С:Управлении холдингом 1.3. Теперь бюджетная модель может включать любое их количество.
  • Оптимизирую запросы и настраиваю MS SQL Server
  • Строю витрины данных для управленческой отчётности

🏗️ Архитектура сложных систем

  • Разработал аналог Microsoft Project Server на 1С (внедрён в двух оборонных предприятиях, 50+ сотрудников)
  • Архитектор блока Бюджетирование на проекте группы компаний «Т Плюс», получившем премию "«1С:Проект года»* (номинация «ТЭК»). Подробное описание eawards.1c.ru

💻 Системное программирование (наследие, но живое)

Мои старые проекты — лучшее доказательство того, что я понимаю, как работают компьютеры на самом деле.

🦠 Explosion Antivirus

Антивирус, который я написал с нуля на ассемблере (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/