Commit Graph

2575 Commits

Author SHA1 Message Date
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
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
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
momo5502
df46576875 Remove unused component 2026-01-02 12:14:16 +01:00
Maurice Heumann
f38ff1f2cf Build(deps): Bump react-dom from 19.2.0 to 19.2.3 in /page (#659)
Bumps
[react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom)
from 19.2.0 to 19.2.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/releases">react-dom's
releases</a>.</em></p>
<blockquote>
<h2>19.2.3 (December 11th, 2025)</h2>
<h2>React Server Components</h2>
<ul>
<li>Add extra loop protection to React Server Functions (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/35351">#35351</a>)</li>
</ul>
<h2>19.2.2 (December 11th, 2025)</h2>
<h2>React Server Components</h2>
<ul>
<li>Move <code>react-server-dom-webpack/*.unbundled</code> to private
<code>react-server-dom-unbundled</code> (<a
href="https://github.com/eps1lon"><code>@​eps1lon</code></a> <a
href="https://redirect.github.com/facebook/react/pull/35290">facebook/react#35290</a>)</li>
<li>Patch Promise cycles and toString on Server Functions (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a>, <a
href="https://github.com/unstubbable"><code>@​unstubbable</code></a> <a
href="https://redirect.github.com/facebook/react/pull/35289">#35289</a>,
<a
href="https://redirect.github.com/facebook/react/pull/35345">#35345</a>)</li>
</ul>
<h2>19.2.1 (December 3rd, 2025)</h2>
<h2>React Server Components</h2>
<ul>
<li>Bring React Server Component fixes to Server Actions (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/35277">#35277</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/facebook/react/blob/main/CHANGELOG.md">react-dom's
changelog</a>.</em></p>
<blockquote>
<h2>19.2.1 (Dec 3, 2025)</h2>
<h3>React Server Components</h3>
<ul>
<li>Bring React Server Component fixes to Server Actions (<a
href="https://github.com/sebmarkbage"><code>@​sebmarkbage</code></a> <a
href="https://redirect.github.com/facebook/react/pull/35277">#35277</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="612e371fb2"><code>612e371</code></a>
Version 19.2.3</li>
<li><a
href="b910fc15e3"><code>b910fc1</code></a>
Version 19.2.2</li>
<li><a
href="053df4e856"><code>053df4e</code></a>
Version 19.2.1</li>
<li>See full diff in <a
href="https://github.com/facebook/react/commits/v19.2.3/packages/react-dom">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-dom&package-manager=npm_and_yarn&previous-version=19.2.0&new-version=19.2.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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:27:54 +01:00
Maurice Heumann
ea05f4010e Build(deps-dev): Bump prettier from 3.7.3 to 3.7.4 in /page (#654)
Bumps [prettier](https://github.com/prettier/prettier) from 3.7.3 to
3.7.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.7.4</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix comment in union type gets duplicated by <a
href="https://github.com/fisker"><code>@​fisker</code></a> in <a
href="https://redirect.github.com/prettier/prettier/pull/18393">prettier/prettier#18393</a></li>
<li>Fix unstable comment print in union type by <a
href="https://github.com/fisker"><code>@​fisker</code></a> in <a
href="https://redirect.github.com/prettier/prettier/pull/18395">prettier/prettier#18395</a></li>
<li>Avoid quote around LWC interpolations by <a
href="https://github.com/kovsu"><code>@​kovsu</code></a> in <a
href="https://redirect.github.com/prettier/prettier/pull/18383">prettier/prettier#18383</a></li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#374">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.7.4</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.7.3...3.7.4">diff</a></p>
<h4>LWC: Avoid quote around interpolations (<a
href="https://redirect.github.com/prettier/prettier/pull/18383">#18383</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="html"><code>&lt;!-- Input --&gt;
&lt;div foo={bar}&gt;   &lt;/div&gt;
<p>&lt;!-- Prettier 3.7.3 (--embedded-language-formatting off) --&gt;<br
/>
&lt;div foo=&quot;{bar}&quot;&gt;&lt;/div&gt;</p>
<p>&lt;!-- Prettier 3.7.4 (--embedded-language-formatting off) --&gt;<br
/>
&lt;div foo={bar}&gt;&lt;/div&gt;<br />
</code></pre></p>
<h4>TypeScript: Fix comment inside union type gets duplicated (<a
href="https://redirect.github.com/prettier/prettier/pull/18393">#18393</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="tsx"><code>// Input
type Foo = (/** comment */ a | b) | c;
<p>// Prettier 3.7.3<br />
type Foo = /** comment <em>/ (/</em>* comment */ a | b) | c;</p>
<p>// Prettier 3.7.4<br />
type Foo = /** comment */ (a | b) | c;<br />
</code></pre></p>
<h4>TypeScript: Fix unstable comment print in union type comments (<a
href="https://redirect.github.com/prettier/prettier/pull/18395">#18395</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="tsx"><code>// Input
type X = (A | B) &amp; (
  // comment
  A | B
);
<p>// Prettier 3.7.3 (first format)<br />
type X = (A | B) &amp;<br />
(// comment<br />
A | B);</p>
<p>// Prettier 3.7.3 (second format)<br />
type X = (<br />
| A<br />
&lt;/tr&gt;&lt;/table&gt;<br />
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7848357af6"><code>7848357</code></a>
Release 3.7.4</li>
<li><a
href="7686c59d51"><code>7686c59</code></a>
Release <code>@​prettier/plugin-hermes</code> &amp;
<code>@​prettier/plugin-oxc</code> v0.1.3</li>
<li><a
href="fe494348a0"><code>fe49434</code></a>
Remove dead code checking union/intersection types length (<a
href="https://redirect.github.com/prettier/prettier/issues/18396">#18396</a>)</li>
<li><a
href="ca02b37489"><code>ca02b37</code></a>
Fix unstable comment print (<a
href="https://redirect.github.com/prettier/prettier/issues/18395">#18395</a>)</li>
<li><a
href="7efb988c67"><code>7efb988</code></a>
Fix comment in union type get duplicated (<a
href="https://redirect.github.com/prettier/prettier/issues/18393">#18393</a>)</li>
<li><a
href="cfa92c1b6d"><code>cfa92c1</code></a>
Update dependency <code>@​angular/compiler</code> to v21.0.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/18392">#18392</a>)</li>
<li><a
href="1de273770b"><code>1de2737</code></a>
Update dependency yaml to v2.8.2 (<a
href="https://redirect.github.com/prettier/prettier/issues/18391">#18391</a>)</li>
<li><a
href="706aa4ef90"><code>706aa4e</code></a>
Switch js parse postprocess to <code>onEnter</code> (<a
href="https://redirect.github.com/prettier/prettier/issues/18382">#18382</a>)</li>
<li><a
href="d3eb2b2d08"><code>d3eb2b2</code></a>
Reuse arrays in visitor keys (<a
href="https://redirect.github.com/prettier/prettier/issues/18386">#18386</a>)</li>
<li><a
href="c45fef106e"><code>c45fef1</code></a>
Fix LWC attribute with <code>--embedded-language-formatting off</code>
(<a
href="https://redirect.github.com/prettier/prettier/issues/18383">#18383</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/prettier/prettier/compare/3.7.3...3.7.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=3.7.3&new-version=3.7.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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:27:13 +01:00