Commit Graph

1800 Commits

Author SHA1 Message Date
Maurice Heumann
d09b32eb5e Fix clang tidy warnings 2025-07-17 18:45:18 +02:00
Maurice Heumann
b5e40c3627 Revert line endings 2025-07-17 18:38:26 +02:00
Maurice Heumann
8caf724c95 Fix formatting 2025-07-17 18:30:00 +02:00
Maurice Heumann
079d367792 Generate an output that the Tenet plugin can read (#416)
Generates a Tenet tracer output with the -t parameter. The original
Tenet tracer plugin is outdated, so I made updates to support our
emulator. The forked project below works well.

https://github.com/maskelihileci/tenet/tree/master/plugins_sogen-support
2025-07-17 18:11:47 +02:00
Maurice Heumann
9e5a6b509b Implement guard pages (#406)
Hey, looking for feedback on my guard page implementation. 

I wasn't sure on how to structure the additional windows specific memory
flags, since the emulation backends won't like additional guard flag. I
opted to create a new `memory_permission_ext` enum to hold the guard
flag, and a `nt_memory_permission` struct to wrap the "common" memory
permission flags, with the new extended flags. This struct implicitly
coerces to the original `memory_permission` to reduce the amount of
changes for the PR.

This however meant that I changed signatures of `map_memory` and
`apply_memory_protection` in `memory_interface` to accommodate this new
structure, and was an afterthought.

The `map_nt_to_emulator_protection` function might also need some
attention now, too. For future reference, windows uses
[MiMakeProtectionMask](https://doxygen.reactos.org/d1/d9a/marea_8c.html#adfb66408771a4df77c1056cc2a99ef21)
in ntoskrnl to map `PAGE_*` flags to [MM PTE
constants](https://reactos.org/wiki/Techwiki:Memory_management_in_the_Windows_XP_kernel).

The test added to the `test-sample` binary seems to be passing.

Fixes #21
2025-07-17 17:41:06 +02:00
3fault
188b95af5d Fix formatting 2025-07-17 11:27:23 -04:00
3fault
f1d54f7417 Parameterize basic_memory_region to support extended memory flags 2025-07-17 11:19:56 -04:00
3fault
9f637105fb Unset extended flags in nt_memory_permission assignment operator 2025-07-17 11:06:26 -04:00
3fault
8cea9fc75a Ensure memory is freed after guard page test 2025-07-17 10:55:45 -04:00
maskelihileci
20f96841de Generate an output that the Tenet plugin can read
Generates a Tenet tracer output with the -t parameter.
The original Tenet tracer plugin is outdated, so I made updates to support our emulator. The forked project below works well.

https://github.com/maskelihileci/tenet/tree/master/plugins_sogen-support
2025-07-17 14:36:29 +03:00
Maurice Heumann
b34adbadbf Fix icicle deprecation warning (#411) 2025-07-13 12:52:38 +02:00
Maurice Heumann
7632a77c36 Ah fuck it 2025-07-13 12:37:16 +02:00
Maurice Heumann
24ed6db02e Try different fix 2025-07-13 12:25:20 +02:00
Maurice Heumann
cc8aa65aec Fix icicle deprecation warning 2025-07-13 12:07:46 +02:00
Maurice Heumann
fe213743a3 Fix deleting threads (#410) 2025-07-12 21:48:41 +02:00
Maurice Heumann
d7a1a269b7 Setup thread before dispatching APC 2025-07-12 21:33:12 +02:00
momo5502
ac2d34c143 Small cleanup 2025-07-12 15:40:04 +02:00
momo5502
7a3a5d760e Fix thread deletion 2025-07-12 15:28:30 +02:00
momo5502
08995a4205 Print memory stats 2025-07-12 14:17:52 +02:00
momo5502
90c087786c Better output window updating 2025-07-12 11:18:25 +02:00
momo5502
65c13817a0 Reduce shadow 2025-07-12 11:03:42 +02:00
momo5502
c513debcae Frosted glass effect 2025-07-12 10:24:18 +02:00
momo5502
f9be33b383 Better summary 2025-07-12 09:53:47 +02:00
Maurice Heumann
db68f70f58 Fix formatting 2025-07-11 20:26:07 +02:00
momo5502
11593e2298 Add tooltips everywhere 2025-07-11 20:03:45 +02:00
momo5502
ecb53f8d60 Use monospace font 2025-07-11 15:09:09 +02:00
Maurice Heumann
6e24b23c2f Update playground.tsx 2025-07-11 14:33:45 +02:00
Maurice Heumann
29878ae2ea Update playground.tsx 2025-07-11 13:57:34 +02:00
momo5502
0794c1038b Display emulation status 2025-07-11 13:43:21 +02:00
Maurice Heumann
f00aac744f Fix formatting 2025-07-10 20:00:33 +02:00
Maurice Heumann
35090fa16e Change color 2025-07-10 19:26:36 +02:00
momo5502
ab587091bc Don't wait for build step 2025-07-09 21:23:32 +02:00
momo5502
acb65dc10d Log message box arguments 2025-07-09 21:17:32 +02:00
3fault
f4fc9c4a6c fix memory_permissions_ext includes 2025-07-09 14:49:26 -04:00
3fault
19574fb512 remove references to nt_memory_permission from backend 2025-07-09 14:43:06 -04:00
3fault
8ec184d57f remove unneeded windows-emulator/memory_permission_ext.cpp 2025-07-09 14:39:49 -04:00
momo5502
db6b325aef Remove logging 2025-07-09 19:32:22 +02:00
Maurice Heumann
6c6955630f Remove debug builds from CI (#409) 2025-07-09 19:11:49 +02:00
momo5502
7f15b42d18 Fix loading analyzer and bust caches 2025-07-09 19:09:54 +02:00
momo5502
6bedf56565 Build windows in isolation 2025-07-09 18:55:49 +02:00
momo5502
e2bfc4dcdb Remove debug builds except for windows x86_64 2025-07-09 18:35:50 +02:00
momo5502
b7dc284a9d Memory 64 support 2025-07-09 18:24:40 +02:00
momo5502
adb94f37bd Prepare memory 64 support 2025-07-09 17:38:10 +02:00
momo5502
7bf7c2f388 Catch emulation errors 2025-07-09 08:39:31 +02:00
Maurice Heumann
7ef54d46bb Build(deps): Bump deps/flatbuffers from 00eec24 to 64e5252 (#408)
Bumps [deps/flatbuffers](https://github.com/google/flatbuffers) from
`00eec24` to `64e5252`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="64e5252b4e"><code>64e5252</code></a>
Fix typo in code comment (<a
href="https://redirect.github.com/google/flatbuffers/issues/8549">#8549</a>)</li>
<li><a
href="00c30807ff"><code>00c3080</code></a>
Fixed typo in quick_start.md (<a
href="https://redirect.github.com/google/flatbuffers/issues/8592">#8592</a>)</li>
<li><a
href="c15fe421ba"><code>c15fe42</code></a>
Use correct default type for str (<a
href="https://redirect.github.com/google/flatbuffers/issues/8623">#8623</a>)</li>
<li><a
href="6b251aa1cf"><code>6b251aa</code></a>
Bugfix/new decode flag (<a
href="https://redirect.github.com/google/flatbuffers/issues/8634">#8634</a>)</li>
<li><a
href="6fe8afb3b6"><code>6fe8afb</code></a>
[CI] Moves swift actions to use next (<a
href="https://redirect.github.com/google/flatbuffers/issues/8632">#8632</a>)</li>
<li>See full diff in <a
href="00eec2445b...64e5252b4e">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>
2025-07-08 20:10:31 +02:00
Maurice Heumann
a4e6c00662 Build(deps): Bump deps/googletest from c67de11 to 3983f67 (#407)
Bumps [deps/googletest](https://github.com/google/googletest) from
`c67de11` to `3983f67`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3983f67e32"><code>3983f67</code></a>
Replace internal link in GoogleTest docs</li>
<li>See full diff in <a
href="c67de11737...3983f67e32">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>
2025-07-08 20:06:21 +02:00
dependabot[bot]
a61ab1417e Build(deps): Bump deps/flatbuffers from 00eec24 to 64e5252
Bumps [deps/flatbuffers](https://github.com/google/flatbuffers) from `00eec24` to `64e5252`.
- [Release notes](https://github.com/google/flatbuffers/releases)
- [Commits](00eec2445b...64e5252b4e)

---
updated-dependencies:
- dependency-name: deps/flatbuffers
  dependency-version: 64e5252b4ef333c9e367378619151406435c9612
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-08 17:27:52 +00:00
dependabot[bot]
35950f7fe4 Build(deps): Bump deps/googletest from c67de11 to 3983f67
Bumps [deps/googletest](https://github.com/google/googletest) from `c67de11` to `3983f67`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](c67de11737...3983f67e32)

---
updated-dependencies:
- dependency-name: deps/googletest
  dependency-version: 3983f67e32fb3e9294487b9d4f9586efa6e5d088
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-08 17:27:48 +00:00
Maurice Heumann
a711a8faad Fix posix colors 2025-07-08 18:55:29 +02:00
Maurice Heumann
965efadb51 Detailed CPUID logging 2025-07-08 18:50:40 +02:00