diff --git a/Dalamud.Injector/Dalamud.Injector.csproj b/Dalamud.Injector/Dalamud.Injector.csproj index 3d0421dd9..a5001e8e3 100644 --- a/Dalamud.Injector/Dalamud.Injector.csproj +++ b/Dalamud.Injector/Dalamud.Injector.csproj @@ -1,9 +1,7 @@ - AnyCPU - net48 + netcoreapp3.1 8.0 - AnyCPU;x64 Exe @@ -12,24 +10,8 @@ true Portable - - true - 4.7.7.0 - 4.7.7.0 - XIVLauncher addon injection - 4.7.7.0 - - - - - - - - - - - + diff --git a/Dalamud.Injector/Program.cs b/Dalamud.Injector/Program.cs index 6f0e1fa1d..3bbbcf69c 100644 --- a/Dalamud.Injector/Program.cs +++ b/Dalamud.Injector/Program.cs @@ -1,30 +1,8 @@ using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading; -using System.Windows.Forms; -using Dalamud.DiscordBot; -using Dalamud.Game.Chat; -using EasyHook; -using Newtonsoft.Json; namespace Dalamud.Injector { internal static class Program { private static void Main(string[] args) { -#if !DEBUG - AppDomain.CurrentDomain.UnhandledException += delegate(object sender, UnhandledExceptionEventArgs eventArgs) - { - File.WriteAllText("InjectorException.txt", eventArgs.ExceptionObject.ToString()); - - MessageBox.Show("Failed to inject the XIVLauncher in-game addon.\nPlease try restarting your game and your PC.\nIf this keeps happening, please report this error.", "XIVLauncher Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - - Environment.Exit(0); - }; -#endif - var pid = int.Parse(args[0]); Process process = null; @@ -72,6 +50,7 @@ namespace Dalamud.Injector { return; } + Remote RemoteHooking.Inject(process.Id, InjectionOptions.DoNotRequireStrongName, libPath, libPath, info); Console.WriteLine("Injected"); diff --git a/Dalamud.sln b/Dalamud.sln index 43a5b0c8b..92130824c 100644 --- a/Dalamud.sln +++ b/Dalamud.sln @@ -23,6 +23,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Discord.Net.Core", "lib\Dis EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Discord.Net.WebSocket", "lib\Discord.Net\src\Discord.Net.WebSocket\Discord.Net.WebSocket.csproj", "{AACDC15A-56F8-458F-9C73-DE89F60466AE}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lib", "lib", "{E9868930-4223-4D57-8F31-84E580E4B24B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CoreHook", "CoreHook", "{CE78D902-02B5-4C7B-A46A-D44BD2F4C622}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CoreHook", "lib\CoreHook\src\CoreHook\CoreHook.csproj", "{441EE8F0-AD8E-479B-9F68-12D157F080AF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CoreHook.BinaryInjection", "lib\CoreHook\src\CoreHook.BinaryInjection\CoreHook.BinaryInjection.csproj", "{91CB76FC-8E4B-4B4C-B5AD-D681866A2188}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CoreHook.DependencyModel", "lib\CoreHook\src\CoreHook.DependencyModel\CoreHook.DependencyModel.csproj", "{1155DC7F-22F5-4217-A03C-D0E603C27698}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CoreHook.CoreLoad", "lib\CoreHook\src\CoreHook.CoreLoad\CoreHook.CoreLoad.csproj", "{A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CoreHook.IPC", "lib\CoreHook\src\CoreHook.IPC\CoreHook.IPC.csproj", "{B585D1B1-63D8-454E-B76E-F1E0D550DCE7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CoreHook.Memory", "lib\CoreHook\src\CoreHook.Memory\CoreHook.Memory.csproj", "{ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -47,14 +63,14 @@ Global {B92DAB43-2279-4A2C-96E3-D9D5910EDBEA}.Release|x86.Build.0 = Release|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|x64.ActiveCfg = Debug|x64 - {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|x64.Build.0 = Debug|x64 + {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|x64.ActiveCfg = Debug|Any CPU + {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|x64.Build.0 = Debug|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|x86.ActiveCfg = Debug|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Debug|x86.Build.0 = Debug|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|Any CPU.ActiveCfg = Release|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|Any CPU.Build.0 = Release|Any CPU - {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|x64.ActiveCfg = Release|x64 - {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|x64.Build.0 = Release|x64 + {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|x64.ActiveCfg = Release|Any CPU + {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|x64.Build.0 = Release|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|x86.ActiveCfg = Release|Any CPU {5B832F73-5F54-4ADC-870F-D0095EF72C9A}.Release|x86.Build.0 = Release|Any CPU {C0E7E797-4FBF-4F46-BC57-463F3719BA7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -129,6 +145,78 @@ Global {AACDC15A-56F8-458F-9C73-DE89F60466AE}.Release|x64.Build.0 = Release|Any CPU {AACDC15A-56F8-458F-9C73-DE89F60466AE}.Release|x86.ActiveCfg = Release|Any CPU {AACDC15A-56F8-458F-9C73-DE89F60466AE}.Release|x86.Build.0 = Release|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Debug|x64.ActiveCfg = Debug|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Debug|x64.Build.0 = Debug|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Debug|x86.ActiveCfg = Debug|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Debug|x86.Build.0 = Debug|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Release|Any CPU.Build.0 = Release|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Release|x64.ActiveCfg = Release|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Release|x64.Build.0 = Release|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Release|x86.ActiveCfg = Release|Any CPU + {441EE8F0-AD8E-479B-9F68-12D157F080AF}.Release|x86.Build.0 = Release|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Debug|x64.ActiveCfg = Debug|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Debug|x64.Build.0 = Debug|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Debug|x86.ActiveCfg = Debug|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Debug|x86.Build.0 = Debug|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Release|Any CPU.Build.0 = Release|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Release|x64.ActiveCfg = Release|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Release|x64.Build.0 = Release|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Release|x86.ActiveCfg = Release|Any CPU + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188}.Release|x86.Build.0 = Release|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Debug|x64.ActiveCfg = Debug|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Debug|x64.Build.0 = Debug|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Debug|x86.ActiveCfg = Debug|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Debug|x86.Build.0 = Debug|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Release|Any CPU.Build.0 = Release|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Release|x64.ActiveCfg = Release|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Release|x64.Build.0 = Release|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Release|x86.ActiveCfg = Release|Any CPU + {1155DC7F-22F5-4217-A03C-D0E603C27698}.Release|x86.Build.0 = Release|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Debug|x64.ActiveCfg = Debug|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Debug|x64.Build.0 = Debug|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Debug|x86.ActiveCfg = Debug|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Debug|x86.Build.0 = Debug|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Release|Any CPU.Build.0 = Release|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Release|x64.ActiveCfg = Release|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Release|x64.Build.0 = Release|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Release|x86.ActiveCfg = Release|Any CPU + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8}.Release|x86.Build.0 = Release|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Debug|x64.ActiveCfg = Debug|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Debug|x64.Build.0 = Debug|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Debug|x86.ActiveCfg = Debug|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Debug|x86.Build.0 = Debug|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Release|Any CPU.Build.0 = Release|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Release|x64.ActiveCfg = Release|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Release|x64.Build.0 = Release|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Release|x86.ActiveCfg = Release|Any CPU + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7}.Release|x86.Build.0 = Release|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Debug|x64.ActiveCfg = Debug|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Debug|x64.Build.0 = Debug|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Debug|x86.ActiveCfg = Debug|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Debug|x86.Build.0 = Debug|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Release|Any CPU.Build.0 = Release|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Release|x64.ActiveCfg = Release|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Release|x64.Build.0 = Release|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Release|x86.ActiveCfg = Release|Any CPU + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -137,9 +225,18 @@ Global {C0E7E797-4FBF-4F46-BC57-463F3719BA7A} = {E15BDA6D-E881-4482-94BA-BE5527E917FF} {85480198-8711-4355-830E-72FD794AD3F6} = {E15BDA6D-E881-4482-94BA-BE5527E917FF} {0483026E-C6CE-4B1A-AA68-46544C08140B} = {E15BDA6D-E881-4482-94BA-BE5527E917FF} + {E15BDA6D-E881-4482-94BA-BE5527E917FF} = {E9868930-4223-4D57-8F31-84E580E4B24B} + {E1F3D3F5-7820-4A62-A16A-53260375A781} = {E9868930-4223-4D57-8F31-84E580E4B24B} {10E4E5CB-F51E-42EC-B98C-FBCE839D4624} = {E1F3D3F5-7820-4A62-A16A-53260375A781} {B46F33B5-9702-434E-A92C-8DE5CF7164E3} = {E1F3D3F5-7820-4A62-A16A-53260375A781} {AACDC15A-56F8-458F-9C73-DE89F60466AE} = {E1F3D3F5-7820-4A62-A16A-53260375A781} + {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} = {E9868930-4223-4D57-8F31-84E580E4B24B} + {441EE8F0-AD8E-479B-9F68-12D157F080AF} = {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} + {91CB76FC-8E4B-4B4C-B5AD-D681866A2188} = {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} + {1155DC7F-22F5-4217-A03C-D0E603C27698} = {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} + {A1BC1DFD-AAE0-4221-A972-46CEBE4FCBF8} = {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} + {B585D1B1-63D8-454E-B76E-F1E0D550DCE7} = {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} + {ED4FFE13-5F83-42B9-8847-E7C4D7A988E8} = {CE78D902-02B5-4C7B-A46A-D44BD2F4C622} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {79B65AC9-C940-410E-AB61-7EA7E12C7599}