Beispiel #1
0
 void Extract()
 {
     //KavProtCPLExtractor.SetLibraryPath(Application.StartupPath + @"\7z.dll");
     using (KCompressExtractor extr = new KCompressExtractor(Environment.GetCommandLineArgs()[0]))
     {
         extr.ExtractArchive(Application.StartupPath);
     }
 }
Beispiel #2
0
        public object ScanM(string filename)
        {
            FileInfo fi = new FileInfo(filename);

            try
            {
                if (fi.Length < MaximumSize)
                {
                    using (KCompress.KCompressExtractor extr = new KCompressExtractor(filename))
                    {
                        extr.ExtractArchive(AVEngine.TempDir + Path.GetFileNameWithoutExtension(filename) + @"\");
                    }
                    object svir = null;
                    foreach (string file in FileHelper.GetFilesRecursive(AVEngine.TempDir + Path.GetFileNameWithoutExtension(filename) + @"\"))
                    {
                        if (file.EndsWith(".text"))
                        {
                            svir = VDB.GetPEMD5(Security.GetMD5HashFromFile(file));
                            if (svir != null)
                            {
                                return(svir);
                            }
                        }
                        else if (file.EndsWith(".data"))
                        {
                            svir = VDB.GetPEMD5(Security.GetMD5HashFromFile(file));
                            if (svir != null)
                            {
                                return(svir);
                            }
                        }
                        else if (file.EndsWith(".idata"))
                        {
                            svir = VDB.GetPEMD5(Security.GetMD5HashFromFile(file));
                            if (svir != null)
                            {
                                return(svir);
                            }
                        }
                        File.Delete(file);
                    }
                    return(VDB.GetMD5(Security.GetMD5HashFromFile(filename)));
                }
                else
                {
                    return(null);
                }
            }
            catch
            {
                return(null);
            }
            finally
            {
            }
            return(null);
        }
Beispiel #3
0
        public object ScanM(string filename, System.Windows.Forms.Label lb)
        {
            try
            {
                FileInfo sv = new FileInfo(filename);
                if (sv.Length < MaximumSize)
                {
                    using (KCompressExtractor extr = new KCompressExtractor(filename))
                    {
                        extr.ExtractArchive(AVEngine.TempDir + Path.GetFileNameWithoutExtension(filename) + @"\");
                    }
                    foreach (string file in FileHelper.GetFilesRecursive(AVEngine.TempDir + Path.GetFileNameWithoutExtension(filename) + @"\"))
                    {
                        try
                        {
                            GUI.UpdateLabel(lb, filename + ":" + file.Replace(AVEngine.TempDir + Path.GetFileNameWithoutExtension(filename), ""));

                            object slst = FileFormat.GetFileFormat(file).ScanM(file);

                            if (slst != null)
                            {
                                return(slst + "&" + file.Replace(AVEngine.TempDir + Path.GetFileNameWithoutExtension(filename) + @"\", ""));
                            }


                            File.Delete(file);
                        }
                        catch
                        {
                        }
                    }
                    return(null);
                }
                else
                {
                    return(null);
                }
            }
            catch
            {
                return("KavprotSensor/Unpackable.Archive");
            }
            finally
            {
            }
        }