Example #1
0
        public List <Dictionary <string, string> > Run(List <string> arguments, List <Dictionary <string, string> > list)
        {
            var directory  = GetTemporaryDirectory();
            var outputPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Desktop\Collected Files.zip";

            foreach (var file in arguments)
            {
                var fileName = FileInspector.GetHash(file) + " - " + Path.GetFileName(file);

                File.Copy(file, directory + "\\" + fileName, true);
            }

            if (File.Exists(outputPath))
            {
                File.Delete(outputPath);
            }

            ZipFile.CreateFromDirectory(directory, outputPath);

            list.Add(new Dictionary <string, string>()
            {
                { "token", "Collect" },
                { "path", "Created successfully at " + outputPath }
            });

            return(list);
        }
Example #2
0
        public List <Dictionary <string, string> > Run(List <string> arguments, List <Dictionary <string, string> > list)
        {
            Directory.CreateDirectory(destinationFolder);

            foreach (var file in arguments)
            {
                if (!File.Exists(file))
                {
                    list.Add(new Dictionary <string, string>()
                    {
                        { "token", "File" },
                        { "err", file + " does not exist" },
                    });
                    continue;
                }

                var encoding = new ASCIIEncoding();

                var destFileName = FileInspector.GetHash(file) + " - " + Convert.ToBase64String(encoding.GetBytes(file));
                var destFilePath = destinationFolder + @"\" + destFileName;

                if (File.Exists(destFilePath))
                {
                    File.Delete(file);
                    list.Add(new Dictionary <string, string>()
                    {
                        { "token", "File" },
                        { "success", "Moved (by deletion) " + file },
                    });
                    continue;
                }

                try
                {
                    File.Move(file, destFilePath);
                }
                catch
                {
                    list.Add(new Dictionary <string, string>()
                    {
                        { "token", "File" },
                        { "err", "Failed to move " + file },
                    });
                    continue;
                }

                list.Add(new Dictionary <string, string>()
                {
                    { "token", "File" },
                    { "success", "Successfully moved " + file },
                });
            }

            return(list);
        }
Example #3
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);
        }
Example #4
0
        public List <Dictionary <string, string> > Run(List <string> arguments, List <Dictionary <string, string> > list)
        {
            Directory.CreateDirectory(destinationFolder);

            foreach (var file in arguments)
            {
                if (!File.Exists(file) && !Directory.Exists(file))
                {
                    list.Add(new Dictionary <string, string>
                    {
                        { "token", "File" },
                        { "err", file + " does not exist" }
                    });
                    continue;
                }

                var encoding = new ASCIIEncoding();

                string destFileName;

                if (!Directory.Exists(file))
                {
                    destFileName = FileInspector.GetHash(file) + " - " + Convert.ToBase64String(encoding.GetBytes(file));
                }
                else
                {
                    destFileName = "Directory - " + Convert.ToBase64String(encoding.GetBytes(file));
                }

                var destFilePath = destinationFolder + @"\" + destFileName;

                if (File.Exists(destFilePath))
                {
                    File.Delete(file);
                    list.Add(new Dictionary <string, string>
                    {
                        { "token", "File" },
                        { "success", "Moved (by deletion) " + file }
                    });
                    continue;
                }

                MoveFile(ref list, file, destFilePath);
            }

            return(list);
        }