TGViewer
.NET Kings .NET Kings @netskings · 7.38K subscribers
Post #700 1.23K
👁‍🗨Hello world~

Как работает антивирус: Import Address Table и API Hashing

• Программы редко реализуют всю функциональность самостоятельно. Для работы с файлами, памятью, процессами и сетью они вызывают функции из системных DLL.

• Список импортируемых библиотек и функций хранится в структуре PE-файла, которая называется Import Address Table (сокращенно IAT).

• Например, наличие функций для выделения исполняемой памяти, записи в чужой процесс и создания потока не доказывает вредоносность файла, но их сочетание может заинтересовать антивирус.

• Посмотреть импортируемые функции можно с помощью Visual Studio:

dumpbin /imports .\binary.exe


• Чтобы не оставлять названия функций в IAT, программа может загружать библиотеки и получать адреса необходимых функций динамически во время выполнения.

• Но даже в таком случае внутри файла могут остаться строки вроде VirtualAlloc, WriteProcessMemory или CreateRemoteThread. Поэтому применяется API Hashing.

• При API Hashing программа хранит не название функции, а вычисленный из него хеш. Во время запуска она перебирает экспортируемые функции нужной DLL, вычисляет их хеши и ищет совпадение.

• Статическому анализатору становится сложнее сразу определить, какие API будут вызваны. Однако это не делает программу невидимой.

• Средства защиты могут обратить внимание на:

• Почти пустую или искусственно заполненную IAT
• Перебор Export Address Table
• Скрытые названия DLL и функций
• Последовательность реально выполненных системных операций

• Более того, API Hashing широко встречается во вредоносном ПО и сам может использоваться как эвристический признак. MITRE относит этот подход к Dynamic API Resolution.

• IAT показывает намерения программы до запуска, а API Hashing пытается эти намерения скрыть. Но после вызова функции защита снова видит действие. Удачи!

#AV

• Поддержать автора монеткой: @v_meshke
  • ❤ 12
  • 🦄 4
  • 🥰 3
  • 👏 1
More from @netskings
  1. Sep 26, 2026👁‍🗨Hello world~ Изучаем сеть: ARP и поиск соседей в IPv6 • Чтобы передать Ethernet-кадр,…
  2. Sep 24, 2026👁‍🗨Hello world~ Как работает антивирус: Direct и Indirect Syscalls • Если EDR перехватыв…
  3. Sep 23, 2026🔎По одному имени, почте или номеру можно собрать на человека целое досье — легально, из о…
  4. Sep 23, 2026👁‍🗨Hello world~ GEOINT: Пожары, землетрясения и другие катастрофы на карте • Карты приро…
  5. Sep 22, 2026👁‍🗨Hello world~ Runit против systemd: Где минимализм начинает мешать • Я уже рассказывал…
  6. Sep 19, 2026👁‍🗨Hello world~ Изучаем сеть: Как компьютер определяет маршрут пакета • Представим, что…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →