Ruptura Progress Report - February 2024 #92
Pinned
alexrp
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is part of a series of progress reports that are posted with a monthly-ish cadence when there's notable progress made on the project.
v2.1.7 Release
v2.1.7 was a feature release that enhanced Vezel.Ruptura.Injection to work when running under Wine. In particular:
kernel32.dll
exports in the current process. Both Windows and Wine load 'special' system libraries (likentdll.dll
andkernel32.dll
) at the same address in all processes, making this safe (even though it is technically an undocumented implementation detail).PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE
, but under Wine, we also needPROCESS_CREATE_THREAD
(forCreateRemoteThread
) andPROCESS_QUERY_LIMITED_INFORMATION
(forIsWow64Process2
).With these changes, all samples now work under Wine (though with some minor edits due to
conhost.exe
not working like the Windows version).Additionally, Vezel.Ruptura.Hosting was changed to generate the entry point type as
static partial class Program
. This allows users to extend the type if necessary, e.g. to provide aBuildAvaloniaApp()
method for Avalonia.Future Plans
We decided to pursue a different approach to adding 32-bit support (which has been blocked for a while due to a Zig bug). As a result, the theme of v3.0 has changed to being about improvements to the injection and hosting story:
libnethost.lib
#98v4.0 has also changed accordingly:
VirtualFunctionTableHook
class in Vezel.Ruptura.Memory #31FunctionHook
#33FunctionHook
should support using an absolute jump patch if the user requests it #34CodeHook
class for mid-function hooking #52net10.0
#102Beta Was this translation helpful? Give feedback.
All reactions