diff --git a/FakeFileCreator/FakeFileCreator.csproj b/FakeFileCreator/FakeFileCreator.csproj index c6d00c5..98df7a1 100644 --- a/FakeFileCreator/FakeFileCreator.csproj +++ b/FakeFileCreator/FakeFileCreator.csproj @@ -5,7 +5,7 @@ Debug AnyCPU {7609DDC1-DBBD-4C63-ADE6-E123C07E0A90} - Exe + WinExe FakeFileCreator FakeFileCreator v4.8 diff --git a/FakeFileCreator/MainForm.Designer.cs b/FakeFileCreator/MainForm.Designer.cs index 7c742ee..9c4840d 100644 --- a/FakeFileCreator/MainForm.Designer.cs +++ b/FakeFileCreator/MainForm.Designer.cs @@ -33,6 +33,13 @@ private void InitializeComponent() this.btnPictures = new System.Windows.Forms.Button(); this.btnVideos = new System.Windows.Forms.Button(); this.btnMusic = new System.Windows.Forms.Button(); + this.progressBar = new System.Windows.Forms.ProgressBar(); + this.sidepanel = new System.Windows.Forms.Panel(); + this.filestogenerateTextbox = new System.Windows.Forms.TextBox(); + this.ftogeneratelable = new System.Windows.Forms.Label(); + this.filesprocessedlabel = new System.Windows.Forms.Label(); + this.populate_drive = new System.Windows.Forms.Button(); + this.sidepanel.SuspendLayout(); this.SuspendLayout(); // // btnDocuments @@ -53,6 +60,7 @@ private void InitializeComponent() this.btnPictures.TabIndex = 1; this.btnPictures.Text = "Create Fake Pictures"; this.btnPictures.UseVisualStyleBackColor = true; + this.btnPictures.Click += new System.EventHandler(this.btnPictures_Click); // // btnVideos // @@ -71,12 +79,72 @@ private void InitializeComponent() this.btnMusic.TabIndex = 3; this.btnMusic.Text = "Create Fake Music"; this.btnMusic.UseVisualStyleBackColor = true; + this.btnMusic.Click += new System.EventHandler(this.btnMusic_Click); + // + // progressBar + // + this.progressBar.Location = new System.Drawing.Point(12, 143); + this.progressBar.Name = "progressBar"; + this.progressBar.Size = new System.Drawing.Size(317, 10); + this.progressBar.TabIndex = 4; + // + // sidepanel + // + this.sidepanel.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.sidepanel.Controls.Add(this.filestogenerateTextbox); + this.sidepanel.Controls.Add(this.ftogeneratelable); + this.sidepanel.Location = new System.Drawing.Point(230, 12); + this.sidepanel.Name = "sidepanel"; + this.sidepanel.Size = new System.Drawing.Size(99, 59); + this.sidepanel.TabIndex = 5; + // + // filestogenerateTextbox + // + this.filestogenerateTextbox.Location = new System.Drawing.Point(7, 27); + this.filestogenerateTextbox.Name = "filestogenerateTextbox"; + this.filestogenerateTextbox.Size = new System.Drawing.Size(83, 20); + this.filestogenerateTextbox.TabIndex = 1; + this.filestogenerateTextbox.Text = "50"; + this.filestogenerateTextbox.TextChanged += new System.EventHandler(this.filestogenerateTextbox_TextChanged); + // + // ftogeneratelable + // + this.ftogeneratelable.AutoSize = true; + this.ftogeneratelable.Location = new System.Drawing.Point(6, 8); + this.ftogeneratelable.Name = "ftogeneratelable"; + this.ftogeneratelable.Size = new System.Drawing.Size(85, 13); + this.ftogeneratelable.TabIndex = 0; + this.ftogeneratelable.Text = "Files to generate"; + // + // filesprocessedlabel + // + this.filesprocessedlabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.filesprocessedlabel.AutoSize = true; + this.filesprocessedlabel.Location = new System.Drawing.Point(12, 127); + this.filesprocessedlabel.Name = "filesprocessedlabel"; + this.filesprocessedlabel.Size = new System.Drawing.Size(0, 13); + this.filesprocessedlabel.TabIndex = 6; + this.filesprocessedlabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // populate_drive + // + this.populate_drive.Location = new System.Drawing.Point(230, 70); + this.populate_drive.Name = "populate_drive"; + this.populate_drive.Size = new System.Drawing.Size(99, 23); + this.populate_drive.TabIndex = 7; + this.populate_drive.Text = "Populate Drive"; + this.populate_drive.UseVisualStyleBackColor = true; + this.populate_drive.Click += new System.EventHandler(this.populate_drive_Click); // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(234, 138); + this.ClientSize = new System.Drawing.Size(334, 158); + this.Controls.Add(this.populate_drive); + this.Controls.Add(this.filesprocessedlabel); + this.Controls.Add(this.sidepanel); + this.Controls.Add(this.progressBar); this.Controls.Add(this.btnMusic); this.Controls.Add(this.btnVideos); this.Controls.Add(this.btnPictures); @@ -84,7 +152,11 @@ private void InitializeComponent() this.Name = "MainForm"; this.ShowIcon = false; this.Text = "FakeFileCreator"; + this.Load += new System.EventHandler(this.MainForm_Load); + this.sidepanel.ResumeLayout(false); + this.sidepanel.PerformLayout(); this.ResumeLayout(false); + this.PerformLayout(); } @@ -94,6 +166,12 @@ private void InitializeComponent() private System.Windows.Forms.Button btnPictures; private System.Windows.Forms.Button btnVideos; private System.Windows.Forms.Button btnMusic; + private System.Windows.Forms.ProgressBar progressBar; + private System.Windows.Forms.Panel sidepanel; + private System.Windows.Forms.TextBox filestogenerateTextbox; + private System.Windows.Forms.Label ftogeneratelable; + private System.Windows.Forms.Label filesprocessedlabel; + private System.Windows.Forms.Button populate_drive; } } diff --git a/FakeFileCreator/MainForm.cs b/FakeFileCreator/MainForm.cs index 8a8ee99..c097d72 100644 --- a/FakeFileCreator/MainForm.cs +++ b/FakeFileCreator/MainForm.cs @@ -1,12 +1,9 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; using System.IO; using System.Linq; using System.Net; -using System.Text; using System.Threading.Tasks; using System.Windows.Forms; @@ -15,67 +12,329 @@ namespace FakeFileCreator public partial class MainForm : Form { private Random rand = new Random(); + private List cachedWords = new List(); private static string EnglishWordListURL = @"https://raw.githubusercontent.com/dwyl/english-words/master/words_alpha.txt"; + private string tempWordFile; public MainForm() { InitializeComponent(); + tempWordFile = Path.Combine(Path.GetTempPath(), "words.txt"); + Load += MainForm_Load; } - private void btnDocuments_Click(object sender, EventArgs e) + private async void MainForm_Load(object sender, EventArgs e) { - List extensions = new List { ".txt", ".docx", ".pdf", ".xls", ".xlxs", ".ppt", ".pptx", ".odt" }; + await DownloadAndCacheWordListAsync(); + } + + private async Task DownloadAndCacheWordListAsync() + { + progressBar.Invoke((Action)(() => + { + progressBar.Value = 0; + progressBar.Maximum = 100; + })); - Console.WriteLine("Looking for words.txt..."); - if (!File.Exists("words.txt")) + if (!File.Exists(tempWordFile)) { - var client = new WebClient(); - Console.WriteLine("Getting words from github..."); - string data = client.DownloadString(EnglishWordListURL); - using (StreamWriter sw = new StreamWriter("words.txt")) { sw.Write(data); } + using (var client = new WebClient()) + { + client.DownloadProgressChanged += (s, e) => + { + progressBar.Invoke((Action)(() => + { + progressBar.Value = e.ProgressPercentage; + })); + }; + + await client.DownloadFileTaskAsync(EnglishWordListURL, tempWordFile); + } } - List words = new List(); - using (StreamReader sr = new StreamReader("words.txt")) + while (true) { - while (!sr.EndOfStream) + try + { + using (FileStream fs = File.Open(tempWordFile, FileMode.Open, FileAccess.Read, FileShare.Read)) + using (StreamReader sr = new StreamReader(fs)) + { + cachedWords = sr.ReadToEnd().Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries) + .Where(l => l.Length > 2 && l.Length < 14) + .ToList(); + } + break; + } + catch (IOException) { - words.Add(sr.ReadLine()); + await Task.Delay(100); } } - Console.WriteLine("Words count: " + words.Count); + progressBar.Invoke((Action)(() => progressBar.Value = 0)); + } + + private int GetFileCount() + { + if (string.IsNullOrWhiteSpace(filestogenerateTextbox.Text)) + { + MessageBox.Show("Enter a number of files to generate"); + return -1; + } + + if (int.TryParse(filestogenerateTextbox.Text, out int v)) + return v; + + MessageBox.Show("Invalid number"); + return -1; + } + + private string GenerateRandomFilename(List extensions) + { + int wordsLong = rand.Next(2, 5); + string[] w = new string[wordsLong]; + for (int i = 0; i < wordsLong; i++) + w[i] = cachedWords[rand.Next(cachedWords.Count)]; + + return string.Join("_", w) + extensions[rand.Next(extensions.Count)]; + } + + private string GenerateRandomFolderName() + { + int wordsLong = rand.Next(1, 3); + string[] w = new string[wordsLong]; + for (int i = 0; i < wordsLong; i++) + w[i] = cachedWords[rand.Next(cachedWords.Count)]; + + return string.Join(" ", w); + } + + private void GenerateBinaryFile(string path, int size) + { + byte[] data = new byte[size]; + rand.NextBytes(data); + File.WriteAllBytes(path, data); + } + + private async Task GenerateFilesAsync(string rootFolder, List extensions, int count) + { + if (cachedWords.Count == 0) + await DownloadAndCacheWordListAsync(); + + Directory.CreateDirectory(rootFolder); - if(words.Count == 0) return; - if(extensions.Count == 0) return; + progressBar.Invoke((Action)(() => + { + progressBar.Value = 0; + progressBar.Maximum = count; + })); - int filesToGenerate = rand.Next(10, 50); - Console.WriteLine($"Generating [{filesToGenerate}] files..."); - for (int i = 0; i < filesToGenerate; i++) + filesprocessedlabel.Invoke((Action)(() => { - string filename = ""; - int wordsLong = rand.Next(1, 4); - for (int j = 0; j < wordsLong; j++) + filesprocessedlabel.Text = $"0 / {count}"; + })); + + int maxThreads = Math.Max(Environment.ProcessorCount - 2, 1); + var completedCount = 0; + + List folders = new List { rootFolder }; + + int folderCount = Math.Max(1, count / 10); + for (int i = 0; i < folderCount; i++) + { + string parent = folders[rand.Next(folders.Count)]; + string folderPath = Path.Combine(parent, GenerateRandomFolderName()); + Directory.CreateDirectory(folderPath); + folders.Add(folderPath); + } + + await Task.Run(() => + { + ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = maxThreads }; + + while (completedCount < count) { - int wordToGet = rand.Next(0, words.Count); - Console.WriteLine("Word to get: " + wordToGet); - filename += words[wordToGet] + " "; + Parallel.For(0, count - completedCount, options, _ => + { + string folder = folders[rand.Next(folders.Count)]; + + string filename = GenerateRandomFilename(extensions); + string path = Path.Combine(folder, filename); + + bool created = false; + lock (rand) + { + if (!File.Exists(path)) + { + GenerateBinaryFile(path, rand.Next(50000, 8000000)); + created = true; + } + } + + if (created) + { + int progress = System.Threading.Interlocked.Increment(ref completedCount); + progressBar.Invoke((Action)(() => progressBar.Value = progress)); + filesprocessedlabel.Invoke((Action)(() => + filesprocessedlabel.Text = $"{progress} / {count}" + )); + } + }); } - filename += extensions[rand.Next(0, extensions.Count)]; + }); + } - Console.WriteLine($"Filename: {filename}"); + private async void btnDocuments_Click(object sender, EventArgs e) + { + int count = GetFileCount(); + if (count <= 0) return; - string myDocs = Path.Combine(Environment.ExpandEnvironmentVariables("%userprofile%"), "Documents"); - FileInfo fInf = new FileInfo(myDocs + "/" + filename); - if (fInf.Exists) continue; + var ext = new List { ".txt", ".docx", ".pdf", ".xls", ".xlsx", ".ppt", ".pptx", ".odt", ".rtf" }; + string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "FakeDocs"); - fInf.Create().Close(); + await GenerateFilesAsync(folder, ext, count); + MessageBox.Show($"Created {count} fake documents"); + } - StreamWriter sw = new StreamWriter(fInf.OpenWrite()); - sw.Write("NULL_NULL_NULL"); - sw.Flush(); - sw.Close(); + private async void btnPictures_Click(object sender, EventArgs e) + { + int count = GetFileCount(); + if (count <= 0) return; + + var ext = new List { ".png", ".jpg", ".jpeg" }; + string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "FakePics"); + + await GenerateFilesAsync(folder, ext, count); + MessageBox.Show($"Created {count} fake pictures"); + } + + private async void btnVideos_Click(object sender, EventArgs e) + { + int count = GetFileCount(); + if (count <= 0) return; + + var ext = new List { ".mp4", ".mov", ".avi", ".mkv" }; + string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyVideos), "FakeVideos"); + + await GenerateFilesAsync(folder, ext, count); + MessageBox.Show($"Created {count} fake videos"); + } + + private async void btnMusic_Click(object sender, EventArgs e) + { + int count = GetFileCount(); + if (count <= 0) return; + + var ext = new List { ".mp3", ".wav", ".flac" }; + string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyMusic), "FakeMusic"); + + await GenerateFilesAsync(folder, ext, count); + MessageBox.Show($"Created {count} fake music files"); + } + + private void filestogenerateTextbox_TextChanged(object sender, EventArgs e) + { + string t = filestogenerateTextbox.Text; + string filtered = new string(t.Where(char.IsDigit).ToArray()); + if (t != filtered) + { + int pos = filestogenerateTextbox.SelectionStart; + filestogenerateTextbox.Text = filtered; + filestogenerateTextbox.SelectionStart = Math.Min(pos, filtered.Length); + } + } + + private async void populate_drive_Click(object sender, EventArgs e) + { + using (var fbd = new FolderBrowserDialog()) + { + fbd.Description = "Select a drive/folder to fill (C: is blocked)"; + if (fbd.ShowDialog() != DialogResult.OK) return; + + string rootPath = fbd.SelectedPath; + if (Path.GetPathRoot(rootPath).ToUpper() == @"C:\") + { + MessageBox.Show("Populating C: drive is blocked for safety. Choose another drive."); + return; + } + + var driveInfo = new DriveInfo(rootPath); + long totalSize = driveInfo.TotalSize; + long targetFreeSpace = (long)(totalSize * 0.1); + long currentFreeSpace = driveInfo.AvailableFreeSpace; + + if (MessageBox.Show($"Are you sure you want to fill {rootPath}? This will fill until ~90% of the drive is used!", "Confirm", MessageBoxButtons.YesNo) != DialogResult.Yes) + return; + + List<(string type, List extensions)> fileTypes = new List<(string, List)> + { + ("Documents", new List { ".txt", ".docx", ".pdf", ".xls", ".xlsx", ".ppt", ".pptx", ".odt", ".rtf" }), + ("Pictures", new List { ".png", ".jpg", ".jpeg" }), + ("Videos", new List { ".mp4", ".mov", ".avi", ".mkv" }), + ("Music", new List { ".mp3", ".wav", ".flac" }) + }; + + await DownloadAndCacheWordListAsync(); + + int maxThreads = Math.Max(Environment.ProcessorCount * 2, 4); + var folders = new List { rootPath }; + + await Task.Run(() => + { + ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = maxThreads }; + + while (currentFreeSpace > targetFreeSpace) + { + Parallel.For(0, maxThreads, options, _ => + { + lock (rand) + { + var type = fileTypes[rand.Next(fileTypes.Count)]; + string folder = folders[rand.Next(folders.Count)]; + if (rand.NextDouble() < 0.25) + { + folder = Path.Combine(folders[rand.Next(folders.Count)], GenerateRandomFolderName()); + Directory.CreateDirectory(folder); + folders.Add(folder); + } + + int size = rand.Next(1_000_000, 8_000_000); + GenerateBinaryFile(Path.Combine(folder, GenerateRandomFilename(type.extensions)), size); + } + }); + + currentFreeSpace = new DriveInfo(rootPath).AvailableFreeSpace; + long usedSpace = totalSize - currentFreeSpace; + + int progressValue = (int)((usedSpace * 100L) / totalSize); + + progressBar.Invoke((Action)(() => + { + progressBar.Value = Math.Min(100, progressValue); + })); + + filesprocessedlabel.Invoke((Action)(() => + { + filesprocessedlabel.Text = $"{FormatBytes(usedSpace)} / {FormatBytes(totalSize)}"; + })); + } + }); + + MessageBox.Show("Drive filling completed."); + } + } + + private string FormatBytes(long bytes) + { + string[] sizes = { "B", "KB", "MB", "GB", "TB" }; + double len = bytes; + int order = 0; + while (len >= 1024 && order < sizes.Length - 1) + { + order++; + len /= 1024; } + return $"{len:0.##} {sizes[order]}"; } } } diff --git a/GiftcardGenerator/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/GiftcardGenerator/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index 1fb4461..3431654 100644 Binary files a/GiftcardGenerator/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/GiftcardGenerator/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Notepad/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Notepad/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index d99c213..8031c8b 100644 Binary files a/Notepad/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/Notepad/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/SysKey/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/SysKey/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index 694a658..eb21647 100644 Binary files a/SysKey/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/SysKey/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/netstat/Program.cs b/netstat/Program.cs index 38ccae2..d85eb0a 100644 --- a/netstat/Program.cs +++ b/netstat/Program.cs @@ -1,21 +1,94 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Threading; +using System.Net; +using System.Net.Sockets; namespace netstat { class Program { + static string GetLocalLAN() + { + string result = "192.168.1.100"; + var host = Dns.GetHostEntry(Dns.GetHostName()); + foreach (var ip in host.AddressList) + { + if (ip.AddressFamily == AddressFamily.InterNetwork) + { + result = ip.ToString(); + } + } + return result; + } + static void Main(string[] args) { - Console.WriteLine("\n"); + var rand = new Random(); + int count = rand.Next(25, 75); + string lan = GetLocalLAN(); + + Console.WriteLine(); Console.WriteLine("Active Connections"); - Console.WriteLine("\n"); + Console.WriteLine(); Console.WriteLine(" Proto Local Address Foreign Address State"); - Console.WriteLine("\n\nNo foreign addresses found. Computer is secure from hackers!"); - Console.WriteLine("\n\n"); + Console.WriteLine(); + + var entries = new List(); + + for (int i = 0; i < count; i++) + { + string proto = rand.Next(0, 2) == 0 ? "TCP" : "UDP"; + string localIp = lan + ":" + rand.Next(40000, 60000); + string foreignIp = rand.Next(10, 255) + "." + rand.Next(0, 255) + "." + rand.Next(0, 255) + "." + rand.Next(0, 255) + ":" + rand.Next(40, 9000); + + string state; + if (proto == "UDP") + { + state = "LISTENING"; + } + else + { + int r = rand.Next(0, 3); + if (r == 0) state = "ESTABLISHED"; + else if (r == 1) state = "TIME_WAIT"; + else state = "CLOSE_WAIT"; + } + + string line = " " + proto.PadRight(6) + " " + localIp.PadRight(22) + " " + foreignIp.PadRight(22) + " " + state; + entries.Add(line); + Console.WriteLine(line); + Thread.Sleep(250); + } + + Console.WriteLine(); + Thread.Sleep(2500); + Console.WriteLine("Securing system, please wait..."); + Thread.Sleep(1000); + + int total = entries.Count; + + for (int i = 0; i < total; i++) + { + int width = 100; + int progress = (i + 1) * width / total; + + Console.Write("["); + Console.Write(new string('#', progress)); + Console.Write(new string('-', width - progress)); + Console.Write("] " + ((i + 1) * 100 / total) + "%"); + Console.SetCursorPosition(0, Console.CursorTop); + Thread.Sleep(rand.Next(80, 160)); + } + + Thread.Sleep(500); + Console.Clear(); + Console.ForegroundColor = ConsoleColor.Green; + + Console.WriteLine(); + Console.WriteLine("No foreign addresses found. Computer is secure from hackers!"); + Console.WriteLine(); + #if DEBUG Console.ReadLine(); #endif diff --git a/netstat/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/netstat/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index 2c31b47..c191874 100644 Binary files a/netstat/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/netstat/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/netstat/obj/Release/netstat.csproj.CoreCompileInputs.cache b/netstat/obj/Release/netstat.csproj.CoreCompileInputs.cache index 48cbfef..424e5de 100644 --- a/netstat/obj/Release/netstat.csproj.CoreCompileInputs.cache +++ b/netstat/obj/Release/netstat.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -ccf839991915f9697dd8d887060e5eafa0df1b69 +979fc59c1f2afcc3443738cd70ff09bf60f7ecb8fbff0eec3eb8b752a83b3e04 diff --git a/netstat/obj/Release/netstat.csproj.FileListAbsolute.txt b/netstat/obj/Release/netstat.csproj.FileListAbsolute.txt index 78a2d7b..219ee6b 100644 --- a/netstat/obj/Release/netstat.csproj.FileListAbsolute.txt +++ b/netstat/obj/Release/netstat.csproj.FileListAbsolute.txt @@ -5,3 +5,10 @@ C:\Users\conno\Source\Repos\ConnorBaxter\ScambaitToolkit\netstat\obj\Release\net C:\Users\conno\Source\Repos\ConnorBaxter\ScambaitToolkit\netstat\obj\Release\netstat.exe C:\Users\conno\Source\Repos\ConnorBaxter\ScambaitToolkit\netstat\obj\Release\netstat.pdb C:\Users\conno\Source\Repos\ConnorBaxter\ScambaitToolkit\netstat\obj\Release\netstat.csprojAssemblyReference.cache +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\bin\Release\netstat.exe.config +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\bin\Release\netstat.exe +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\bin\Release\netstat.pdb +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\obj\Release\netstat.csproj.AssemblyReference.cache +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\obj\Release\netstat.csproj.CoreCompileInputs.cache +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\obj\Release\netstat.exe +C:\Users\alex\Documents\GitHub\ScambaitToolkit\netstat\obj\Release\netstat.pdb diff --git a/tree/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/tree/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index c9e1dec..9b0c30f 100644 Binary files a/tree/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/tree/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