Commit Graph

2582 Commits

Author SHA1 Message Date
Maurice Heumann
e7abe50f00 module manager: safer ldr init block setup (#693) 2026-01-07 07:50:23 +01:00
redthing1
4e5ba450c1 module manager: safer ldr init block setup 2026-01-06 17:57:34 -08:00
momo5502
ff99a1cb56 Log writes to the import table 2026-01-06 14:41:34 +01:00
Maurice Heumann
7c912146fb Cleanup common header includes (#690) 2026-01-06 11:46:07 +01:00
momo5502
45ac1fc32f Cleanup headers 2026-01-06 11:29:39 +01:00
Maurice Heumann
5d81d8bda9 Implement NtQueryMultipleValueKey (#684)
This PR implements `NtQueryMultipleValueKey` that is used in calls like
`RegQueryMultipleValues`.
2026-01-06 10:38:10 +01:00
Maurice Heumann
e46e8dcf7a more object syscalls (#687) 2026-01-06 10:30:47 +01:00
Maurice Heumann
1a613be667 ports: add noop port stub for WER (#689) 2026-01-06 10:22:49 +01:00
Maurice Heumann
d3af3c781c Add support for user_object/user_handle_table (#677)
Fixes #641

This PR is my attempt to add support for user32 objects and the user32
handle table. I also added a test, but as expected, it fails on Windows
2022. I’ll try to fix that another day, but feel free to review the code
😄
2026-01-06 10:21:58 +01:00
redthing1
17d1e23b60 syscalls.cpp: clang format 2026-01-05 23:15:02 -08:00
redthing1
1be74c4cde ports: add noop port stub for WER 2026-01-05 23:12:53 -08:00
redthing1
51034297bf object syscalls: wire up the new syscalls 2026-01-05 23:08:21 -08:00
redthing1
a2a119aec2 object syscalls: implement NtCompareObjects 2026-01-05 23:08:18 -08:00
redthing1
6f8dca6614 object syscalls: implement NtWaitForMultipleObjects32 2026-01-05 23:08:14 -08:00
redthing1
cafa0ebd0b NTSTATUS: add STATUS_NOT_SAME_OBJECT 2026-01-05 23:08:05 -08:00
Igor Pissolati
90b38b3bff Fix user_handle_table initialization 2026-01-05 09:01:05 -03:00
Igor Pissolati
5d59700ec7 Remove parse_number 2026-01-05 09:00:45 -03:00
ssvine
37c2184bfc Implement NtQueryMultipleValueKey 2026-01-05 13:11:35 +03:00
Maurice Heumann
e0c386abbb Fix: update page protection when re-committing already committed memory regions (#683) 2026-01-05 08:18:20 +01:00
brian
565b499350 Fix: update page protection when re-committing already committed memory regions 2026-01-05 14:39:28 +08:00
Igor Pissolati
d51f890197 Use vector instead of large array 2026-01-04 22:51:19 -03:00
Maurice Heumann
dd56acc2b4 Set PEB64/32 HeapSegmentReserve & HeapSegmentCommit from Executable. (#682) 2026-01-04 22:33:35 +01:00
ahm3dgg
3e7813b269 Merge branch 'patch' of github.com:ahm3dgg/sogen into patch 2026-01-04 21:38:11 +02:00
ahm3dgg
cf2dacb304 Fixed Types for Heap Related Fields in PEB64 2026-01-04 21:37:13 +02:00
Igor Pissolati
7112d619b4 Fix clang tidy 2026-01-04 16:28:30 -03:00
ahmed
ce73ef2b6c Merge branch 'momo5502:main' into patch 2026-01-04 21:06:46 +02:00
Igor Pissolati
5302900a9d Fix for older Windows builds 2026-01-04 16:01:13 -03:00
ahm3dgg
e17204552f fix warning 2026-01-04 20:59:02 +02:00
Maurice Heumann
f218ec5d1d Fix virtual memory semantics and refactor region policy (#681) 2026-01-04 19:46:14 +01:00
ahm3dgg
a3d019c759 Set PEB64/32 HeapSegmentReserve & HeapSegmentCommit from Executable. 2026-01-04 20:24:22 +02:00
Brian Wynn
2b0277cf6b Update src/windows-emulator/syscalls/section.cpp
Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>
2026-01-04 23:14:35 +08:00
Maurice Heumann
ec0d626a96 Added additional vmp compatibility (#679) 2026-01-04 15:01:35 +01:00
thejanit0r
3b68260921 Fixed build errors 2026-01-04 14:53:53 +01:00
thejanit0r
f524a8cc38 Fixed clang-tidy errors 2026-01-04 14:47:08 +01:00
thejanit0r
497a4e98cb Fixed formatting 2026-01-04 13:35:54 +01:00
Maurice Heumann
e396192fbb Added support for NtCreateDirectoryObject (#678) 2026-01-04 13:12:04 +01:00
thejanit0r
0688a2cb98 Fixed formatting 2026-01-04 13:37:23 +01:00
brian
600d12f983 Fix clang tidy errors 2026-01-04 18:31:15 +08:00
brian
ea1bbb8b82 Add MEM_IMAGE define 2026-01-04 18:21:07 +08:00
brian
6943b4369a Fix virtual memory semantics and refactor region policy 2026-01-04 18:01:24 +08:00
thejanit0r
29b8ec4072 Added additional vmp compatibility 2026-01-04 09:33:54 +01:00
thejanit0r
b00f40aba7 Added support for NtCreateDirectoryObject 2026-01-04 04:31:49 +01:00
Igor Pissolati
de491ade0e Add support for user_object/user_handle_table 2026-01-02 19:46:04 -03:00
Maurice Heumann
0de53515ed Fix waiting (#675)
This PR fixes `INFINITE` waiting (`SleepEx`, `WaitForSingleObject`,
etc). Currently `INFINITE` is not infinite but "at this moment" (waiting
point in time == `clock.steady_now()`).
2026-01-02 22:14:02 +01:00
Maurice Heumann
818a4a4b88 Support SystemEmulationProcessorInformation (#672)
This PR implements `SystemEmulationProcessorInformation`. It is used,
for example, in 32-bit `ole32.dll`.
2026-01-02 22:10:52 +01:00
Maurice Heumann
f6f87bf23d Refactor emulator_object (#673)
This PR refactors `emulator_object` to make future support easier.
2026-01-02 22:09:54 +01:00
ssvine
7724b0d416 Refactor emulator_object 2026-01-02 19:03:54 +03:00
Maurice Heumann
72a5bc0a42 Fix utf8 output on Windows (#676)
Printing `UTF-8` text on Windows does not work. This PR fixes that by
setting console output code page to `UTF-8`.
2026-01-02 16:52:58 +01:00
Maurice Heumann
a067e70f2f Fix getting subkey with trailing or duplacate backslashes (#674)
This PR fixes opening a registry key with trailing or repeating
backslashes.

For example, the following code should open the key without any error:

`RegOpenKeyExW(HKEY_LOCAL_MACHINE,
LR"(SOFTWARE\Microsoft\\Windows\CurrentVersion\\Run\)", 0, KEY_READ,
&hKey);`
2026-01-02 16:52:12 +01:00
ssvine
9bdb5c9562 Fix INFINITE time waiting 2026-01-02 18:33:27 +03:00