Ejemplo n.º 1
0
 private void InstallButton_Click(object sender, RoutedEventArgs e)
 {
     if (PackageDeploymentService.DeployPackageUnElevated(Package, IsInstalled ? PackageDeploymentService.DeploymentAction.Remove_Package : PackageDeploymentService.DeploymentAction.Install_Package))
     {
         Close();
     }
 }
Ejemplo n.º 2
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            if (e.Args.Length > 0)
            {
                // exec "<path-to-package>"
                var arg0    = e.Args[0].ToLower();
                var isDebug = arg0 == "execdebug";

                if (arg0 == "exec" || isDebug)
                {
                    FridaService.RunProcessWithPackage(e.Args[2], e.Args.Skip(3).ToArray(), isDebug || GlobalKeyboard.IsDebugKeyDown(), Package.Load(e.Args[1]));
                    // Stay resident. Detaching frida when the target quits will tear down this process.
                    return;
                }

                // attach "<path-to-package>"
                if (arg0 == "attach")
                {
                    isDebug = true;
                    FridaService.AttachToProcessWithPackage(uint.Parse(e.Args[3]), "", isDebug || GlobalKeyboard.IsDebugKeyDown(), Package.Load(e.Args[1]));
                    // Stay resident. Detaching frida when the target quits will tear down this process.
                    return;
                }

                // <DeploymentAction> "<path-to-package>"
                foreach (PackageDeploymentService.DeploymentAction operation in Enum.GetValues(typeof(PackageDeploymentService.DeploymentAction)))
                {
                    if (operation.ToString().ToUpper() == e.Args[0].ToUpper())
                    {
                        PackageDeploymentService.DeployPackageElevated(Package.Load(e.Args[1]), operation);
                        Environment.Exit(0);
                    }
                }

                if (arg0 == "/register")
                {
                    // re-register appx apps, since the registration goes away after logout.
                    foreach (var pkg in PackageStoreService.Enumerate())
                    {
                        if (!pkg.IsExe)
                        {
                            PackageDeploymentService.DeployPackageUnElevated(pkg, PackageDeploymentService.DeploymentAction.Install_Package);
                        }
                    }
                    return;
                }

                // Default to filetype association launch for package
                // <path-to-package>
                new InstallWindow(e.Args[0]).Show();
            }
            else
            {
                // Package Manager UI
                new MainWindow().Show();
            }
        }
Ejemplo n.º 3
0
        private void UninstallPackageButton_Click(object sender, RoutedEventArgs e)
        {
            var package = (Package)((Button)sender).DataContext;

            if (PackageDeploymentService.DeployPackageUnElevated(package, PackageDeploymentService.DeploymentAction.Remove_Package))
            {
                Packages.Remove(package);
                DataContext = null;
                DataContext = this;
            }
        }