Maurice Heumann 121dc226ef Bump eslint from 9.27.0 to 9.28.0 in /page (#349)
Bumps [eslint](https://github.com/eslint/eslint) from 9.27.0 to 9.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases">eslint's
releases</a>.</em></p>
<blockquote>
<h2>v9.28.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="b0674be94e"><code>b0674be</code></a>
feat: Customization of serialization for languageOptions (<a
href="https://redirect.github.com/eslint/eslint/issues/19760">#19760</a>)
(Nicholas C. Zakas)</li>
<li><a
href="a95721f106"><code>a95721f</code></a>
feat: Add <code>--pass-on-unpruned-suppressions</code> CLI option (<a
href="https://redirect.github.com/eslint/eslint/issues/19773">#19773</a>)
(Milos Djermanovic)</li>
<li><a
href="bfd0e7a395"><code>bfd0e7a</code></a>
feat: support TypeScript syntax in <code>no-use-before-define</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19566">#19566</a>)
(Tanuj Kanti)</li>
<li><a
href="68c61c093a"><code>68c61c0</code></a>
feat: support TS syntax in <code>no-shadow</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19565">#19565</a>)
(Nitin Kumar)</li>
<li><a
href="0f773ef248"><code>0f773ef</code></a>
feat: support TS syntax in <code>no-magic-numbers</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19561">#19561</a>)
(Nitin Kumar)</li>
<li><a
href="c4a6b60518"><code>c4a6b60</code></a>
feat: add allowTypeAnnotation to func-style (<a
href="https://redirect.github.com/eslint/eslint/issues/19754">#19754</a>)
(sethamus)</li>
<li><a
href="b03ad176f1"><code>b03ad17</code></a>
feat: add TypeScript support to <code>prefer-arrow-callback</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19678">#19678</a>)
(Tanuj Kanti)</li>
<li><a
href="bc3c3313ce"><code>bc3c331</code></a>
feat: ignore overloaded function declarations in func-style rule (<a
href="https://redirect.github.com/eslint/eslint/issues/19755">#19755</a>)
(sethamus)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="eea3e7eb1c"><code>eea3e7e</code></a>
fix: Remove configured global variables from
<code>GlobalScope#implicit</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19779">#19779</a>)
(Milos Djermanovic)</li>
<li><a
href="a467de39f6"><code>a467de3</code></a>
fix: update context.report types (<a
href="https://redirect.github.com/eslint/eslint/issues/19751">#19751</a>)
(Nitin Kumar)</li>
<li><a
href="fd467bb892"><code>fd467bb</code></a>
fix: remove interopDefault to use jiti's default (<a
href="https://redirect.github.com/eslint/eslint/issues/19697">#19697</a>)
(sethamus)</li>
<li><a
href="72d16e3066"><code>72d16e3</code></a>
fix: avoid false positive in <code>no-unassigned-vars</code> for declare
module (<a
href="https://redirect.github.com/eslint/eslint/issues/19746">#19746</a>)
(Azat S.)</li>
<li><a
href="81c3c93626"><code>81c3c93</code></a>
fix: curly types (<a
href="https://redirect.github.com/eslint/eslint/issues/19750">#19750</a>)
(Eli)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="3ec208233f"><code>3ec2082</code></a>
docs: Nested arrays in files config entry (<a
href="https://redirect.github.com/eslint/eslint/issues/19799">#19799</a>)
(Nicholas C. Zakas)</li>
<li><a
href="89a65b07f6"><code>89a65b0</code></a>
docs: clarify how config arrays can apply to subsets of files (<a
href="https://redirect.github.com/eslint/eslint/issues/19788">#19788</a>)
(Shais Ch)</li>
<li><a
href="2ba8a0d75c"><code>2ba8a0d</code></a>
docs: Add description of meta.namespace to plugin docs (<a
href="https://redirect.github.com/eslint/eslint/issues/19798">#19798</a>)
(Nicholas C. Zakas)</li>
<li><a
href="59dd7e6b28"><code>59dd7e6</code></a>
docs: update <code>func-style</code> with examples (<a
href="https://redirect.github.com/eslint/eslint/issues/19793">#19793</a>)
(Tanuj Kanti)</li>
<li><a
href="e9129e0799"><code>e9129e0</code></a>
docs: add global scope's <code>implicit</code> field to Scope Manager
docs (<a
href="https://redirect.github.com/eslint/eslint/issues/19770">#19770</a>)
(Milos Djermanovic)</li>
<li><a
href="52f5b7a0af"><code>52f5b7a</code></a>
docs: fix minor typos and add links (<a
href="https://redirect.github.com/eslint/eslint/issues/19743">#19743</a>)
(루밀LuMir)</li>
<li><a
href="00716a339e"><code>00716a3</code></a>
docs: upfront recommend against using the no-return-await rule (<a
href="https://redirect.github.com/eslint/eslint/issues/19727">#19727</a>)
(Mike DiDomizio)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="175b7b83fc"><code>175b7b8</code></a>
chore: upgrade to <code>@eslint/js@9.28.0</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19802">#19802</a>)
(Francesco Trotta)</li>
<li><a
href="844f5a69dc"><code>844f5a6</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="62b1c1bc79"><code>62b1c1b</code></a>
chore: update globals to v16 (<a
href="https://redirect.github.com/eslint/eslint/issues/19791">#19791</a>)
(Nitin Kumar)</li>
<li><a
href="e8a1cb8f7f"><code>e8a1cb8</code></a>
chore: ignore jiti-v2.0 &amp; jiti-v2.1 for renovate (<a
href="https://redirect.github.com/eslint/eslint/issues/19786">#19786</a>)
(Nitin Kumar)</li>
<li><a
href="43d39754b6"><code>43d3975</code></a>
chore: Add Copilot Instructions file (<a
href="https://redirect.github.com/eslint/eslint/issues/19753">#19753</a>)
(Nicholas C. Zakas)</li>
<li><a
href="2dfb5ebef4"><code>2dfb5eb</code></a>
test: update <code>SourceCodeTraverser</code> tests (<a
href="https://redirect.github.com/eslint/eslint/issues/19763">#19763</a>)
(Milos Djermanovic)</li>
<li><a
href="5bc21f9e8e"><code>5bc21f9</code></a>
chore: add <code>*.code-workspace</code> to <code>.gitignore</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19771">#19771</a>)
(루밀LuMir)</li>
<li><a
href="f4fa40eb4b"><code>f4fa40e</code></a>
refactor: NodeEventGenerator -&gt; SourceCodeTraverser (<a
href="https://redirect.github.com/eslint/eslint/issues/19679">#19679</a>)
(Nicholas C. Zakas)</li>
<li><a
href="0f49329b4a"><code>0f49329</code></a>
refactor: use a service to emit warnings (<a
href="https://redirect.github.com/eslint/eslint/issues/19725">#19725</a>)
(Francesco Trotta)</li>
<li><a
href="20a9e59438"><code>20a9e59</code></a>
chore: update dependency shelljs to ^0.10.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/19740">#19740</a>)
(renovate[bot])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/blob/main/CHANGELOG.md">eslint's
changelog</a>.</em></p>
<blockquote>
<p>v9.28.0 - May 30, 2025</p>
<ul>
<li><a
href="175b7b83fc"><code>175b7b8</code></a>
chore: upgrade to <code>@eslint/js@9.28.0</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19802">#19802</a>)
(Francesco Trotta)</li>
<li><a
href="844f5a69dc"><code>844f5a6</code></a>
chore: package.json update for <code>@​eslint/js</code> release
(Jenkins)</li>
<li><a
href="b0674be94e"><code>b0674be</code></a>
feat: Customization of serialization for languageOptions (<a
href="https://redirect.github.com/eslint/eslint/issues/19760">#19760</a>)
(Nicholas C. Zakas)</li>
<li><a
href="3ec208233f"><code>3ec2082</code></a>
docs: Nested arrays in files config entry (<a
href="https://redirect.github.com/eslint/eslint/issues/19799">#19799</a>)
(Nicholas C. Zakas)</li>
<li><a
href="89a65b07f6"><code>89a65b0</code></a>
docs: clarify how config arrays can apply to subsets of files (<a
href="https://redirect.github.com/eslint/eslint/issues/19788">#19788</a>)
(Shais Ch)</li>
<li><a
href="2ba8a0d75c"><code>2ba8a0d</code></a>
docs: Add description of meta.namespace to plugin docs (<a
href="https://redirect.github.com/eslint/eslint/issues/19798">#19798</a>)
(Nicholas C. Zakas)</li>
<li><a
href="eea3e7eb1c"><code>eea3e7e</code></a>
fix: Remove configured global variables from
<code>GlobalScope#implicit</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19779">#19779</a>)
(Milos Djermanovic)</li>
<li><a
href="a95721f106"><code>a95721f</code></a>
feat: Add <code>--pass-on-unpruned-suppressions</code> CLI option (<a
href="https://redirect.github.com/eslint/eslint/issues/19773">#19773</a>)
(Milos Djermanovic)</li>
<li><a
href="a467de39f6"><code>a467de3</code></a>
fix: update context.report types (<a
href="https://redirect.github.com/eslint/eslint/issues/19751">#19751</a>)
(Nitin Kumar)</li>
<li><a
href="59dd7e6b28"><code>59dd7e6</code></a>
docs: update <code>func-style</code> with examples (<a
href="https://redirect.github.com/eslint/eslint/issues/19793">#19793</a>)
(Tanuj Kanti)</li>
<li><a
href="62b1c1bc79"><code>62b1c1b</code></a>
chore: update globals to v16 (<a
href="https://redirect.github.com/eslint/eslint/issues/19791">#19791</a>)
(Nitin Kumar)</li>
<li><a
href="bfd0e7a395"><code>bfd0e7a</code></a>
feat: support TypeScript syntax in <code>no-use-before-define</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19566">#19566</a>)
(Tanuj Kanti)</li>
<li><a
href="68c61c093a"><code>68c61c0</code></a>
feat: support TS syntax in <code>no-shadow</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19565">#19565</a>)
(Nitin Kumar)</li>
<li><a
href="e8a1cb8f7f"><code>e8a1cb8</code></a>
chore: ignore jiti-v2.0 &amp; jiti-v2.1 for renovate (<a
href="https://redirect.github.com/eslint/eslint/issues/19786">#19786</a>)
(Nitin Kumar)</li>
<li><a
href="0f773ef248"><code>0f773ef</code></a>
feat: support TS syntax in <code>no-magic-numbers</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19561">#19561</a>)
(Nitin Kumar)</li>
<li><a
href="43d39754b6"><code>43d3975</code></a>
chore: Add Copilot Instructions file (<a
href="https://redirect.github.com/eslint/eslint/issues/19753">#19753</a>)
(Nicholas C. Zakas)</li>
<li><a
href="c4a6b60518"><code>c4a6b60</code></a>
feat: add allowTypeAnnotation to func-style (<a
href="https://redirect.github.com/eslint/eslint/issues/19754">#19754</a>)
(sethamus)</li>
<li><a
href="fd467bb892"><code>fd467bb</code></a>
fix: remove interopDefault to use jiti's default (<a
href="https://redirect.github.com/eslint/eslint/issues/19697">#19697</a>)
(sethamus)</li>
<li><a
href="2dfb5ebef4"><code>2dfb5eb</code></a>
test: update <code>SourceCodeTraverser</code> tests (<a
href="https://redirect.github.com/eslint/eslint/issues/19763">#19763</a>)
(Milos Djermanovic)</li>
<li><a
href="b03ad176f1"><code>b03ad17</code></a>
feat: add TypeScript support to <code>prefer-arrow-callback</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19678">#19678</a>)
(Tanuj Kanti)</li>
<li><a
href="e9129e0799"><code>e9129e0</code></a>
docs: add global scope's <code>implicit</code> field to Scope Manager
docs (<a
href="https://redirect.github.com/eslint/eslint/issues/19770">#19770</a>)
(Milos Djermanovic)</li>
<li><a
href="bc3c3313ce"><code>bc3c331</code></a>
feat: ignore overloaded function declarations in func-style rule (<a
href="https://redirect.github.com/eslint/eslint/issues/19755">#19755</a>)
(sethamus)</li>
<li><a
href="5bc21f9e8e"><code>5bc21f9</code></a>
chore: add <code>*.code-workspace</code> to <code>.gitignore</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19771">#19771</a>)
(루밀LuMir)</li>
<li><a
href="72d16e3066"><code>72d16e3</code></a>
fix: avoid false positive in <code>no-unassigned-vars</code> for declare
module (<a
href="https://redirect.github.com/eslint/eslint/issues/19746">#19746</a>)
(Azat S.)</li>
<li><a
href="f4fa40eb4b"><code>f4fa40e</code></a>
refactor: NodeEventGenerator -&gt; SourceCodeTraverser (<a
href="https://redirect.github.com/eslint/eslint/issues/19679">#19679</a>)
(Nicholas C. Zakas)</li>
<li><a
href="81c3c93626"><code>81c3c93</code></a>
fix: curly types (<a
href="https://redirect.github.com/eslint/eslint/issues/19750">#19750</a>)
(Eli)</li>
<li><a
href="52f5b7a0af"><code>52f5b7a</code></a>
docs: fix minor typos and add links (<a
href="https://redirect.github.com/eslint/eslint/issues/19743">#19743</a>)
(루밀LuMir)</li>
<li><a
href="0f49329b4a"><code>0f49329</code></a>
refactor: use a service to emit warnings (<a
href="https://redirect.github.com/eslint/eslint/issues/19725">#19725</a>)
(Francesco Trotta)</li>
<li><a
href="20a9e59438"><code>20a9e59</code></a>
chore: update dependency shelljs to ^0.10.0 (<a
href="https://redirect.github.com/eslint/eslint/issues/19740">#19740</a>)
(renovate[bot])</li>
<li><a
href="00716a339e"><code>00716a3</code></a>
docs: upfront recommend against using the no-return-await rule (<a
href="https://redirect.github.com/eslint/eslint/issues/19727">#19727</a>)
(Mike DiDomizio)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f341f21e02"><code>f341f21</code></a>
9.28.0</li>
<li><a
href="779dda93a2"><code>779dda9</code></a>
Build: changelog update for 9.28.0</li>
<li><a
href="175b7b83fc"><code>175b7b8</code></a>
chore: upgrade to <code>@eslint/js@9.28.0</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19802">#19802</a>)</li>
<li><a
href="844f5a69dc"><code>844f5a6</code></a>
chore: package.json update for <code>@​eslint/js</code> release</li>
<li><a
href="b0674be94e"><code>b0674be</code></a>
feat: Customization of serialization for languageOptions (<a
href="https://redirect.github.com/eslint/eslint/issues/19760">#19760</a>)</li>
<li><a
href="3ec208233f"><code>3ec2082</code></a>
docs: Nested arrays in files config entry (<a
href="https://redirect.github.com/eslint/eslint/issues/19799">#19799</a>)</li>
<li><a
href="89a65b07f6"><code>89a65b0</code></a>
docs: clarify how config arrays can apply to subsets of files (<a
href="https://redirect.github.com/eslint/eslint/issues/19788">#19788</a>)</li>
<li><a
href="2ba8a0d75c"><code>2ba8a0d</code></a>
docs: Add description of meta.namespace to plugin docs (<a
href="https://redirect.github.com/eslint/eslint/issues/19798">#19798</a>)</li>
<li><a
href="eea3e7eb1c"><code>eea3e7e</code></a>
fix: Remove configured global variables from
<code>GlobalScope#implicit</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/19779">#19779</a>)</li>
<li><a
href="a95721f106"><code>a95721f</code></a>
feat: Add <code>--pass-on-unpruned-suppressions</code> CLI option (<a
href="https://redirect.github.com/eslint/eslint/issues/19773">#19773</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v9.27.0...v9.28.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint&package-manager=npm_and_yarn&previous-version=9.27.0&new-version=9.28.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 00:53:53 +02:00
2025-06-01 12:36:50 +02:00
2025-06-01 12:36:50 +02:00
2025-01-10 21:13:15 +01:00
2025-06-01 14:05:18 +02:00
2025-03-18 20:58:26 +01:00
2025-04-29 09:25:45 +02:00
2025-06-01 12:36:50 +02:00
2025-05-29 10:13:17 +02:00
2024-10-23 19:10:13 +02:00
2025-04-22 11:21:24 +02:00

Sogen

Sogen is a high-performance Windows user space emulator that operates at syscall level, providing full control over process execution through comprehensive hooking capabilities.

Perfect for security research, malware analysis, and DRM research where fine-grained control over process execution is required.

Built in C++ and powered by the Unicorn Engine (or the icicle-emu 🆕).

Try it out: sogen.dev

Key Features

  • 🔄 Syscall-Level Emulation
    • Instead of reimplementing Windows APIs, the emulator operates at the syscall level, allowing it to leverage existing system DLLs
  • 📝 Advanced Memory Management
    • Supports Windows-specific memory types including reserved, committed, built on top of Unicorn's memory management
  • 📦 Complete PE Loading
    • Handles executable and DLL loading with proper memory mapping, relocations, and TLS
  • Exception Handling
    • Implements Windows structured exception handling (SEH) with proper exception dispatcher and unwinding support
  • 🧵 Threading Support
    • Provides a scheduled (round-robin) threading model
  • 💾 State Management
    • Supports both full state serialization and fast in-memory snapshots (currently broken 😕)
  • 💻 Debugging Interface
    • Implements GDB serial protocol for integration with common debugging tools (IDA Pro, GDB, LLDB, VS Code, ...)

Note

The project is still in a very early, prototypical state. The code still needs a lot of cleanup and many features and syscalls need to be implemented. However, constant progress is being made :)

Preview

Preview

YouTube Overview

YouTube video

Click here for the slides.

Quick Start (Windows + Visual Studio)

Tip

Checkout the Wiki for more details on how to build & run the emulator on Windows, Linux, macOS, ...

1. Checkout the code:

git clone --recurse-submodules https://github.com/momo5502/sogen.git

2. Run the following command in an x64 Development Command Prompt in the cloned directory:

cmake --preset=vs2022

3. Build the solution that was generated at build/vs2022/emulator.sln

4. Create a registry dump by running the grab-registry.bat as administrator and place it in the artifacts folder next to the analyzer.exe

5. Run the program of your choice:

analyzer.exe C:\example.exe
Description
Languages
C++ 85%
TypeScript 10%
Rust 2.7%
CMake 1.5%
CSS 0.3%
Other 0.4%