Commit Graph

1614 Commits

Author SHA1 Message Date
redthing1
dae4f07f70 module manager: apply clang format 2025-06-10 00:31:17 -07:00
redthing1
aa966826a2 fixup! minidump loader: fix PRIx64 format specifier 2025-06-10 00:28:43 -07:00
redthing1
12646566ca minidump loader: fix PRIx64 format specifier 2025-06-10 00:27:13 -07:00
redthing1
5d9dd122d2 minidump support: dump loading and process reconstruction 2025-06-09 23:12:45 -07:00
momo5502
906cec808a Small fixes 2025-06-07 20:10:36 +02:00
momo5502
f44f3f2bb3 Ignore compile-commands.json symlink 2025-06-07 18:37:14 +02:00
Maurice Heumann
50e4a2e208 Update analysis.cpp 2025-06-07 15:04:45 +02:00
momo5502
f3b20da9cc Optimize thread scheduling and pausing 2025-06-07 14:20:19 +02:00
Maurice Heumann
cb9fadde12 Fix char16_t tolower conversion (#360)
This fixes #51
2025-06-07 12:04:15 +02:00
momo5502
e26ac99551 Fix char16_t tolower conversion 2025-06-07 11:45:43 +02:00
Maurice Heumann
f048be8d9f Update unicorn (#337)
This fixes #331
2025-06-07 10:46:52 +02:00
momo5502
413ef1ea31 Update unicorn 2025-06-07 10:25:58 +02:00
Maurice Heumann
16169416d2 Move much of the analysis logic from the emulation core into the analyzer (#359)
Analysis should not be done in the core. Not everyone using the emulator
needs the analysis.
Much of it was moved to the analyzer. Not all, but the rest will be done
in a follow up PR.
2025-06-07 08:20:44 +02:00
momo5502
05c5f0a085 Final cleanup 2025-06-07 08:01:02 +02:00
momo5502
da4a4f90c9 Cleanup exception callbacks 2025-06-07 07:54:11 +02:00
momo5502
802e295bcc Adapt more printing 2025-06-07 07:29:30 +02:00
momo5502
9372e27453 Fix module logging 2025-06-07 07:11:27 +02:00
momo5502
bc77faec3d Move more logging into callbacks 2025-06-06 20:03:53 +02:00
momo5502
24939583c4 Fix serialization 2025-06-06 16:59:45 +02:00
momo5502
9b8ea27a29 Delay process setup 2025-06-05 20:53:38 +02:00
momo5502
f4282f44d7 Fix compilation 2025-06-05 19:20:45 +02:00
momo5502
3cfb29c5c1 Print buffered stdout 2025-06-05 19:06:39 +02:00
momo5502
f2e0e91630 Isolate more analysis into analyzer 2025-06-05 18:59:27 +02:00
momo5502
f046246740 Extract more analysis logic 2025-06-04 21:21:48 +02:00
momo5502
956e73d839 Some fixes 2025-06-04 20:47:51 +02:00
momo5502
d18a60561c Fix warning 2025-06-04 20:26:33 +02:00
momo5502
1f829463c1 Use more semantic logging 2025-06-04 20:22:28 +02:00
momo5502
de0d9a17a5 Small fixes 2025-06-04 20:19:47 +02:00
momo5502
84e8e86b94 Extract sus activity logging 2025-06-04 19:28:50 +02:00
momo5502
5609de9dde Small fixes and prepare for more semantic logging 2025-06-04 19:17:09 +02:00
momo5502
5230909c23 Switch back to using callbacks 2025-06-04 19:11:16 +02:00
momo5502
25295707ec Event manager progress 2025-06-04 18:52:59 +02:00
momo5502
32fcbf3ded Prepare event manager
The event manager forms the basis for semantic logging.
The emulator transmits events and the manager can handle them.
This means to either print information to stdout, do nothing, etc...
2025-06-03 20:30:12 +02:00
Maurice Heumann
dcee2982ce Update file.cpp 2025-06-03 11:18:10 +02:00
Maurice Heumann
368a9dbdd1 Update file_management.hpp 2025-06-03 11:17:50 +02:00
momo5502
63a5f473c7 Small landing page changes 2025-06-02 20:24:11 +02:00
Maurice Heumann
a33d2d0c2f Add KsecDD device and other improvements (#357)
This PR aims to:
- [Improve
NtQueryInformationToken](d7b8b78cef),
by handling more token types and also fixing TokenIntegrityLevel to
return a proper integrity SID.
- [Add new
pseudo-handles](ac804939d9).
- [Add the KsecDD device and support for devices in
NtQueryObject](ca61a7cd3b).
- [Add new
syscalls](4b6e0f088d),
to be more specific, the syscalls added were the following ones:
`NtRemoveIoCompletion`, `NtSetInformationWorkerFactory`,
`NtShutdownWorkerFactory`, `NtGetCurrentProcessorNumber`,
`NtCreateTimer`, `NtSetTimer`, `NtSetTimer2`, `NtCancelTimer`,
`NtAssociateWaitCompletionPacket`, `NtCancelWaitCompletionPacket`,
`NtSetWnfProcessNotificationEvent`, `NtQuerySecurityObject`.

Most of the changes in this PR were made to get BCryptGenRandom working
in the emulator. Even with the KsecDD device implemented,
BCryptGenRandom only works for subsequent calls if NtCreateWorkerFactory
returns STATUS_SUCCESS. Returning STATUS_SUCCESS from
NtCreateWorkerFactory causes most of the newly added syscalls to be
called, and most of them need to return STATUS_SUCCESS as well;
otherwise, the executable just fails to run. Fortunately, from my
testing, nothing seems to break from just returning STATUS_SUCCESS
without a proper implementation.
2025-06-02 19:53:16 +02:00
Igor Pissolati
4fecea3aff Apply review suggested change 2025-06-02 14:34:12 -03:00
Igor Pissolati
9f32620220 Fix failing checks 2025-06-02 14:32:15 -03:00
Igor Pissolati
c67146ee45 Add new syscalls 2025-06-02 14:32:15 -03:00
Igor Pissolati
db1588623b Add KSecDD device and support for devices in NtQueryObject 2025-06-02 14:32:15 -03:00
Igor Pissolati
cc2266d934 Add new pseudo-handles 2025-06-02 14:32:15 -03:00
Igor Pissolati
ad3046466e Improvements to NtQueryInformationToken 2025-06-02 14:32:15 -03:00
momo5502
9b2653afc4 Override timestamp counter for deterministic clock 2025-06-02 19:28:24 +02:00
Maurice Heumann
9f388ee7d0 Add get_address, event_select and enum_network_events to afd_endpoint (#358)
This PR aims to add support for get_address, event_select, and
enum_network_events to afd_endpoint. However, some bug fixes were also
implemented, such as properly mapping the AFD_CONNECT event. Substantial
changes were also made to `afd_endpoint::work` since polling is
necessary for the event_select functionality.
2025-06-02 17:58:43 +02:00
Igor Pissolati
c47a498fe4 Add get_address, event_select and enum_network_events to afd_endpoint 2025-06-02 12:39:42 -03:00
Maurice Heumann
9e94c7d4cb Bump globals from 16.1.0 to 16.2.0 in /page (#354)
Bumps [globals](https://github.com/sindresorhus/globals) from 16.1.0 to
16.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sindresorhus/globals/releases">globals's
releases</a>.</em></p>
<blockquote>
<h2>v16.2.0</h2>
<ul>
<li>Add new <code>greasemonkey</code> globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/299">#299</a>)
e4f6e8c</li>
</ul>
<hr />
<p><a
href="https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0">https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d10fa84804"><code>d10fa84</code></a>
16.2.0</li>
<li><a
href="c7468c5d3a"><code>c7468c5</code></a>
Test update script on CI (<a
href="https://redirect.github.com/sindresorhus/globals/issues/296">#296</a>)</li>
<li><a
href="e4f6e8cade"><code>e4f6e8c</code></a>
Add new <code>greasemonkey</code> globals (<a
href="https://redirect.github.com/sindresorhus/globals/issues/299">#299</a>)</li>
<li>See full diff in <a
href="https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=globals&package-manager=npm_and_yarn&previous-version=16.1.0&new-version=16.2.0)](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>
2025-06-02 01:41:03 +02:00
Maurice Heumann
229a8c2f9a Bump @types/react from 19.1.5 to 19.1.6 in /page (#356)
Bumps
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
from 19.1.5 to 19.1.6.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.1.5&new-version=19.1.6)](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>
2025-06-02 01:36:03 +02:00
dependabot[bot]
dedf1db55f Bump @types/react from 19.1.5 to 19.1.6 in /page
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 19.1.5 to 19.1.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.1.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-01 22:55:25 +00:00
dependabot[bot]
e3cb590c61 Bump globals from 16.1.0 to 16.2.0 in /page
Bumps [globals](https://github.com/sindresorhus/globals) from 16.1.0 to 16.2.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-01 22:55:15 +00:00