PeterTh/gedosato

GeDoSaTo new version injection compatibility tracking

Closed this issue · 29 comments

This is used to hopefully track down compatibility issues.

Please post here if the new version doesn't work for you, but also if it does (though I don't expect many people for whom it works to take the time to post).

Also please perform a clean new install of the latest GeDoSaTo version before writing your report.

Include:

  • Your Windows OS version and language.
  • Your GeDoSaTo install directory.
  • A short hardware description.
  • Whether you are running any other injectors or programs intercepting DirectX.
  • Whether you are running any anti-virus software.
  • The games you tested with.

Your Windows OS version and language.
Windows 10 x 64 / English

Your GeDoSaTo install directory.
C:\GeDoSaTo

A short hardware description:
AMD Radeon R9 380, Latest AMD Stable Drivers
AMD Software was installed with defaults, have never gone in or modified anything.

Whether you are running any other injectors or programs intercepting DirectX.
None, I only ever use GeDoSato.

Whether you are running any anti-virus software.
Built in Windows Defender Software on Windows 10 only, checked logs no history of quarantine on any GeDoSato files.

The games you tested with
Tales of Zestiria (Only game I have installed at the moment)

tested and updated to 11/2 version just posted to today, same issue. Verified the files updated and did full reboot/delete when reinstalling too to be sure.

Your Windows OS version and language:

  • Windows 10 Pro x 64 / English

Your GeDoSaTo install directory:

  • C:\GeDoSaTo (Would not inject at all when installed to C:\Program Files (x86)\GeDoSaTo)

A short hardware description:

  • GTX 680 w/ GeForce Driver 358.50
  • i7-3820
  • 16GB RAM

Whether you are running any other injectors or programs intercepting DirectX:

  • No. I uninstalled all mods/injectors before testing.

Whether you are running any anti-virus software:

  • Bitdefender Total Security 2015

