-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathIAssemblyFactory.cs
More file actions
54 lines (48 loc) · 2.47 KB
/
Copy pathIAssemblyFactory.cs
File metadata and controls
54 lines (48 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Threading.Tasks;
using Process.NET.Assembly.Assemblers;
using Process.NET.Memory;
namespace Process.NET.Assembly
{
public interface IAssemblyFactory : IDisposable
{
IAssembler Assembler { get; set; }
IProcess Process { get; }
AssemblyTransaction BeginTransaction(bool autoExecute = true);
AssemblyTransaction BeginTransaction(IntPtr address, bool autoExecute = true);
IntPtr Execute(IntPtr address);
IntPtr Execute(IntPtr address, dynamic parameter);
IntPtr Execute(IntPtr address, Native.Types.CallingConventions callingConvention, params dynamic[] parameters);
T Execute<T>(IntPtr address);
T Execute<T>(IntPtr address, dynamic parameter);
T Execute<T>(IntPtr address, Native.Types.CallingConventions callingConvention, params dynamic[] parameters);
Task<IntPtr> ExecuteAsync(IntPtr address);
Task<IntPtr> ExecuteAsync(IntPtr address, dynamic parameter);
Task<IntPtr> ExecuteAsync(IntPtr address, Native.Types.CallingConventions callingConvention,
params dynamic[] parameters);
Task<T> ExecuteAsync<T>(IntPtr address);
Task<T> ExecuteAsync<T>(IntPtr address, dynamic parameter);
Task<T> ExecuteAsync<T>(IntPtr address, Native.Types.CallingConventions callingConvention,
params dynamic[] parameters);
IAllocatedMemory Inject(string[] asm);
IAllocatedMemory Inject(string asm);
void Inject(string[] asm, IntPtr address);
void Inject(string asm, IntPtr address);
IntPtr InjectAndExecute(string[] asm);
IntPtr InjectAndExecute(string asm);
IntPtr InjectAndExecute(string[] asm, IntPtr address);
IntPtr InjectAndExecute(string asm, IntPtr address);
T InjectAndExecute<T>(string[] asm);
T InjectAndExecute<T>(string asm);
T InjectAndExecute<T>(string[] asm, IntPtr address);
T InjectAndExecute<T>(string asm, IntPtr address);
Task<IntPtr> InjectAndExecuteAsync(string[] asm);
Task<IntPtr> InjectAndExecuteAsync(string asm);
Task<IntPtr> InjectAndExecuteAsync(string[] asm, IntPtr address);
Task<IntPtr> InjectAndExecuteAsync(string asm, IntPtr address);
Task<T> InjectAndExecuteAsync<T>(string[] asm);
Task<T> InjectAndExecuteAsync<T>(string asm);
Task<T> InjectAndExecuteAsync<T>(string[] asm, IntPtr address);
Task<T> InjectAndExecuteAsync<T>(string asm, IntPtr address);
}
}