Welcome, Guest.
Username: Password: Remember me

TOPIC: Having .dll in a different place from game's .exe?

Having .dll in a different place from game's .exe? 1 month 2 days ago #1

I'm playing Dauntless and in their latest patch they implemented an "easy-anti-cheat" program, which seems to block the game from launching if any unrecognized .dlls are present in the game launcher's folder; meaning I can no longer use ReShade for the game.

Is there a way to have the ReShade .dll file in a different path from my game's .exe? Or otherwise a way to change the .dll's file format and have it keep working? (it seems to only block the .dll file according to my experiments).

Thanks in advance :)
The administrator has disabled public write access.

Having .dll in a different place from game's .exe? 1 month 16 hours ago #2

There are ways to force injection, but I would not recommend that as anything like that could be viewed as cheating from their limited technical viewpoint. Have you tried using a little older version of ReShade? It can take some time for a DLL to get whitelisted; even though there is no guarantee, some games may prevent you from using "foreign objects" altogether.
Xeon E3-1231 v3, MSI GTX 970 @1446/3903 MHz, 16 GB DDR3-1600
The administrator has disabled public write access.

Having .dll in a different place from game's .exe? 1 month 2 hours ago #3

Another option is to use SpecialK, which has a runtime injection method as well as optionally DLL hooking. The runtime method should bypass whatever dll checks the game is doing. Then, SpecialK has a special function to chain-load Reshade, it's part of the options.

A good place to start is probably here:
steamcommunity.com/groups/SpecialK_Mods

Current release:
github.com/Kaldaien/SpecialK/releases/tag/sk_0_10_2

Note it's easy to use but comes with a lot of options, and it's worth reading up as much as you can. On its own SpecialK can fix performance issues with a lot of games, but like Reshade each game usually needs its own set of the right bells and whistles toggled.
The administrator has disabled public write access.

Having .dll in a different place from game's .exe? 4 weeks 2 days ago #4

I don't believe ReShade 0.10.x loads ReShade 4.0 although I've only really tested the local injection (SpecialK usually as DXGI.dll and ReShade loaded through proxy.) though the custom version of ReShade that Kaldaien also made for SpecialK does work although this is based on 3.0.8 so a few tweaks could be required and features from 4.0 might not be working at all for any shaders relying on these. :)

Not entirely sure as to why and how this has broken although my current idea is that it's a difference of the ImGUI framework which SpecialK updated to one of the 0.7 WIP versions and ReShade is on 0.6 so that could be why it breaks until updated once 0.7 is finalized perhaps.
(SpecialK loads up 0.7 and then ReShade tries loading 0.6 and it just hangs or stops. Been wondering about recompiling the .dll with the newer core components of ImGUI but I don't think it's quite that easy.)

SpecialK doesn't support Vulkan or D3D12 either and it's custom ReShade build is stripped down to where Special K is handling a lot of the functionality so you don't lose all too much but some improvements from 4.0 and later such as the faster compile time for shaders and depth buffer detection improvements and workarounds will be lost to name some features.


Custom proxy loading via other utilities for this purpose could also be a option without a full program suite following with but I am not very well versed in what's available aside from maybe the old ENB injector if that's still compatible. (32-bit only?)
Last Edit: 4 weeks 2 days ago by JBeckman.
The administrator has disabled public write access.

Having .dll in a different place from game's .exe? 4 weeks 1 day ago #5

If EAC (easy anti cheat) is blocking the DLL it doesn't matter where it comes from. Just make sure you use the most recent ReShade version, EAC has whitelisted that one.
Cheers, crosire =)
The administrator has disabled public write access.

Having .dll in a different place from game's .exe? 4 weeks 1 day ago #6

@crosire  Not if developers don't include the latest EAC version in their game. In this case it could still not work.

On For Honor I'm still using version 3.4.0 'cause any other version above gets blocked by EAC.
The administrator has disabled public write access.

Having .dll in a different place from game's .exe? 4 weeks 22 hours ago #7

Yeah unfortunately the little bin file or what it is that has these updates is client side so if a game is no longer updated or if it doesn't update to include the latest whitelist it won't support the old versions.

SP/MP games where it's possible to disengage or break EAC for offline use is one way but for online such as For Honor which also has further server side checks it's going to need a whitelisted .dll and not much is going to change that unless a update adds a newer whitelist for what's allowed, patch would also be needed even if EAC were to change this to a server side file to ensure it always gets the latest version since that would need changes to how EAC works.
The administrator has disabled public write access.