示例#1
0
 public InjectingForm(ProcessInfo process)
 {
     this.process = process;
     InitializeComponent();
     Text = TitleComposer.Compose(true, "Injector", process.Name, null, $"ID={process.Id}");
     cmbCLRVersion.SelectedIndex = 0;
 }
示例#2
0
 public FunctionsForm(uint processId, nuint moduleHandle)
 {
     InitializeComponent();
     Utils.ScaleByDpi(this);
     process = NativeProcess.Open(processId);
     if (process.IsInvalid)
     {
         throw new InvalidOperationException();
     }
     module = process.UnsafeGetModule((void *)moduleHandle);
     Text   = TitleComposer.Compose(true, "Export Functions", module.Name, null);
     Utils.EnableDoubleBuffer(lvwFunctions);
     lvwFunctions.ListViewItemSorter = new ListViewItemSorter(lvwFunctions, new[] { TypeCode.String, TypeCode.UInt64, TypeCode.Int16 })
     {
         AllowHexLeading = true
     };
     RefreshFunctionList();
 }
示例#3
0
    public static string Compose(bool obfuscate, string title, string?subtitle, string?version, params string?[]?annotations)
    {
        var titleManager = new TitleComposer {
            Title    = title,
            Subtitle = subtitle,
            Version  = version
        };

        if (annotations is not null)
        {
            for (int i = 0; i < annotations.Length; i++)
            {
                if (!string.IsNullOrEmpty(annotations[i]))
                {
                    titleManager.Annotations.Add(i.ToString(), annotations[i]);
                }
            }
        }
        return(titleManager.Compose(obfuscate));
    }