Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for multiple splashscreens and AC. #61

Merged
merged 4 commits into from
Oct 22, 2022
Merged

Fixes for multiple splashscreens and AC. #61

merged 4 commits into from
Oct 22, 2022

Conversation

Segergren
Copy link
Contributor

This implementation works (surprising) well on all my installed games (Yes, I tested all).
The most significant improvement is the File Description check that checks if the description includes one of the banned words (launcher, splashscreen, cheat), see photo.
image

@Segergren
Copy link
Contributor Author

Checking the "Copyright" variable in the FileInfo might be a good way to improve the AutoDetecter in the future.

+ also give mainwindowtitle instead of handle id in logger
string gameTitle = GetGameTitle(executablePath);

FileVersionInfo fileInformation = FileVersionInfo.GetVersionInfo(executablePath);
bool hasBadWordInDescription = fileInformation.FileDescription != null ? splashList.Where(bannedWord => fileInformation.FileDescription.ToLower().Contains(bannedWord)).Any() : false;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this with an EAC game (Marauders) and found that the FileDescription is returning null, even though the file properties are filled out. I even checked to see ProductName and it also returns null. I think this might have something to do with EAC preventing us from looking at file properties?

Maybe if fileInformation.FileDescription == null, just return true? Would there be any cases where it would cause problems?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevermind, it does cause problems. In my case, EAC also prevented me from checking the actual game executable's properties as well.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To note, I'm not running with elevated privileges, and I didn't try it with them since I don't think RePlays should or need to run with elevated privileges to work. I also only tested this with one EAC game, so I can't say for others.

Are you able to see if you were able to test to see if FileDescription was null or empty? I noticed most fields were empty for the game I was testing, only useless details were not null, like the product/file version.

@lulzsun
Copy link
Owner

lulzsun commented Oct 22, 2022

I will approve it anyways since this is a good implementation. We will have to look back at this in the future.

@lulzsun lulzsun merged commit 6d423c1 into lulzsun:main Oct 22, 2022
@Segergren Segergren deleted the AntiCheat-and-Splashscreens-fix branch March 7, 2023 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants