コード例 #1
0
        public void Run(ref Report report, List <Dictionary <string, string> > list)
        {
            foreach (var directory in directories)
            {
                if (!Directory.Exists(directory))
                {
                    continue;
                }

                foreach (var file in SafeFileEnumerator.EnumerateFiles(directory, "*.exe", SearchOption.AllDirectories))
                {
                    if (file.Length > 248)
                    {
                        continue;
                    }

                    var fileDate = FileInspector.GetDate(file);

                    if ((fileDate - DateTime.Now).TotalDays > 14)
                    {
                        continue;
                    }

                    try
                    {
                        list.Add(new Dictionary <string, string>
                        {
                            { "token", "File" },
                            { "hash", "[" + FileInspector.GetHash(file) },
                            { "date", fileDate.ToString("MM-dd-yyyy") + "]" },
                            { "publisher", "(" + FileInspector.GetPublisher(file) + ")" },
                            { "path", file }
                        });
                    }
                    catch (IOException)
                    {
                        list.Add(new Dictionary <string, string>
                        {
                            { "token", "File" },
                            { "date", "[" + fileDate.ToString("MM-dd-yyyy") + "]" },
                            { "path", file }
                        });
                    }
                }
            }

            report.Add(list);
        }