Commit Graph

72 Commits

Author SHA1 Message Date
Maschell
0177dfd604 Add callDeinitHooks and RestorePatches to the PlugingManagement 2020-08-12 18:30:21 +02:00
Maschell
d983a77f94 Addned functions to load plugin meta information from a path or buffer 2020-08-12 18:30:21 +02:00
Maschell
6117a332b7 Fix logging of std::string 2020-08-12 18:30:21 +02:00
Maschell
5580ea9882 Remove debug logs 2020-08-12 18:30:21 +02:00
Maschell
7514e00d68 Improve logging 2020-08-12 18:30:21 +02:00
Maschell
5d306ba833 Add support for loading a list of plugin data on the next application change 2020-08-12 18:30:21 +02:00
Maschell
54534a9445 Add PluginDataPersistence 2020-08-12 18:30:21 +02:00
Maschell
8350766c40 Add missing copy constructors 2020-08-12 18:30:21 +02:00
Maschell
2c1c356450 Free trampolin data when unloading plugins 2020-08-12 18:30:21 +02:00
Maschell
3aac0a821e Add missing import 2020-08-12 18:30:21 +02:00
Maschell
fddd8842f2 Move global variables into a own file 2020-08-12 18:30:21 +02:00
Maschell
f98c9b9330 Fix warning by not using the c++17 flag on c files 2020-08-12 18:30:21 +02:00
Maschell
be84c8b48f Improve logging 2020-08-12 18:30:21 +02:00
Maschell
d9e57ecc9d Move loadPlugins function to PluginManagement 2020-08-12 18:30:21 +02:00
Maschell
492dcacaad Add a function to unload all plugins from memory in the PluginManagement 2020-08-12 18:30:21 +02:00
Maschell
dd9b32a1f6 Add the PluginHeapHandle as an argument instead of using the global variable 2020-08-12 18:30:21 +02:00
Maschell
cc4b9b4594 Fix calculating the size needed to store the plugins in memory. 2020-08-12 18:30:21 +02:00
Maschell
bbf68181ec Refactor loading plugins 2020-08-12 18:30:21 +02:00
Maschell
8dd161b177 Even more formatting 2020-08-12 18:30:21 +02:00
Maschell
59f361f7de Formatting 2020-08-12 18:30:21 +02:00
Maschell
fae8be334f Save the address of memory allocated on the plugin heap 2020-08-12 18:30:21 +02:00
Maschell
f31da6e1e5 Fix logic behin calling hooks, improve logging when calling hooks. 2020-08-12 18:30:21 +02:00
Maschell
10b118db00 Call the CRT hooks at each application start, not just once. 2020-08-12 18:30:21 +02:00
Maschell
cb6bd93069 Formatting of hooks.cpp, improving logs when a hook is not implemented 2020-08-12 18:30:21 +02:00
Maschell
87fa405af2 Add intial support for function patching via plugins 2020-08-12 18:30:21 +02:00
Maschell
2e0a02f5aa Increase the maximum number of relocations from 500 to 1000. Refactor some code to a "PluginManagement" class. 2020-08-12 18:30:21 +02:00
Maschell
1b047fb30c Calling FINI_WUT_DEVOPTAB at the end of a application is softlocking.
MEM2 is cleared anyway so this shouldn't be a memory leak. Needs further research
2020-08-12 18:30:21 +02:00
Maschell
9c23f9f315 First iteration of the WUPS-Backend as a .rpx/module for the SetupPayload
- Function replacements are not implemented yet
- Serveral features like the config menu are missing

Still WIP
2020-08-12 18:30:21 +02:00
Maschell
a83d11379e Fix typo 2019-11-19 18:35:07 +01:00
Maschell
fbb6c98314 Add .bss/.sbss clearing 2019-11-18 21:10:11 +01:00
Maschell
69ed56522a Fix some compiler warnings 2019-11-18 11:39:09 +01:00
Maschell
8cd0367514 Add support for new CRT hook, increase the maximum hooks per plugin to 25 2019-11-17 23:05:13 +01:00
Maschell
7d7a668210 Add new IPC function to get information for a plugin by filepath 2019-11-16 15:14:17 +01:00
Maschell
532d6f8454 Add new IPC function 2019-11-16 15:13:52 +01:00
Maschell
aed66958e9 Serverval small stuff 2019-11-16 15:13:16 +01:00
Maschell
5cb55e3081 Increase the maximum function name length 2019-11-16 15:12:51 +01:00
Maschell
8b6f465892 Adapt to new WUPS hooks. 2019-11-16 15:12:30 +01:00
Maschell
73640c01f5 Update ipc interface, some functions are not static in the PluginLoader 2019-11-16 15:04:04 +01:00
Maschell
82f5f6eb05 Remove some debug messages 2019-11-16 15:02:53 +01:00
Maschell
d305958ea4 Add new functions to the dynamic_libs 2019-11-16 15:01:36 +01:00
Maschell
6b6038a004 Add support for patching functions at a physical address 2019-11-16 15:01:01 +01:00
orboditilt
614f75364b Fix the filename. 2019-08-18 22:39:09 +02:00
orboditilt
2edccb1b68 Add a README 2019-08-18 22:38:48 +02:00
orboditilt
b7aa6401fe Just the backend of the plugin system. 2019-08-15 10:45:18 +02:00
Maschell
0c0f9f36e2 Add missing libs for linking to fix compiling 2019-05-14 22:29:28 +02:00
Maschell
2e51b9918d Update Readme: bulding instructions 2019-05-14 22:29:02 +02:00
Maschell
284912c3ea Stub libntfs usage. 2019-05-14 22:28:30 +02:00
Maschell
597e98d60a Fix the path to the portlibs.zip 2019-03-01 19:32:02 +01:00
Maschell
16fb3a7080 Formatting 2019-03-01 19:31:45 +01:00
Maschell
9442c5d62a Not log every hook call anymore 2019-03-01 19:27:01 +01:00