Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Security;
- using System.Security.Permissions;
- using System.Security.Policy;
- using System.Reflection;
- namespace ScriptsSecurity
- {
- public class ScriptExecutor : MarshalByRefObject
- {
- public void Run()
- {
- Script.Script.RunMe();
- }
- }
- class Program
- {
- static StrongName GetStrongName()
- {
- Assembly a = typeof(Core.Core).Assembly;
- return new StrongName(
- new StrongNamePublicKeyBlob(a.GetName().GetPublicKey()),
- a.GetName().Name,
- a.GetName().Version
- );
- }
- static void Main(string[] args)
- {
- AppDomainSetup setup = new AppDomainSetup { ApplicationBase = Environment.CurrentDirectory };
- PermissionSet permissions = new PermissionSet(null);
- permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
- AppDomain dom = AppDomain.CreateDomain("SANDBOX", null, setup, permissions, new StrongName[] { GetStrongName() });
- ScriptExecutor e = (ScriptExecutor)(dom.CreateInstanceAndUnwrap("ScriptsSecurity", "ScriptsSecurity.ScriptExecutor"));
- e.Run();
- AppDomain.Unload(dom);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement