ClamAV Antivirus Native Win32 Port - 0.97.8
Versions explained: XXXX or XXXX-n-gYYYYYYY -> XXXX clamav version - n commits since last tag - YYYYYYY git rev (git describe --tags)
This is an unofficial native port of the well known ClamAV Antivirus, this port is used in ClamWin Antivirus
Sources can be found at the ClamWin GIT repository:
git clone git://clamwin.git.sourceforge.net/gitroot/clamwin/clamav-win32.git
if you want to play with current release instead of the development version, execute the follwing command after the clone command above:
cd clamav-win32 git checkout -b clamav-0.97 origin/clamav-0.97
You can find a win32 client for git on msysgit project page
Build instructions:
- Visual Studio 2005 Professional: open contrib/msvc/clamav.sln project and build
- Visual Studio 2005 Express (untested by me): same of Professional but you need to install and setup platform SDK
- Visual Studio 2008/2010 Express/Professional (untested by me): open contrib/msvc/clamav.sln and say yes to convert the solution
- MinGW: change directory to contrib/mingw, then run make ; make llvm
Notes for MinGW build:
- MinGW gcc version greater than 4.2 (up to 4.4 iirc) have broken alloca(), my code uses it for path normalization, executables built with such gcc versions will hang forever at startup.
- MinGW gcc 4.2.4 has a bug that prevents llvm to being built.
- You may want to try the MinGW Environment I use to build MPlayer, it includes last gcc 4.2 branch snapshot with the patch to compile llvm applied
- MinGW Build Environment with gcc 4.2.5 Unpack in c:\ or edit MinGW/etc/fstab accordling.
[Features]
- [clamav] small footprint
- [clamav] nice icons ;)
- [clamav] support for unc paths, exotic/long file names
- [clamscan] memory scanner (in memory loaded modules are scanned on-disk)
- [libclamav] dynamic libclamav.dll library common for all executables
- [libclamav] support for 7zip archives
- [freshclam] native dns txt query on win98/ME / DnsAPI query on Win2k+
- [clamd/freshclam] also as Windows Services
- [clamd/freshclam] ipv6 if supported by windows
- [clamav] Digital Signature based False Positive check for Windows system files
- [llvm] Standalone llvm dll, so the same binary can be used also on system where llvm is not supported (I suggest to remove the dll on Win9x/NT)
[Download Binaries] - News
Current Stable 0.97.8 - crt version 8.0.50727.6195
- clamav-win32-0.97.8.7z VS 2005 32bit build, it needs msvcrt80.dll Side by Side assembly (see notes)
- clamav-amd64-0.97.8.7z Win64 build, it needs msvcrt80.dll 64bit Side by Side assembly (see notes)
- clamav-mingw-0.97.8.7z MinGW build, no external crt needed, use it on old systems (e.g. nt4) or if you don't want to use additional files
[Redist]
- Microsoft.VC80.8.0.50727.6195.CRT.x86.7z Bundle archive for x86
- Microsoft.VC80.8.0.50727.6195.CRT.amd64.7z Bundle archive for amd64
- vcredist_x86_6.0.2900.2180.exe Installer for x86
- vcredist_x64_6.0.2900.2180.exe Installer for amd64
[Misc files]
- DNS checker A little tool to check if your dns is working
- ClamAV-GUI.7z GPL (sources on clamwin svn repository, directory addons)
A simple GUI suitable for recovery bootable media
- [11/15/2012] new build from 0.97.6 plus some fixes
- [07/23/2012] new build from release tag 0.97.5
- [04/14/2012] new build from release tag 0.97.4
- [11/08/2011] new build from release tag 0.97.3
- new build from release tag 0.97.1, microsoft released new crt as part of KB2538218
- new build 0.97-8-ga4c3553: fixed problems on non 64bit systems
- new build 0.97-7-gcca8c2e: reworked tls stuff, it unbreaks multithreaded code (clamd)
- new build 0.97-5-g4c2441b: some fixes, updated msvcrt (KB2467175)
- new stable 0.97 from b0a86f7: someone noticed clamd hang/freeze when used as service while using mingw build, please use win32 if you find problems
- new build for 0.96.5 from fccf790: fixed llvm on mingw, digital signature check now only trusts Microsoft issuer
- new stable 0.96.5 from 138de7d: fixed clamd service db load, improved crash dumper
- new stable 0.96.4 from bb81e62
- new stable 0.96.1 from 924529e: fixed db path without a valid dbpath configuration
[NOTES]
- .7z files are 7-zip compressed files.
- Memory scan of System processes needs Debug Privileges, on Windows XP Home Debug Privileges are disabled by default, thus you can use this little program to enable them. After executing it you'll need to reboot.
- If you are confused about the choice of vs6 or vs2005 just pick the vs6 version that doesn't need extra libs.
- To use binaries compiled with Visual Studio 2005, you need the msvcrt80 side by side assembly, the "simple way" is uncompress crt 7zip archives in the executables directory, the directory Microsoft.VC80.CRT must be placed as is, placing dlls directly in the same directory of the executable will not work. On windows 9x you should put the dll and the manifest in windows system directory without the Microsoft.VC80.CRT directory. For more info about this refer to the relative msdn-page. You can also install the redist installers provided.