ClamAV is an open source (GPLv2) anti-virus toolkit.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
clamav/win32
Shawn Webb 4e849e0ef9 Remove redundant source file from libclamav win32 project 11 years ago
..
3rdparty move libxml2 config.h to include/libxml for windows build. 12 years ago
Setup-x64 Windows x64 solution label tweaks 13 years ago
Setup-x86 Reference the right sample configuration files in the win32 project 13 years ago
clamav-for-windows add OOXML and other missing file types to Immunet interface. 12 years ago
compat bb6056 - Fix win32 compile breakage 13 years ago
llvmbuild win32 llvm-config.h, and .def 15 years ago
res bump win32 ver 14 years ago
.gitignore Add missing build/ 15 years ago
ClamAV.sln Add MSI projects. 13 years ago
LLVMcodegen.vcxproj Update win32 proj files. 15 years ago
LLVMcodegen.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
LLVMjit.vcxproj Update win32 proj files. 15 years ago
LLVMjit.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
LLVMsystem.vcxproj Update win32 proj files. 15 years ago
LLVMsystem.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
LLVMx86codegen.vcxproj win32: suppress some warns 14 years ago
LLVMx86codegen.vcxproj.filters win32: vs10 done 15 years ago
README win32: UTF #6 - clamd proto 14 years ago
clamav-config.h Dynamic fpu endian detection for remaining unit tests and removal of fpu_words_bigendian configuration option and artifacts. 12 years ago
clambc.vcxproj Revert "build system: use automake subdir-objects (bb #2369)" 14 years ago
clambc.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
clamconf.vcxproj Revert "build system: use automake subdir-objects (bb #2369)" 14 years ago
clamconf.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
clamd.vcxproj update win32 proj 14 years ago
clamd.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
clamdscan.vcxproj Revert "build system: use automake subdir-objects (bb #2369)" 14 years ago
clamdscan.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
clamscan.vcxproj Revert "build system: use automake subdir-objects (bb #2369)" 14 years ago
clamscan.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
configure.bat win32: configure.js 16 years ago
configure.js win32: properly handle release versions 14 years ago
freshclam.vcxproj Revert "build system: use automake subdir-objects (bb #2369)" 14 years ago
freshclam.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
libclamav.def Fix Windows build 11 years ago
libclamav.vcxproj Remove redundant source file from libclamav win32 project 11 years ago
libclamav.vcxproj.filters Fix Windows build 11 years ago
libclamavcxx.vcxproj Support building with external LLVM 2.9, and drop support for building with external 2.8 14 years ago
libclamavcxx.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
libclamunrar.def win32: add unrar s'port 16 years ago
libclamunrar.vcxproj win32: vs10 done 15 years ago
libclamunrar.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
libclamunrar_iface.def win32: add unrar s'port 16 years ago
libclamunrar_iface.vcxproj win32: vs10 done 15 years ago
libclamunrar_iface.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
platform.h attempt to fix win32 build 14 years ago
sigtool.vcxproj Revert "build system: use automake subdir-objects (bb #2369)" 14 years ago
sigtool.vcxproj.filters win32: project files updated to vs10; 64bit stuff will be restored soon 15 years ago
target.h win32 fixes: bb#2152 and bb#2153 15 years ago
update-win32.pl Dynamic fpu endian detection for remaining unit tests and removal of fpu_words_bigendian configuration option and artifacts. 12 years ago

README

ClamAV for Win32
----------------

--- News ---

Starting from version 0.98 the windows version of ClamAV requires all the
input to be UTF-8 encoded.
This affects:
- the API, notably the cl_scanfile() function
- clamd socket input, e.g. the commands SCAN, CONTSCAN, MUTLISCAN, etc.
- clamd socket output, i.e replies to the above queries

For legacy reasons ANSI (i.e. CP_ACP) input will still be accepted and
processed as before, but with two important remarks:
First, socket replies to ANSI queries will still be UTF-8 encoded.
Second, ANSI sequences which are also valid UTF-8 sequences will be handled
as UTF-8.

As a side note, console output (stdin and stderr) will always be OEM encoded,
even when redirected to a file.


--- Requirements ---

To build the source code you will need:
- Git for windows with a git "shell"
- Microsoft Visual Studio 2010 SP1: the express version builds the 32bit
target just fine but it requires a decent amount of fiddling in order to
compile the 64bit target; this configuration is therefore not supported.

To run the binaries at least Windows XP is required.


--- Getting the code ---

The win32 source code is merged in the ClamAV repository and is available
via git.
Clone the repository with: git clone git://git.clamav.net/git/clamav-devel
See http://www.clamav.net/download/sources for more info.


--- Code configuration ---

After downloading the source code, minimal configuration is required:
just run the win32/configure.bat script *from within the git shell*.
Skip this step if you are building from an official release tarball.


--- Compilation ---

Open win32/ClamAV.sln in Visual Studio and build all.
The output directory for the binaries is either /win32/(Win32|x64)/Debug or
/win32/(Win32|x64)/Release depending on the configuration you pick.

Note: at the time of writing Batch Build is broken in VS10:
https://connect.microsoft.com/VisualStudio/feedback/details/556158
Use MSBuild instead.


--- Special notes ---

The ClamAV tools in win32 are the same as in unix, so refer to their respective
manpage for general usage.
The major differences are listed below:
- Config files path search order:
1- The content of the registry key
"HKEY_LOCAL_MACHINE/Software/ClamAV/ConfDir"
2- The directory where libclamav.dll is located
3- "C:\ClamAV"

- Database files path search order:
1- The content of the registry key
"HKEY_LOCAL_MACHINE/Software/ClamAV/DataDir"
2- The directory "database" inside the directory where libclamav.dll is
located
3- "C:\ClamAV\db"

- Globbing
Since the windows command prompt doesn't take care of wildcard expansion,
minimal emulation of unix glob() is performed internally.
It supports "*" and "?" only.

- File paths
Please always use the backslash as the path separator.
SMB Network shares and UNC paths are supported.

- Debug builds
Malloc in debug (as opposed to release) mode fails after allocating some 90k
chunks; such builds won't be able to handle large databases.
Just do yourself a favour and always build in release mode.


--- Special thanks ---

Special thanks to Gianluigi Tiesi and Mark Pizzolato for their valuable help in
coding and testing.