Один из работников компании Sourcefire, занимающейся развитием таких систем, как Snort и ClamAV, подробно рассказал (http://vrt-sourcefire.blogspot.com/2010/09/introduction-to-c...) в своем блоге об организации работы основанного на LLVM интерпретатора байткода, интегрированного в версию антивирусного пакета ClamAV 0.96 (http://www.opennet.me/opennews/art.shtml?num=26090). Интерпретатор байткода использует технику JIT-компиляции, позволяющую существенно увеличить скорость исполнения инструкций и предоставляющую средства для написания на языке Си достаточно сложного кода для выявления вирусов.URL: http://blog.llvm.org/2010/09/llvm-in-clamav.html
Новость: http://www.opennet.me/opennews/art.shtml?num=27886
Кто в теме - это для эвристического анализатора?
Нет, это для детектирования сложных полиморфных вирусов, функции детектирования которых не укладываются в обычные шаблоны. Для них будет писаться детектор как раз на этой шняжке.
>Кто в теме - это для эвристического анализатора?Скорее для регексп парсера.
С ооочень дикими регекспами)
кто раньше мешал использовать gcc ?
очевидно, отсутствие интерпретатора байткода и виртуальной машины, не?
>очевидно, отсутствие интерпретатора байткода и виртуальной машины, не?если спросите "зачем?" - платформонезависимость, например
fix: скорее всего они будут юзать jit-компилятор, не интерпретатор
зачем интерпретатор ?
С++ компилится на той же машине где стоит gcc
компилится подключается и запускается.
или с++ на разных машинах компилится по разному ? )
в чём отличие если присабачить llvm ?
интерпретатор нужен, чтоб не перекомпелировать каждое обновление.
> кто раньше мешал использовать gcc ?Им нужно этот код, новый алгоритм, распространять в базах всем клиентам и требовать при обновлении баз перекомпилировать clamav было бы не удобно.
а нельзя компилировать только алгоритм , зачем вес ClamAV