public static void SetEnvironment(Settings settings) { var myUsernamePointer = getenv("USERNAME"); var myUsername = Marshal.PtrToStringAnsi(myUsernamePointer); _putenv("COMPUTERNAME=" + settings.Computername.ToUpper()); _putenv("USERDOMAIN=" + settings.Computername.ToUpper()); _putenv("USERDOMAIN_ROAMINGPROFILE=" + settings.Computername.ToUpper()); _putenv("USERNAME="******"TMP=C:\Users\" + settings.WindowsUserLogin + @"\AppData\Local\Temp"); _putenv("VISUALSTUDIODIR="); if (settings.ProcessorIdent != null && settings.ProcessorIdent != null && settings.ProcessorCoreAmount != null && settings.ProcessorLevel != null) { _putenv("PROCESSOR_IDENTIFIER=" + settings.ProcessorIdent); _putenv("PROCESSOR_REVISION=" + settings.ProcessorRev); _putenv("NUMBER_OF_PROCESSORS=" + settings.ProcessorCoreAmount); _putenv("PROCESSOR_LEVEL=" + settings.ProcessorLevel); } _putenv(@"USERPROFILE=C:\Users\" + settings.WindowsUserLogin); _putenv(@"HOMEPATH=C:\Users\" + settings.WindowsUserLogin); _putenv(@"LOCALAPPDATA=C:\Users\" + settings.WindowsUserLogin + @"\AppData\Local"); _putenv(@"TEMP=C:\Users\" + settings.WindowsUserLogin + @"\AppData\Local\Temp"); _putenv(@"APPDATA=C:\Users\" + settings.WindowsUserLogin + @"\AppData\Roaming"); var pathPointer = getenv("PATH"); var path = Marshal.PtrToStringAnsi(pathPointer); path = path.Replace(myUsername, settings.WindowsUserLogin, StringComparison.InvariantCultureIgnoreCase); _putenv("PATH=" + path); }
public static string VerifyIniFile(string iniFile) { iniFile = Directory.GetCurrentDirectory() + "/" + iniFile; if (!File.Exists(iniFile)) throw new ArgumentException("IniFile not found"); var verify = new Settings(iniFile); return iniFile; }
public void Run(RemoteHooking.IContext InContext, string channelname, string iniFile, string qDll, string qParam) { settings = new Settings(iniFile); InitializeHooks(); Environment.SetEnvironment(settings); RemoteHooking.WakeUpProcess(); while (true) { Thread.Sleep(1000); } }
public GraphicsCardHook(IntPtr address, Settings settings) { _settings = settings; var dxgiHandle = Utility.GetModuleHandle("dxgi.dll"); var getDescPtr = dxgiHandle + getDescOffset; GetDesc1Original = (GetDesc1Delegate) Marshal.GetDelegateForFunctionPointer(getDescPtr, typeof (GetDesc1Delegate)); _name = string.Format("GetDescHook_{0:X}", getDescPtr.ToInt32()); _hook = LocalHook.Create(getDescPtr, new GetDesc1Delegate(GetDesc1Detour), this); _hook.ThreadACL.SetExclusiveACL(new Int32[] {0}); }