Note that there are some explanatory texts on larger screens.

plurals
  1. PODelete Links and Unhide hidden files c#
    primarykey
    data
    text
    <p>We were recently infected by the thumbs.db2 virus that has created shortcuts to all our Word and Excel documents on our network drives and hide the real files. I have been able to write code to iterate through all the folder and find the shortcuts and delete, but i need to be able to unhide the hidden files which I have been unable to achieve. </p> <p>My code is below, written quickly so please be kind :)</p> <pre><code> public static IEnumerable&lt;string&gt; GetFiles(string root, string searchPattern) { Stack&lt;string&gt; pending = new Stack&lt;string&gt;(); pending.Push(root); while (pending.Count != 0) { var path = pending.Pop(); string[] next = null; try { next = Directory.GetFiles(path, searchPattern); } catch { } if (next != null &amp;&amp; next.Length != 0) foreach (var file in next) yield return file; try { next = Directory.GetDirectories(path); foreach (var subdir in next) pending.Push(subdir); } catch { } } } static void Main() { string lines = ""; string startFolder = @"S:\"; // Take a snapshot of the file system. System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(startFolder); dir.GetDirectories("*.*"); // This method assumes that the application has discovery permissions // for all folders under the specified path. IEnumerable&lt;String&gt; fileList = GetFiles(startFolder,"*.lnk"); int I = 0; List&lt;LinkFileLocation&gt; Lik = new List&lt;LinkFileLocation&gt;(); DtataDataContext D = new DtataDataContext(); //Execute the query. This might write out a lot of files! foreach (string fi in fileList) { LinkFileLocation L = new LinkFileLocation(); // Console.WriteLine(fi.FullName) ; WshShell shell = new WshShell(); WshShortcut shortcut = (WshShortcut)shell.CreateShortcut(fi); FileInfo F = new FileInfo(fi); var fs = F.GetAccessControl(); var sid = fs.GetOwner(typeof(SecurityIdentifier)); Console.WriteLine(sid); // SID try { var ntAccount = sid.Translate(typeof(NTAccount)); Console.WriteLine(ntAccount); // DOMAIN\username L.UserCreated = ntAccount.Value.ToString(); } catch { L.UserCreated = "Not Known"; } L.CreationTime = F.CreationTime; if (shortcut.Arguments.Contains("thumbs.db2 start") &amp;&amp; shortcut.TargetPath.Contains("cmd.exe")) { L.Arguments = shortcut.Arguments; L.Description = shortcut.Description; L.FullName = shortcut.FullName; L.HotKey = shortcut.Hotkey; L.IconLocation = shortcut.IconLocation; Console.Write("Infected Shortcut --" + I.ToString() + "-- :-" + shortcut.FullName.ToString() + Environment.NewLine); lines += "Infected Shortcut :-" + shortcut.FullName.ToString() + Environment.NewLine; I++; } D.LinkFileLocations.InsertOnSubmit(L); D.SubmitChanges(); } // Compose a string that consists of three lines. // Write the string to a file. System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test.txt"); file.WriteLine(lines); file.Flush(); file.Close(); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } </code></pre> <p>How do I unhide files in c#</p> <p>Any help would be greatly appriciated.</p> <p>Kindest Regards Sp</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload