Browse code

drop type-8 sigs (bb#895)

aCaB authored on 2010/02/08 21:47:20
Showing 4 changed files
... ...
@@ -1,3 +1,8 @@
1
+Mon Feb  8 13:40:06 CET 2010 (acab)
2
+----------------------------------
3
+ * libclamav: drop support for type 8 signatures. disasm matching is now
4
+		done via bytecode
5
+
1 6
 Mon Feb  8 10:30:03 CET 2010 (tk)
2 7
 ---------------------------------
3 8
  * freshclam, sigtool: use zlib's Z_FILTERED strategy
... ...
@@ -41,7 +41,6 @@ typedef enum {
41 41
     /* Please do not add any new types above this line */
42 42
     CL_TYPE_ERROR,
43 43
     CL_TYPE_MSEXE,
44
-    CL_TYPE_PE_DISASM,
45 44
     CL_TYPE_ELF,
46 45
     CL_TYPE_MACHO,
47 46
     CL_TYPE_MACHO_UNIBIN,
... ...
@@ -136,7 +136,7 @@ static const struct cli_mtarget cli_mtargets[CLI_MTARGETS] =  {
136 136
     { CL_TYPE_GRAPHICS,	    "GRAPHICS",	    5,	1   },
137 137
     { CL_TYPE_ELF,	    "ELF",	    6,	1   },
138 138
     { CL_TYPE_TEXT_ASCII,   "ASCII",	    7,	1   },
139
-    { CL_TYPE_PE_DISASM,    "DISASM",	    8,	1   },
139
+    { CL_TYPE_ERROR,        "NOT USED",	    8,	1   },
140 140
     { CL_TYPE_MACHO,	    "MACH-O",	    9,	1   }
141 141
 };
142 142
 
... ...
@@ -1074,16 +1074,19 @@ int cli_scanpe(cli_ctx *ctx, icon_groupset *iconset)
1074 1074
 
1075 1075
     epsize = fmap_readn(map, epbuff, ep, 4096);
1076 1076
 
1077
-    CLI_UNPTEMP("DISASM",(exe_sections,0));
1078
-    if(disasmbuf((unsigned char*)epbuff, epsize, ndesc))
1079
-	ret = cli_scandesc(ndesc, ctx, CL_TYPE_PE_DISASM, 1, NULL, AC_SCAN_VIR);
1080
-    close(ndesc);
1081
-    CLI_TMPUNLK();
1082
-    free(tempfile);
1083
-    if(ret == CL_VIRUS) {
1084
-	free(exe_sections);
1085
-	return ret;
1086
-    }
1077
+
1078
+    /* Disasm scan disabled since it's now handled by the bytecode */
1079
+
1080
+    /* CLI_UNPTEMP("DISASM",(exe_sections,0)); */
1081
+    /* if(disasmbuf((unsigned char*)epbuff, epsize, ndesc)) */
1082
+    /* 	ret = cli_scandesc(ndesc, ctx, CL_TYPE_PE_DISASM, 1, NULL, AC_SCAN_VIR); */
1083
+    /* close(ndesc); */
1084
+    /* CLI_TMPUNLK(); */
1085
+    /* free(tempfile); */
1086
+    /* if(ret == CL_VIRUS) { */
1087
+    /* 	free(exe_sections); */
1088
+    /* 	return ret; */
1089
+    /* } */
1087 1090
 
1088 1091
     if(overlays) {
1089 1092
 	int overlays_sz = fsize - overlays;