ClamAV - Documentation is here: https://docs.clamav.net https://www.clamav.net/
Find a file
Andrew 18a813afb6 Update PE parsing code related to Authenticode verification
The following changes were made
 - The code to calculate the authenticode hash was not properly
   accounting for the case where a PE had sections that either
   overlapped with each other or overlapped with the PE header.
   One common case for this is UPX-packed binaries, where the
   first section with data on disk starts at offset 0x400, which
   overlaps with the specified PE header by 0xC00 bytes.
 - The code didn't wrap accesses to fields in the Security
   DataDirectory with EC32(), so it seems likely that authenticode
   parsing always encountered issues on big endian systems.  I
   think I fixed all of the accesses in cli_checkfp_pe, but there
   might still be issues here.  I'll test this further.
 - We parse the authenticode data header to better ensure that it's
   PCKS7 we are trying to parse, and not one of the other types
 - cli_checkfp_pe should now finish faster in the case where there
   is no authenticode data and we don't want to compute the section
   hashes.
 - Fixed a potential memory leak in one cli_checkfp_pe failure case
2018-12-02 23:07:05 -05:00
clamav-milter Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clambc Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clamconf Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clamd Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clamdscan Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clamdtop Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clamscan Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
clamsubmit Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
config Updating libclamunrar from legacy C implementation to modern unrar 5.6.5. API changes and supporting changes included to pass the filepath of the scanned file into libclamav through the cli_ctx structure, required by the unrar library to open archives. The filename argument may be optional for the scandesc scanning variant, but libclamav will make a best effort to identify the filename from the file descriptor if it was not provided. In addition, included the ability to prefix temp file and directory names with file basenames. 2018-12-02 23:06:59 -05:00
contrib Restructured scan options flags from a single bitflag field to a structure containing multiple bitflag fields. This also required adding a new function to the bytecode API to get scan options a la carte, and modifying the existing function to hand back scan options in the old/deprecated uint32_t bitflag format. Re-generated bytecode iface header files. 2018-12-02 23:06:59 -05:00
database Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
docs bcomp - fixing case where automatic detection would fail against little endian hex values; removing code for little endian decimal support; fixing some clang warnings; fixes for hexidecimal detection in sli_strnto functions; updating documentation 2018-12-02 23:07:04 -05:00
etc Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
examples Restructured scan options flags from a single bitflag field to a structure containing multiple bitflag fields. This also required adding a new function to the bytecode API to get scan options a la carte, and modifying the existing function to hand back scan options in the old/deprecated uint32_t bitflag format. Re-generated bytecode iface header files. 2018-12-02 23:06:59 -05:00
freshclam Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
libclamav Update PE parsing code related to Authenticode verification 2018-12-02 23:07:05 -05:00
libclammspack Updated from libmspack-0.7.1alpha to libmspack-0.8alpha. 2018-12-02 23:07:03 -05:00
libclamunrar Modification to unrar codebase allowing skipping of files within Solid archives when parsing in extraction mode, enabling us to skip encrypted files while still scanning metadata and potentially scanning unencrypted files later in the archive. 2018-12-02 23:06:59 -05:00
libclamunrar_iface Changing the license for the complete-re-written unrar_iface code from LGPL to the BSD 3-Clause license, updating the copyright years, and adding Micah Snyder as an author. 2018-12-02 23:06:59 -05:00
libfreshclam Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
libltdl Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
llvm/lib/Target Merge LLVM upstream r90002 2009-11-27 12:44:52 +02:00
m4 Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
shared Correction to logic enabling/disabling heuristic alerts. 2018-12-02 23:07:02 -05:00
sigtool scan_options - fixing up segfault caused by zeroed out scan_options struct when using sigtool to test signatures 2018-12-02 23:07:03 -05:00
test Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
unit_tests Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
win32 Documentation improvements regarding ClamAV installation, initial setup. 2018-12-02 23:07:03 -05:00
.gitattributes Add .gitattributes to set ChangeLog merge driver. 2009-07-13 19:47:47 +03:00
.gitignore Documentation improvements regarding ClamAV installation, initial setup. 2018-12-02 23:07:03 -05:00
aclocal.m4 Updating libclamunrar from legacy C implementation to modern unrar 5.6.5. API changes and supporting changes included to pass the filepath of the scanned file into libclamav through the cli_ctx structure, required by the unrar library to open archives. The filename argument may be optional for the scandesc scanning variant, but libclamav will make a best effort to identify the filename from the file descriptor if it was not provided. In addition, included the ability to prefix temp file and directory names with file basenames. 2018-12-02 23:06:59 -05:00
ChangeLog.md Documentation update and cleanup. Transition to MarkDown files for improved rendering on GitHub.com 2018-03-06 17:43:54 -05:00
clamav-config.h.in bb12087 - 0.101 - updating to libtool v2.4.6, autojunking, and adding markdown files to make dist target 2018-07-30 09:13:51 -04:00
clamav-config.in remove old CVS-stuff and make the repository look more like SVN 2007-02-17 19:02:20 +00:00
configure Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
configure.ac Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
COPYING Add verbiage regarding linking OpenSSL 2014-04-17 09:29:47 -04:00
COPYING.bzip2 Merging the post0.92 stuff 2007-12-13 19:45:38 +00:00
COPYING.file re-enable text detection (ASCII, UTF8, UTF16) 2008-01-07 14:20:38 +00:00
COPYING.getopt shared, clamconf: drop old stuff; replace getopt.[ch] with my_getopt 2009-01-02 17:04:11 +00:00
COPYING.LGPL re-include RAR code 2007-12-12 21:46:34 +00:00
COPYING.llvm Fix typo, use the correct path for LLVM's LICENSE.TXT. 2010-04-09 14:31:27 +03:00
COPYING.lzma update lzma licence 2009-08-05 23:35:58 +02:00
COPYING.pcre added pcre source for windows build; needs trimming 2015-05-29 17:10:19 -04:00
COPYING.regex COPYING.BSD -> COPYING.regex; add COPYING.sha256 2009-03-01 16:19:45 +00:00
COPYING.unrar re-include RAR code 2007-12-12 21:46:34 +00:00
COPYING.YARA Add licence file COPYING.YARA. 2015-05-01 12:12:59 -04:00
COPYING.zlib revert nsis zlibs 2008-02-14 02:12:13 +00:00
INSTALL.md Documentation update and cleanup. Transition to MarkDown files for improved rendering on GitHub.com 2018-03-06 17:43:54 -05:00
libclamav.pc.in Improve pkgconfig. Patch supplied by Andreas Cadhalpun. 2015-09-09 17:58:04 -04:00
Makefile.am Moved libmspack-0.5alpha from libclamav to libclammspack, and restructured the build so that there should be no need to modify the libmspack build files in the future (i.e. libmspack autoconf and automake files aren't actually used). 2018-12-02 23:07:02 -05:00
Makefile.in Enabling configure option --with-system-libmspack that will allow use of libmspack installations in /usr or /usr/local in favor of the version provided by ClamAV. 2018-12-02 23:07:02 -05:00
NEWS.md update freshclam to match exit codes defined in freshclam.1 2018-12-02 23:06:59 -05:00
platform.h.in fixes cvd load error on some i386 builds caused by -D_FILE_OFFSET_BITS=64 and a long story 2012-11-02 12:15:45 -07:00
README.md Documentation improvements regarding ClamAV installation, initial setup. 2018-12-02 23:07:03 -05:00

ClamAV

ClamAV® is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats.

Documentation & FAQ

The ClamAV documentation can be found in the ClamAV User Manual with additional information online in our FAQ.

ClamAV Signatures

Anyone can learn to read and write ClamAV signatures. Take a look at the signature writing documentation and phishing signature writing documentation to get started!

Installation Instructions

UNIX

Build from Source on Linux/Unix/Mac

For basic compile and install instructions on Linux/Unix platforms, check out the install instructions.

For detailed instructions specific to building ClamAV please investigate our the Linux/Unix/Mac Install instructions in the User Manual.

Install from a binary package

For binary package distribution installation instructions, head over to our website.

Windows

Build from Source on Windows

The instructions for building ClamAV from source on Windows is located in the Win32 README.

Using an Install Package

We provide an installer to install ClamAV on Windows to "C:\Program Files". This install method will require you to have Adminstrator priveleges.

We also provide a "Portable Install Package" (i.e. a zip of the required files) for users that may wish to run ClamAV without installing it to a system-owned directory.

For details on how to use either option, head over to the Windows Install instructions in the User Manual.

Upgrading from a previous version

Some tips on how to upgrade from a previous version of ClamAV.

ClamAV News

For information about the features in this and prior releases, read the news.

Catch up on the latest about ClamAV by reading our blog and follow us on Twitter @clamav.

Join the ClamAV Community

The best way to get in touch with the ClamAV community is to join our our mailing lists, and tune to #clamav on IRC.

Want to make a contribution?

The ClamAV development team welcomes code contributions, improvements to our FAQ, and also bug reports. Thanks for joining us!

Credits

The ClamAV Team