haekb / nolf1-modernizer

The goal of NOLF Modernizer is to help fix some long standing bugs, and update some more outdated features of the game.
https://haekb.itch.io/nolf-modernizer
48 stars 12 forks source link

Does not work on my system with vulnerability safeguards #56

Open BreakinBenny opened 1 year ago

BreakinBenny commented 1 year ago

It is no longer possible to get ahold of just the Visual C++ 2019 Redist, and frankly that prompts me to believe Modernizer should be recompiled from the 2015-2022 Redist to allow functionality with the latter even if it'll mean replacing the no longer downloadable thing.

Because of this problem, the game always crashes when I try to play using this mod. Please fix, otherwise people like myself will have to make do with alternative widescreen mods.

BreakinBenny commented 1 year ago

Heya @haekb and @DanielGibson, I think you might be aware of a notable issue with the Modernizer on today's Windows 10 and 11 machines, namely that it currently trips vulnerability safeguards and thus prevents me and Eliteone from playing with this mod because Haekb coded the latest available version strangely.

I hope for the next update fixing that stuff.

DanielGibson commented 1 year ago

It is no longer possible to get ahold of just the Visual C++ 2019 Redist, and frankly that prompts me to believe Modernizer should be recompiled from the 2015-2022 Redist ...

The redist is available here: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 That one works with programs compiled with any version of VS2015 - VS2022

I think you might be aware of a notable issue with the Modernizer on today's Windows 10 and 11 machines, namely that it currently trips vulnerability safeguards

I'm not aware, can you be more specific? Ideally post screenshots of the errors you're getting

BreakinBenny commented 1 year ago

It is no longer possible to get ahold of just the Visual C++ 2019 Redist, and frankly that prompts me to believe Modernizer should be recompiled from the 2015-2022 Redist ...

The redist is available here: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 That one works with programs compiled with any version of VS2015 - VS2022

I think you might be aware of a notable issue with the Modernizer on today's Windows 10 and 11 machines, namely that it currently trips vulnerability safeguards

I'm not aware, can you be more specific? Ideally post screenshots of the errors you're getting

Fortunately, after getting the Redists I wound up learning after experimenting with my vulnerability safeguards that VC++ wasn't defect. I received absolutely no error messages; NOLF just wouldn't run with the current version of Modernizer unless I set up exceptions for the lithtech.exe. Currently, it either trips the Control Flow Guard, Data Execution Protection, forced randomizing of images, memory allocation, ASLR with high entropy, verifying exception chains, the heap integrity, or a combination of the above. I set up 19 exceptions from the application settings. image

DanielGibson commented 1 year ago

Are those security settings enabled by default? If so, does it help to run the application in compatibility mode (for WinXP)?

Do you think those problems really come from the Modernizer (which only provides a few DLLs), or maybe lithtech.exe - the engine - itself (which probably the original one from the game, at least it's not built from the source in this repository). Does the game start (without disabling the security stuff) if you use an older version of Modernizer or even the plain old game without any mods?

BreakinBenny commented 1 year ago

Yes, I have them on by default. I also do not utilize compatibility mode.

I do think it comes from the Modernizer mod, as when I play with just the Lithtech.exe provided in the latest one, I don't suffer any problems. Modernizer's 1.005 version works wonders if I leave the vulnerability safeguards active, even if it means missing out on multiplayer.

BreakinBenny commented 1 year ago

@DanielGibson Any luck?