The games you tested with:

  • Tales of Zestiria (Crashes before initial splash screen, puts an ERROR.txt into game directory)
  • Lords of the Fallen (Won't inject)
  • Metal Gear Solid V: The Phantom Pain (Won't inject)
  • Final Fantasy XIII (Works)
  • Naruto Shippuden: Ultimate Ninja Storm Revolution (Works)
  • Samurai Warriors 4-II (Works)

This is what is inside the ERROR.txt for Tales of Zestiria:

Could not read the install location from the registry.
Make sure to extract the downloaded files to a suitable location and run GeDoSaToTool.exe

I tested using version 19.1961. Can confirm I started having the issue with Tales of Zestiria with the "Chaos Flare" releases. Currently using 18.1912 when I play that game with no problems.

Your Windows OS version and language.

Windows 10 Home, 64-bit, Version 10240, English (United States)

Your GeDoSaTo install directory.

C:\Users\slx\Downloads\Tools\GeDoSaTo\

A short hardware description.

i7 6700k, 8GB RAM, GTX 680 with 353.62, 1080p@120hz

Whether you are running any other injectors or programs intercepting DirectX.

For some games I using the Steam Overlay if that counts.

Whether you are running any anti-virus software.

Just the built in Windows Defender.

The games you tested with.

Works:
* Battlefield: Bad Company 2 (DX9)
* Blacklight: Retribution (DX9)
* Dark Souls 2
* Devil May Cry 4 (DX9)
* Halo: Combat Evolved
* Mirror's Edge
* The Elder Scrolls V: Skyrim

Doesn't Work:
* Command & Conquer 3: Tiberium Wars
* Counter-Strike: Global Offensive
* The Skyrim Launcher (makes it impossible to actually change the resolution without editing the ini file)

Also, I'm running UAC at level 2 if that makes any difference.

Edit:
Whoopsie, forget the Skyrim Launcher thing, turns it just doesn't allow above 1080p in windowed mode or something?

I'm getting no errors or anything. Neither hotkeys work nor it will hook. It used to work fine before updating to version 0.19. I have also done fresh install with no success.

Your Windows OS version and language.

  • Windows 10 Pro, 64-bit, Version 10240, English (United States)

Your GeDoSaTo install directory.

  • C:\GeDoSaTo

A short hardware description.

  • i7 6700k, 16GB RAM, GTX 780 with 358.50, 1080p@60hz

Whether you are running any other injectors or programs intercepting DirectX.

  • Nope.

Whether you are running any anti-virus software.

  • Malwarebytes Anti-Malware Premium + Windows Defender.

The games you tested with.

  • Final fantasy XIII & Tales of Zestiria

Your Windows OS version and language.
Windows 10 Pro x64 English

Your GeDoSaTo install directory.
C:\GeDoSaTo

A short hardware description.
i7 5930k, 32GB DDR4, GTX 980 Ti at 358.50, 1080p@60Hz

Whether you are running any other injectors or programs intercepting DirectX.
Nothing specific, but I would think both Steam and Nvidia Geforce Experience interfere at some level for my games

Whether you are running any anti-virus software.
Windows Defender

The games you tested with.
Tales of Zestiria

Someone pointed out that Windows 8.1 and later do not support AppInit_DLLs if "secure boot" is enabled. So you could try disabling that if you have it on. (https://technet.microsoft.com/en-us/library/dn481258.aspx)

Win 7 x64 English
D:\My Files\Programs\GeDoSaTo
5870 cat. 15.5 beta
No.
MSE.
Spellforce 2, Trine 2, Stalker: SoC.

I moved it to D:\GeDoSaTo and for some reason it started to inject and work, but:

  1. ProcessExplorer reported GeDoSaTo.dll injected, and not gedoshim.dll. Not sure if it's right.
  2. Trine 2 was sped up like crazy.
  3. Deactivating or\and exiting gedosato tool didn't uninject GeDoSaTo.dll and it continued to work.

I disabled Secure Boot and it was working again. I am on Windows 10 x64 Pro, so I guess that is what the root of the problem probably was.

Good to hear. If I there are more reports of this solving the issue I'll add it to the webpage/readme.

Answers to MSxDOS:

ProcessExplorer reported GeDoSaTo.dll injected, and not gedoshim.dll. Not sure if it's right.

This is the intended behaviour. gedoshim is only there for microseconds to decide whether or not to load gedosato.

Trine 2 was sped up like crazy.

Yes, we have a separate issue for this problem and I'll look into it.

Deactivating or\and exiting gedosato tool didn't uninject GeDoSaTo.dll and it continued to work.

This is intended behaviour, it will just not be injected in future processes. Uninjecting after loading would invariably result in crashes.

Well that'd make sense since I had to disable Secure Boot to move my old Windows installation to my new mobo.

Weird for me, I disabled SecureBoot, and now Tales won't even open with it. Deactivated opens and plays fine.

Windows 10 Home | Nvidia GTX 970m on Asus laptop

Disabling Secure Boot seems to have resolved my Dark Souls II injection issue with this release.

I've moved the install location away from the C:\ default after the Secure Boot change, as well. Install path does not seem to be a contributing issue. It is working regardless of install directory or drive for me now.

I already had Secure Boot disabled, but for me, moving Gedo away from Program Files fixed the problem. Granting it admin rights made no difference, it simply wouldn't work from Program Files. I'm on Win10 x64 Pro with lowest level of UAC (not outright disabled cause it breaks stuff in Win10 unfortunately). Since I installed Win10 I only tested it with Zestiria BTW.

Edit: Reading below comments I realized I forgot to say all my games are in C:\Games
Program Files permissions does seem to be the cause here.

The whitelist is case sensitive for me, if I type the name in the incorrect case (i.e. not identical to the exe) I don't get any injection. I tried changing the case back and forth a couple of times in two different games and it's 100% reproducible. This wasn't the case in the older version.
I'm on Windows 8.1 x64.

Update: In a third game (Castlevania LOS) I had to put the name in all lowercase to get injection, hence it's not necessarily the same as the exe (which is mixed case).

I had secure boot disabled already, but for the sake of testing I enabled it. Can confirm nothing would inject at all.

With it disabled I still can't get Tales of Zestiria or the the other games working though.

Edit: Just got Zestiria working. Had to move the game directory out of Program Files and into just C:.

2 hours ago, I update to 0.19.1961 build on 2015/11/02 20:32:39
lt doesn't work now. (any game)
before this build, 0.19.XXXX is still work
I had forgot the build number...
and backup.
so... where are my old version ?

Windows 10 Enterprise Insider Preview Build 10576 (x64)

So, I think what we found so far is that (1) secure boot certainly needs to be disabled on Windows 8+, and (2) that if something still doesn't work people should install GeDoSaTo to some other directory than "Program files".

Thanks for all the testing everyone.

Yep, I can confirm that disabling secure boot solved the problem. Atleast for me.

Thanks for your co-operation everyone.

Update: In a third game (Castlevania LOS) I had to put the name in all lowercase to get injection, hence it's not necessarily the same as the exe (which is mixed case).

The function GetModuleFileName (used in gedoshin) retrieve the process name the way it was loaded.

For example, Bioshock, if launched from steam will be loaded as
C:~~\bioshock.exe (the process name is all lowercase).

But if its launched by clicking on the file, it is loaded as
C:~~\Bioshock.exe (first letter uppercase).

So the default whitelist works in the second case but not in the first.

From the documentation on msdn:

The string returned will use the same format that was specified when the module was loaded

One way to know the "load format" is to configure the Task Manager to show it:
On the Processes tab right click on "Name" and select "Command line"

I am getting full functionality with Final Fantasy 13, however, I cannot get anything to work with Tales of Zestiria. The log file for Tales just says "CreateTexture Override" many times. Anyone have any ideas? I am on Windows 10.

bVork commented

Operating System: Windows 7 64-bit, English but running in Japanese locale
Install directory: C:\GeDoSaTo
Hardware description: i7 4790k, 16gb ram, Radeon R9 290 (4gb) using Catalyst 15.7 drivers
Any other injectors? RadeonPro, but exiting it and disabling the service changes nothing.
Antivirus: Avast. Again, I tried disabling it and nothing changed.

Tested games:
Valkyria Chronicles - Runs but won't acknowledge the existence of resolutions beyond 1920x1080.
Dreamfall: The Longest Journey - Runs but won't acknowledge the existence of resolutions beyond 1920x1080.
Darksiders 2 (both original release and the new Deathinitive Edition) - Runs but won't acknowledge the existence of resolutions beyond 1920x1080.

The previous version ("Disharmonized Genesis") has no problems with all three of the above games.

Windows 8.1 64-bit English
C:\GeDoSaTo
Intel Core i5-3210M, 8GB RAM, GeForce GT 640M
No other programs with DirectX injection
BitDefender Total Security
Tested with Assassins Creed 2 and Witcher 2. Injection was working prior to update.

I just confirmed that Gedosato doesn't inject at all if there are spaces in its path:
D:\GeDoSaTo\ works, but D:\GeD oSaTo\ does not. It wasn't the case with the old injection mechanism, so something got broken obviously.

Windows 7 64-bit Ultimate

Non-system drive: E:\Users\My Name\My Documents\Games\MAIN\GeDoSaTo

P570WM GTX 980M I7-4960X

Only Reshade

Malwarebytes Antimalware, Super-AntiSpyware, WinPatrol, Microsoft Security Essentials
(Not a single one of them are blocking anything from Gedostao)

FFXIII, Tales of Vesperia, Street Fighter IV games, etc. Injection was working prior to update. But less games than when Gedo first started out for some reason. Was using update before the one that disabled FFXIII plugin. It always worked great for most games up until a couple months ago.

Note: Start with windows has never worked. Whether it's on a standard account OR an Admin account. I have to create a bat file in the Startup folder in order for it to work but then there is still an admin prompt that arises. Funny thing is, Intel XTU isn't per app overclocking correctly anymore. Hopefully the issues aren't related and hopefully a windows update hasn't messed something up.

I'm closing this, since 3 major reasons for incompatibilities with the new version were identified and fixed/mitigated. If you still experience injection problems, create a new issue for them.

In build 1987 all the injection\speed up issues I had are fixed. Thanks.

Sigh, microsoft counter prductive locking out applinit_dlls on secure boot, the function has nothing to do with bootloaders, so now if people need that function we have to make our pc's more vulnerable.

Peter is there any way to inject without using appinit_dlls in future?

ok I found a fix/workaround.

Another developer had made a d3d9.dll injector for a game, and I discovered in d3d9.ini if I add these lines gedosato works.

[Import.GeDo]
Architecture=Win32
Filename=D:\GeDoSaTo\gedoshim.dll
Role=ThirdParty
When=Early

I tested it on a few dx9 games and worked fine, so a workaround for secureboot is maybe to have a d3d9.dll piggyback the gedoshim.dll.

WiS3 commented

Your Windows OS version and language.

  • Windows 10 x64 Anniversary Edition - Italian

Your GeDoSaTo install directory.

  • C:\GeDoSaTo\

A short hardware description.

  • Pentium G3220
  • 12GB DDR3
  • GTX750
  • Asrock H87 Fatal1ty performance
  • SSD 256GB Kingston Fury

Whether you are running any other injectors or programs intercepting DirectX.

  • Not that i know, I removed SweetFX/Reshade before trying.
  • Also have Nvidia Share

Whether you are running any anti-virus software.

  • Windows Defender

The games you tested with.

  • World of Warcraft: Legion - Patch 7.1 - tried with both 32/64bit, both DX9/DX11

error