コード例 #1
0
        protected override IEnumerator InnerExecute()
        {
            if (HelpOrUnknownParameters(true))
            {
                yield break;
            }

            ManuallyFinished = true;

            ProgramParameter.Param param;
            if (Parameters.ContainParam("s"))
            {
                ProgramUtil.ShowDevices();

                FinishExecution();
                yield break;
            }

            if (Parameters.TryGetParam("c", out param) || Parameters.TryGetParam("", out param))
            {
                var    deviceId = param.Value;
                Device device;
                if (!Alias.Devices.GetDeviceById(deviceId.GetHashCode(), out device))
                {
                    Alias.Term.ShowText(TextBuilder.WarningText("Device not found."));

                    FinishExecution();
                }
                else
                {
                    yield return(device.TryAccess((b, device1) =>
                    {
                        if (b)
                        {
                            Alias.Term.ShowText(
                                TextBuilder.MessageText(string.Format("Access granted. You are now on {0}.",
                                                                      device1.Id)));
                            Alias.Devices.ChangeCurrentDevice(device1);
                        }
                        else
                        {
                            Alias.Term.ShowText(TextBuilder.ErrorText("Access denied."));
                        }

                        FinishExecution();
                    }));
                }

                yield break;
            }

            ShowHelp();

            FinishExecution();
        }
コード例 #2
0
ファイル: Exploit.cs プロジェクト: temdisponivel/hash_17.v1
 private void ListTargets()
 {
     ProgramUtil.ShowDevices();
 }