├── UnityInspector.GUI
├── icon.ico
├── packages.config
├── App.config
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── Models
│ ├── MonoProcess.cs
│ ├── EnumMember.cs
│ ├── Vector2.cs
│ ├── Vector3.cs
│ ├── ArrayMember.cs
│ ├── Rect.cs
│ ├── Component.cs
│ ├── GameObject.cs
│ ├── ObjectMember.cs
│ └── CommunicatorClient.cs
├── App.xaml.cs
├── Converters
│ ├── BooleanToVisibilityConverter.cs
│ ├── ICollectionToBooleanConverter.cs
│ ├── BooleanConverter.cs
│ └── ObjectMemberTemplateSelector.cs
├── ViewModels
│ ├── ViewModel.cs
│ ├── RelayCommand.cs
│ ├── ObjectMemberViewModel.cs
│ ├── NumericTextBox.cs
│ ├── ArrayMemberViewModel.cs
│ ├── ComponentViewModel.cs
│ ├── GameObjectViewModel.cs
│ └── MainWindowViewModel.cs
├── App.xaml
├── MainWindow.xaml.cs
├── Utils.cs
├── UnityInspector.GUI.csproj
├── MainWindow.xaml
└── UnityStyle.xaml
├── SharpMonoInjector
├── Properties
│ ├── Settings.settings
│ └── Settings.Designer.cs
├── MonoImageOpenStatus.cs
├── ExportedFunction.cs
├── InjectorException.cs
├── SharpMonoInjector.csproj
├── Assembler.cs
├── Memory.cs
├── ProcessUtils.cs
├── Native.cs
└── Injector.cs
├── LICENSE
├── README.md
├── UnityInspector.Communicator
├── UnityInspector.Communicator.csproj
└── Communicator.cs
├── .gitattributes
├── UnityInspector.sln
├── UnityInspector.Injector
├── UnityInspector.Injector.csproj
├── CommunicatorServer.cs
└── Injector.cs
└── .gitignore
/UnityInspector.GUI/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mohelm97/UnityInspector/HEAD/UnityInspector.GUI/icon.ico
--------------------------------------------------------------------------------
/UnityInspector.GUI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/SharpMonoInjector/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/SharpMonoInjector/MonoImageOpenStatus.cs:
--------------------------------------------------------------------------------
1 | namespace SharpMonoInjector
2 | {
3 | public enum MonoImageOpenStatus
4 | {
5 | MONO_IMAGE_OK,
6 | MONO_IMAGE_ERROR_ERRNO,
7 | MONO_IMAGE_MISSING_ASSEMBLYREF,
8 | MONO_IMAGE_IMAGE_INVALID
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/Models/MonoProcess.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace UnityInspector.GUI.ViewModels
4 | {
5 | public class MonoProcess
6 | {
7 | public IntPtr MonoModule { get; set; }
8 |
9 | public string Name { get; set; }
10 |
11 | public int Id { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/SharpMonoInjector/ExportedFunction.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace SharpMonoInjector
4 | {
5 | public struct ExportedFunction
6 | {
7 | public string Name;
8 |
9 | public IntPtr Address;
10 |
11 | public ExportedFunction(string name, IntPtr address)
12 | {
13 | Name = name;
14 | Address = address;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SharpMonoInjector/InjectorException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace SharpMonoInjector
4 | {
5 | public class InjectorException : Exception
6 | {
7 | public InjectorException(string message) : base(message)
8 | {
9 | }
10 |
11 | public InjectorException(string message, Exception innerException) : base(message, innerException)
12 | {
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Configuration;
4 | using System.Data;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 |
9 | namespace UnityInspector.GUI
10 | {
11 | ///
12 | /// Interaction logic for App.xaml
13 | ///
14 | public partial class App : Application
15 | {
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/Converters/BooleanToVisibilityConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows;
7 |
8 | namespace UnityInspector.GUI.Converters
9 | {
10 | public sealed class BooleanToVisibilityConverter : BooleanConverter
11 | {
12 | public BooleanToVisibilityConverter() :
13 | base(Visibility.Visible, Visibility.Collapsed)
14 | { }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/ViewModels/ViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace UnityInspector.GUI.ViewModels
9 | {
10 | public abstract class ViewModel : INotifyPropertyChanged
11 | {
12 | public event PropertyChangedEventHandler PropertyChanged;
13 | protected void RaisePropertyChanged(string name)
14 | {
15 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/Converters/ICollectionToBooleanConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Globalization;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows.Data;
9 |
10 | namespace UnityInspector.GUI.Converters
11 | {
12 | class ICollectionToBooleanConverter : IValueConverter
13 | {
14 | public object Convert (object value, Type targetType, object parameter, CultureInfo culture)
15 | {
16 | if (value == null) return false;
17 | return ((ICollection) value).Count > 0;
18 | }
19 |
20 | public object ConvertBack (object value, Type targetType, object parameter, CultureInfo culture)
21 | {
22 | throw new NotImplementedException ();
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/Models/EnumMember.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace UnityInspector.GUI.Models
8 | {
9 | class EnumMember
10 | {
11 | private string _value;
12 |
13 | public ObjectMember objectMember;
14 | public string[] Values { get; }
15 | public string Value {
16 | get
17 | {
18 | return _value;
19 | }
20 | set
21 | {
22 | _value = value;
23 | if (objectMember != null)
24 | objectMember.UpdateValue ();
25 | }
26 | }
27 |
28 | public EnumMember (string[] values, string value)
29 | {
30 | Values = values;
31 | _value = value;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/UnityInspector.GUI/ViewModels/RelayCommand.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows.Input;
7 |
8 | namespace UnityInspector.GUI.ViewModels
9 | {
10 | public class RelayCommand : ICommand
11 | {
12 | public event EventHandler CanExecuteChanged;
13 |
14 | private readonly Action