@@ -62,6 +62,13 @@ internal PluginForm(PluginManager pluginManager, NativeHelper nativeHelper)
62
62
FillComboBox ( writeRemoteMemoryComboBox , NativeHelper . RequestFunction . WriteRemoteMemory ) ;
63
63
FillComboBox ( disassembleRemoteCodeComboBox , NativeHelper . RequestFunction . DisassembleRemoteCode ) ;
64
64
FillComboBox ( controlRemoteProcessComboBox , NativeHelper . RequestFunction . ControlRemoteProcess ) ;
65
+
66
+ setAllComboBox . DisplayMember = nameof ( NativeHelper . MethodInfo . Provider ) ;
67
+ setAllComboBox . DataSource = nativeHelper . MethodRegistry . Values
68
+ . SelectMany ( l => l )
69
+ . Select ( m => m . Provider )
70
+ . Distinct ( )
71
+ . ToList ( ) ;
65
72
}
66
73
67
74
protected override void OnLoad ( EventArgs e )
@@ -100,6 +107,39 @@ private void NativeMethodComboBox_SelectionChangeCommitted(object sender, EventA
100
107
}
101
108
}
102
109
110
+ private void setAllComboBox_SelectionChangeCommitted ( object sender , EventArgs e )
111
+ {
112
+ var provider = setAllComboBox . SelectedItem as string ;
113
+ if ( provider == null )
114
+ {
115
+ return ;
116
+ }
117
+
118
+ foreach ( var cb in new [ ]
119
+ {
120
+ enumerateProcessesComboBox ,
121
+ enumerateRemoteSectionsAndModulesComboBox ,
122
+ isProcessValidComboBox ,
123
+ openRemoteProcessComboBox ,
124
+ closeRemoteProcessComboBox ,
125
+ readRemoteMemoryComboBox ,
126
+ writeRemoteMemoryComboBox ,
127
+ disassembleRemoteCodeComboBox ,
128
+ controlRemoteProcessComboBox
129
+ } )
130
+ {
131
+ var method = cb . Items . OfType < NativeHelper . MethodInfo > ( ) . Where ( m => m . Provider == provider ) . FirstOrDefault ( ) ;
132
+ if ( method != null )
133
+ {
134
+ if ( cb . SelectedItem != method )
135
+ {
136
+ cb . SelectedItem = method ;
137
+ nativeHelper . SetActiveNativeMethod ( method ) ;
138
+ }
139
+ }
140
+ }
141
+ }
142
+
103
143
private void getMoreLinkLabel_LinkClicked ( object sender , LinkLabelLinkClickedEventArgs e )
104
144
{
105
145
Process . Start ( Constants . PluginUrl ) ;
0 commit comments