diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-04-27 05:09:55 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-04-27 05:09:55 +0200 |
| commit | f088f5bd452bcc824848194525c8eaf08e7a76e6 (patch) | |
| tree | e97844abe95236739d26a11aee4e1459f3e1b692 /src/core/loader/nro.cpp | |
| parent | cbeea5b9549062b440c1ae05989892c22abc8c79 (diff) | |
[loader] change ASLR algo to be more uniform (#3869)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3869
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src/core/loader/nro.cpp')
| -rw-r--r-- | src/core/loader/nro.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp index e7c5ac01b1..738d805149 100644 --- a/src/core/loader/nro.cpp +++ b/src/core/loader/nro.cpp @@ -242,9 +242,8 @@ static bool LoadNroImpl(Core::System& system, Kernel::KProcess& process, }(); // TODO: this is bad form of ASLR, it sucks - size_t aslr_offset = ((::Settings::values.rng_seed_enabled.GetValue() - ? ::Settings::values.rng_seed.GetValue() - : Common::Random::Random64(0)) * 0x734287f27) & 0xfff000; + std::uintptr_t aslr_offset = ((::Settings::values.rng_seed_enabled.GetValue() + ? ::Settings::values.rng_seed.GetValue() : Common::Random::Random64(0)) << 12) & 0xfff000; // Setup the process code layout if (process |
