Commit Graph

1303 Commits

Author SHA1 Message Date
Brian Wynn
7ba5a7b2e4 Revert "module manager: safer ldr init block setup" 2026-01-08 17:37:01 +08:00
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
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
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
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
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
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
ssvine
9bdb5c9562 Fix INFINITE time waiting 2026-01-02 18:33:27 +03:00
ssvine
b9df0682ad Support SystemEmulationProcessorInformation 2026-01-02 18:28:38 +03:00
ssvine
1b2318676d Fix utf8 output on Windows 2026-01-02 17:36:46 +03:00
ssvine
254475e308 Don't read null ptr in NtDelayExecution 2026-01-02 17:36:05 +03:00
ssvine
9de620f713 Fix getting subkey with trailing or duplacate backslashes 2026-01-02 17:35:45 +03:00
Maurice Heumann
452c142463 Build(deps): Bump deps/flatbuffers from a577050 to 8914d06 (#648)
Bumps [deps/flatbuffers](https://github.com/google/flatbuffers) from
`a577050` to `8914d06`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8914d06ab7"><code>8914d06</code></a>
Remove invalid dependency on FLATBUFFERS_GENERATE_HEADERS_SCHEMAS (<a
href="https://redirect.github.com/google/flatbuffers/issues/8834">#8834</a>)</li>
<li><a
href="522f2379a6"><code>522f237</code></a>
Update CODEOWNERS</li>
<li><a
href="7cb0bcb212"><code>7cb0bcb</code></a>
C++ Feature: Mutable union getters (<a
href="https://redirect.github.com/google/flatbuffers/issues/8852">#8852</a>)</li>
<li><a
href="b1e7868db6"><code>b1e7868</code></a>
add verification that type_vec.size == vec.size() (<a
href="https://redirect.github.com/google/flatbuffers/issues/8853">#8853</a>)</li>
<li><a
href="68e3c839c3"><code>68e3c83</code></a>
update provenance (<a
href="https://redirect.github.com/google/flatbuffers/issues/8873">#8873</a>)</li>
<li><a
href="0723245085"><code>0723245</code></a>
[Swift] Fixes bazel.build file allowing it to find Vectors folder in
8.5.0 (#...</li>
<li><a
href="9d64b9c0c0"><code>9d64b9c</code></a>
fix(go): add bounds checking to ByteVector (<a
href="https://redirect.github.com/google/flatbuffers/issues/8776">#8776</a>)</li>
<li><a
href="d01f20f2fb"><code>d01f20f</code></a>
Fix python generation with nested flatbuffers (<a
href="https://redirect.github.com/google/flatbuffers/issues/8854">#8854</a>)</li>
<li><a
href="7e163021e5"><code>7e16302</code></a>
FlatBuffers Version 25.12.19 (<a
href="https://redirect.github.com/google/flatbuffers/issues/8871">#8871</a>)</li>
<li><a
href="57fdd4f995"><code>57fdd4f</code></a>
Default Vector Support C++ (<a
href="https://redirect.github.com/google/flatbuffers/issues/8870">#8870</a>)</li>
<li>Additional commits viewable in <a
href="a577050817...8914d06ab7">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2026-01-02 10:01:01 +01:00