Commit Graph

29 Commits

Author SHA1 Message Date
Maschell
1c7a6ac333 Add support for function patcher struct version 3 2023-01-07 23:55:23 +01:00
Maschell
5adf6c3688 Implement v2 of the FunctionPatcherModule API 2023-01-06 14:31:14 +01:00
Maschell
b1320f0c8d Improve logging 2023-01-06 14:31:14 +01:00
Maschell
8d853d6320 Simplify reading the existing instruction when patching a function 2023-01-06 14:31:14 +01:00
Maschell
7703eac375 Fix restoring "dynamic" functions. Instead of predicting an unload of a RPL we now check if the replaced instruction has been changed. 2023-01-02 15:44:27 +01:00
Maschell
182c6d2f92 Check if the function is already patched before updating the addresses 2023-01-02 15:44:27 +01:00
Maschell
f95f00e6f2 Rewrite of Function Patcher to match libfunctionpatcher 2022-05-08 19:26:06 +02:00
Maschell
e0f745f0c9 Improve logging to include module name 2022-05-08 19:26:06 +02:00
Maschell
a8b4f7188b Format the code via clang-format 2022-02-03 20:57:25 +01:00
Maschell
2e5e3d1d2f Fix dynamic_function detection 2022-01-31 16:12:51 +01:00
Maschell
f5f9c5f8ff Only do logging when built with make DEBUG=1 2022-01-12 23:07:09 +01:00
Maschell
4553a06f9b Formatting and cleanup 2021-09-24 14:49:20 +02:00
Maschell
551144ddbd Do an OSFatal if the getting the PA from EA fails 2021-09-23 23:05:15 +02:00
Maschell
dd3709ad48 Fix PA fallback calcuation 2021-09-23 23:03:48 +02:00
Maschell
57a932888a Reduce the amount of logged messages 2021-03-13 14:03:07 +01:00
Maschell
978678675c Add FunctionPatcherRestoreDynamicFunctions 2020-12-28 14:45:28 +01:00
Maschell
00e02a33e1 Only patch a function if the module is already loaded 2020-12-26 14:49:48 +01:00
Maschell
73947c0a13 Fix restoring functions patches for other proccesses 2020-08-09 18:02:07 +02:00
Maschell
43964558f2 Format the code and improve logging. 2020-06-13 16:25:39 +02:00
Maschell
1383ca2d8e Add support for "per process"-patches 2020-06-13 13:59:29 +02:00
Maschell
dcff18577f Check if we exceed the space we have available 2020-06-13 13:59:01 +02:00
Maschell
d43d097fd9 The function type is now stored as a enum 2020-06-13 13:58:34 +02:00
Maschell
6c18efef54 Check function patcher data struct before patching a function 2020-06-13 13:17:46 +02:00
Maschell
cb8e963f71 Use a ba instead of a trampoline if possible 2020-06-13 13:14:00 +02:00
Maschell
b817663d47 Simplify the cache flushing 2020-06-13 13:10:17 +02:00
Maschell
64a2b952ba Add FunctionPatcherRestoreFunctions 2020-06-12 21:10:59 +02:00
Maschell
47b65df686 Remove debug logs 2020-06-07 00:34:16 +02:00
Maschell
580092d327 Fix compiling 2020-06-07 00:34:07 +02:00
Maschell
edcf2c69b1 initial commit 2020-06-06 22:15:47 +02:00