ClamAV Antivirus Native Win32 Port - 0.98.7
Versions explained: XXXX or XXXX-n-gYYYYYYY -> XXXX clamav version - n commits since last tag - YYYYYYY git rev (git describe --tags)
- [07/01/2015] 0.98.7: new upstream release
- [03/04/2015] 0.98.6-1-gaffa33b: fix for `ERROR: optparse: longopts is too small`
Current Stable 0.98.7 - crt version 8.0.50727.6195
- clamav-win32-0.98.7.7z VS 2005 32bit build, it needs msvcrt80.dll Side by Side assembly (see notes)
- clamav-amd64-0.98.7.7z Win64 build, it needs msvcrt80.dll 64bit Side by Side assembly (see notes)
- clamav-mingw-0.98.7.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
- Microsoft.VC220.127.116.11727.6195.CRT.x86.7z Bundle archive for x86
- Microsoft.VC18.104.22.168727.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
Sources can be found on GitHub:
git clone https://github.com/clamwin/clamav-win32.git
You can find a win32 client for git on msysgit project page
- 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.
- [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)
A simple GUI suitable for recovery bootable media
- .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.