return To index | download demo package!
Mono: Enumerate .EXE Files In Ubuntu Linux (From Roots To Tips)
--------------------------------------------------------------
alcopaul/brigada ocho
june 05, 2011
So I logged into my Ubuntu partition to finally resolve an issue that I encountered when I was testing the
functions of my .NET virus in Mono. I found out that the directory recursion hangs when finding .exe files.
Today, I was able to solve that problem.
The culprit? /proc and /sys directories. The trick is to exclude them from the directory search.
note: filenamex is the full path of the .exe file.
----------------------------------------------------------------------
using System;
using System.IO;
using System.Reflection;
namespace FindEXEUbuntuLinux
{
class Program
{
static void Main(string[] args)
{
Module gxc = Assembly.GetExecutingAssembly().GetModules()[0];
string self = gxc.FullyQualifiedName;
string currLoc = Path.GetDirectoryName(self);
string root = Directory.GetDirectoryRoot(currLoc);
DirectoryInfo dirs = new DirectoryInfo(@root);
AndLetsRock(dirs);
Console.WriteLine("End here..");
Console.ReadKey();
}
private static void AndLetsRock(DirectoryInfo dir)
{
FileInfo[] filesx = dir.GetFiles("*.exe");
foreach (FileInfo filex in filesx)
{
string filenamex = filex.FullName;
try
{
Console.WriteLine(filenamex);
}
catch
{
continue;
}
}
DirectoryInfo[] dirs = dir.GetDirectories("*.*");
foreach (DirectoryInfo xdir in dirs)
{
try
{
if (xdir.FullName == "/proc" || xdir.FullName == "/sys")
{
continue;
}
AndLetsRock(xdir);
}
catch
{
continue;
}
}
}
}
}
--------------------------------------------------------------------