PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C# SRC] Boolean IsProcessSandboxed (SandboxIE)



Steav
23.04.2009, 14:52
Der unten gezeigte Codeschnipsel hilft einem programmatisch auf SandBoxIE zu reagieren.

Wenn ein Prozess mit SandboxIE sandboxed gestartet wird, wird die sbiedll in den prozess injected. das wird hier abgefragt.




private Boolean IsProcessSandBoxed()
{
foreach (ProcessModule Module in Process.GetCurrentProcess().Modules)
{
if (Module.FileName.ToUpper().EndsWith("SBIEDLL.DLL"))
return true;
}
return false;
}

l0dsb
23.04.2009, 15:09
Nicht ganz so zuverlässig, da man die .dll umbenennen kann (und die entsprechenden Referenzen). ;)

Steav
23.04.2009, 15:29
Nicht ganz so zuverlässig, da man die .dll umbenennen kann (und die entsprechenden Referenzen). ;)


Hmm wo soll das gehen? Hab grad mal die Einstellungen & cfg durchsucht und nix derartiges gefunden. Wenn's nicht ohne Weiteres konfigurierbar is ist ohnehin davon auszugehen, dass man keine modifizierte SandboxIEversion verwendet.

Wem das nich sicher genug ist desweiteren noch andere Merkmale als den Dateinamen vergleichen.

l0dsb
23.04.2009, 15:45
Man kann den Pfad zum Modul im PEB ändern. Wer das allerdings macht, ist eine andere Frage. :)

Man könnte z. B. eine .dll erstellen, die den entsprechenden Namen hat, und sie in jeden Prozess laden.