Maschell
6a6a41bf1d
Outsource the function patching to the FunctionPatcherModule and DynLoadPatchModule
2020-06-06 22:14:26 +02:00
Maschell
b46639975e
Adopt the hook-call of WUMS_HOOK_INIT to provide a pointer to the module_information_t struct
2020-06-06 22:12:18 +02:00
Maschell
3f6f956b70
Move module defines into WUMS
2020-06-06 17:02:31 +02:00
Maschell
10d74d9f6d
Adopt to changes of WUMS. The main() of modules are now called only once, but the WUMS_HOOK_APPLICATION_STARTS hook is called on every application start.
...
The .bss section is not cleared anymore, modules will always considered running in the background (and not ending when the application end)
For this to work we need to force the init of the kernel + memorymapping module to be done in the right order.
2020-06-03 19:41:05 +02:00
Maschell
62dd3cc0c5
Add support for calling hooks of a single module
2020-06-03 19:37:32 +02:00
Maschell
94d40374f9
Fix calling the hooks
2020-06-03 19:36:16 +02:00
Maschell
eac22b0583
relocator: Fix location of Init-Hook call
2020-06-01 18:43:58 +02:00
Maschell
2442bb46c5
Fix several compiler warnings
2020-06-01 16:41:46 +02:00
Maschell
985691e608
relocator: formatting
2020-06-01 16:38:13 +02:00
Maschell
29c90bc943
relocator: Fix KiIsEffectiveRangeValid to return a boolean.
2020-06-01 16:36:00 +02:00
Maschell
40359e1211
relocator: Save ordered list of modules based on dependencies, move hook calling into a new file
2020-06-01 16:35:34 +02:00
Maschell
3b94c82ed2
relocator: add missing KiPhysicalToEffectiveUncached
address
2020-05-31 02:25:37 +02:00
Maschell
0225c49e3a
reloactor: Add KiIsEffectiveRangeValid patch
2020-05-31 02:25:07 +02:00
Maschell
6695815a6e
relocator: reduce number of warning in the logs by using our memory mapping test before the real one
2020-05-31 02:24:18 +02:00
Maschell
9809b1b48d
relocator: Fix compling
2020-05-31 02:23:31 +02:00
Maschell
82dc811f42
relocator: Patch the kernel to allow usage of our custom memory mapping
2020-05-30 22:02:21 +02:00
Maschell
166ecb6bda
relocator: Replace the malloc/free function of modules with the ones from the memory_mapping module (but not for the memory_mapping module itself and only after the inital setup)
2020-05-30 22:01:55 +02:00
Maschell
ce14fc8a6e
relocator: Make sure to call the memory_mapping main() function at first
2020-05-30 22:00:17 +02:00
Maschell
8d46cf5303
relocator: Save the address of the PhysicalToEffective + EffectiveToPhysical function from the memory module is present.
2020-05-30 21:59:42 +02:00
Maschell
f6031a0ef0
relocator: Add initial support for kernel function patches
2020-05-30 21:57:20 +02:00
Maschell
74b3394180
relocator: remove logs when using a custom findexport
2020-05-30 21:56:23 +02:00
Maschell
e925f0bdc6
relocator: Fix the logging when patching functions
2020-05-30 21:55:47 +02:00
Maschell
a3310579b8
Call module init hooks
2020-05-29 19:27:30 +02:00
Maschell
28926f6a9b
Fix flushing the cache are doing the relocations
2020-05-29 18:26:19 +02:00
Maschell
6cb4f4e358
Add initial support for storing and loadings hooks of modules (but not calling them)
2020-05-29 17:36:10 +02:00
Maschell
02441dab81
relocator: Add missing ExportData loading for ModuleData in persistence
2020-05-29 17:31:53 +02:00
Maschell
c52592c016
relocator: Remove unused ModuleDataPersistence::saveModuleData function
2020-05-29 17:30:44 +02:00
Maschell
cd3065b9e5
ModuleDataPersistence: Add missing export name loading
2020-05-29 17:30:10 +02:00
Maschell
c6c12798ea
Fix loading ModuleData from persistence
2020-05-29 17:29:17 +02:00
Maschell
fa68c980af
Fix support for loading multiple modules
2020-05-28 21:45:44 +02:00
Maschell
b9064883a2
OSFatal on failed find export
2020-05-28 20:26:02 +02:00
Maschell
db3fe907ef
Change way of detecting relocations of imports
2020-05-28 20:17:28 +02:00
Maschell
51fc349237
Add support for WUMS, support for handling and resolving exports
2020-05-17 21:14:27 +02:00
Maschell
2ee3011ae8
Formatting
2020-05-17 19:05:51 +02:00
Maschell
373579cd6f
Inital support for patching the OSDynload_Acquire and OSDynload_FindExport
2020-05-17 13:14:19 +02:00
Maschell
ee045acdc8
Save information about sections of a module
2020-05-17 13:13:24 +02:00
Maschell
b526acbded
Allocate everything on the stack instead of the heap
2020-05-17 13:11:52 +02:00
Maschell
d36ad9bf3d
Change address/endAddress in ModuleData to startAddress/endAddress
2020-05-03 00:06:11 +02:00
Maschell
48b5f853e3
Add the size and address to the ModuleData
2020-04-29 12:35:40 +02:00
Maschell
ebf09003d3
[relocator] Re-use the header from the SetupPayload and move some files into /utils
2020-04-29 12:35:13 +02:00
Maschell
7fe051d2cf
Added some logging
2020-04-29 12:06:47 +02:00
Maschell
7b8a421d7a
Remove the ../source
entry from the Makefile of the relocator
2020-04-29 12:05:39 +02:00
Maschell
13e31e31f3
Fix a softlock by implementing the memory functions properly
2020-04-29 12:04:33 +02:00
Maschell
06cb0efe34
Fix the address of the module_information_t struct
2020-04-29 11:43:45 +02:00
Maschell
65260dbaa0
Fix logging the wrong filepath
2020-04-29 11:10:41 +02:00
Maschell
7611a54a63
Fix the path for modules
2020-04-28 15:05:45 +02:00
Maschell
9a4068d15b
first commit
2020-04-28 14:43:07 +02:00