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
Török Edvin 7606789f91 Better detection for encrypted PDFs (bb #2448) 14 years ago
..
3rdparty win32/3rdparty: upgrade bzip2 to 1.0.6 15 years ago
clamav-for-windows c4w: disable perf logging when verbose logging is off 14 years ago
compat win32 typo 14 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 fix win32 proj files 15 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 Better detection for encrypted PDFs (bb #2448) 14 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 Revert "build system: use automake subdir-objects (bb #2369)" 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 fix win32 res (git mode), bump ver, make configure more verbose 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 attempt to fix win32 build 14 years ago
libclamav.vcxproj Better detection for encrypted PDFs (bb #2448) 14 years ago
libclamav.vcxproj.filters win32: UTF #6 - clamd proto 14 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 update win32 script 14 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.