Well....data is data.  There is no difference (from a storage perspective)
from an executable with an "inc ecx" instruction or a text document with an
"A".  Both are represented by the value 0x41.  So from Clam's perspective,
a signature matching a single A would be identical to a signature that
detected a single "inc ecx" instruction.  Both would look for 41.

In short your statement "some files are hex and some are character-based"
isn't really accurate.  At the risk of painting with a broad brush, I would
say that all files are stored as a series of values, a series of bytes.
 How you display them is different.  When I used 010 Editor to view a file
as hex, I get a set of ascii-hex representations.  When I look at a file
with a web-browser I get ascii text.  But underlying all of that is the
same idea, a set of bytes.  And that is how ClamAV treats all files.

A signature with a 41 in it would be converted in memory to look for 0x41,
a single byte of value 0x41.  A signature written like that would detect an
executable or pdf or a flash or anything that has 0x41 in the data.

Hope that answers your question.

Matt


On Fri, Mar 22, 2013 at 8:46 PM, Kaushik Vaidyanathan <
kvaid...@andrew.cmu.edu> wrote:

> Hi
>
> I have a basic question. Most body-based signatures are hex based(lets
> focus on fixed string signatures alone for simplicity), whereas some of the
> files are hex(EXE) or character-based(HTML).
>
> In the code I see unsigned chars used predominantly to represent patterns
> and file contents. At the very core, do the string matching algorithms,
> mainly extended Boyer Moore, I would like to understand how the datatypes
> gets manipulated.
>
> 1) Do the character based files get translated to hex to compare with body
> based signatures?
>
> 2) Does the signature get treated as a string of chars?
> If yes,
> Does a toy signature "fe" gets treated as two chars(8 bits each) for "f"
> and "e" (or)
> Does the code read the signature "fe" and maps into one character based on
> the ASCII table (for example)?
>
> Thank you..
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net
>
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net

Reply via email to